Bug 1317382

Summary: xfce4-display-settings crashes with SIGSEGV
Product: [Fedora] Fedora Reporter: Jan Synacek <jsynacek>
Component: xfce4-settingsAssignee: Kevin Fenzi <kevin>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 24CC: kevin, nonamedotc, rjones, vitorjr81
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-08 13:07:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
bt full none

Description Jan Synacek 2016-03-14 07:32:41 UTC
Created attachment 1136083 [details]
bt full

Description of problem:
I get a crash when trying to run the display settings.


Version-Release number of selected component (if applicable):
xfce4-settings-4.12.0-7.fc24.x86_64


Steps to Reproduce:
1. Power on the computer (Lenovo T440) undocked, log in, put into dock.
2. From the XFCE menu, click Menu -> Settings -> Display


Actual results:
I can see the window flash on the screen. The logs reveal a segfault:

Stack trace of thread 2319:
#0  0x000055c2c26c94c5 convert_xfce_output_info (xfce4-display-settings)
#1  0x000055c2c26c9674 list_connected_outputs (xfce4-display-settings)
#2  0x000055c2c26cce62 on_area_paint (xfce4-display-settings)
#3  0x00007f4d993b2578 g_closure_invoke (libgobject-2.0.so.0)
#4  0x00007f4d993c5092 signal_emit_unlocked_R (libgobject-2.0.so.0)
#5  0x00007f4d993cdfac g_signal_emit_valist (libgobject-2.0.so.0)
#6  0x00007f4d993ce37f g_signal_emit (libgobject-2.0.so.0)
#7  0x000055c2c26d217c foo_scroll_area_expose (xfce4-display-settings)
#8  0x00007f4d9a17d54e _gtk_marshal_BOOLEAN__BOXED (libgtk-x11-2.0.so.0)
#9  0x00007f4d993b24cf g_closure_invoke (libgobject-2.0.so.0)
#10 0x00007f4d993c548d signal_emit_unlocked_R (libgobject-2.0.so.0)
#11 0x00007f4d993cdada g_signal_emit_valist (libgobject-2.0.so.0)
#12 0x00007f4d993ce37f g_signal_emit (libgobject-2.0.so.0)
#13 0x00007f4d9a2ae01c gtk_widget_event_internal (libgtk-x11-2.0.so.0)
#14 0x00007f4d9a0f57cc IA__gtk_container_propagate_expose (libgtk-x11-2.0.so.0)
#15 0x00007f4d9a0f417f gtk_container_expose (libgtk-x11-2.0.so.0)
#16 0x00007f4d9a17d54e _gtk_marshal_BOOLEAN__BOXED (libgtk-x11-2.0.so.0)
#17 0x00007f4d993b24cf g_closure_invoke (libgobject-2.0.so.0)
#18 0x00007f4d993c548d signal_emit_unlocked_R (libgobject-2.0.so.0)
#19 0x00007f4d993cdada g_signal_emit_valist (libgobject-2.0.so.0)
#20 0x00007f4d993ce37f g_signal_emit (libgobject-2.0.so.0)
#21 0x00007f4d9a2ae01c gtk_widget_event_internal (libgtk-x11-2.0.so.0)
#22 0x00007f4d9a0f57cc IA__gtk_container_propagate_expose (libgtk-x11-2.0.so.0)
#23 0x00007f4d9a0ba692 gtk_box_forall (libgtk-x11-2.0.so.0)
#24 0x00007f4d9a0f417f gtk_container_expose (libgtk-x11-2.0.so.0)
#25 0x00007f4d9a17d54e _gtk_marshal_BOOLEAN__BOXED (libgtk-x11-2.0.so.0)
#26 0x00007f4d993b24cf g_closure_invoke (libgobject-2.0.so.0)
#27 0x00007f4d993c548d signal_emit_unlocked_R (libgobject-2.0.so.0)
#28 0x00007f4d993cdada g_signal_emit_valist (libgobject-2.0.so.0)
#29 0x00007f4d993ce37f g_signal_emit (libgobject-2.0.so.0)
#30 0x00007f4d9a2ae01c gtk_widget_event_internal (libgtk-x11-2.0.so.0)
#31 0x00007f4d9a0f57cc IA__gtk_container_propagate_expose (libgtk-x11-2.0.so.0)
#32 0x00007f4d9a0ba692 gtk_box_forall (libgtk-x11-2.0.so.0)
#33 0x00007f4d9a0f417f gtk_container_expose (libgtk-x11-2.0.so.0)
#51 0x00007f4d9a0f417f gtk_container_expose (libgtk-x11-2.0.so.0)
#52 0x00007f4d9a17d54e _gtk_marshal_BOOLEAN__BOXED (libgtk-x11-2.0.so.0)
#53 0x00007f4d993b24cf g_closure_invoke (libgobject-2.0.so.0)
#54 0x00007f4d993c548d signal_emit_unlocked_R (libgobject-2.0.so.0)
#55 0x00007f4d993cdada g_signal_emit_valist (libgobject-2.0.so.0)
#56 0x00007f4d993ce37f g_signal_emit (libgobject-2.0.so.0)
#57 0x00007f4d9a2ae01c gtk_widget_event_internal (libgtk-x11-2.0.so.0)
#58 0x00007f4d9a0f57cc IA__gtk_container_propagate_expose (libgtk-x11-2.0.so.0)
#59 0x00007f4d9a0f417f gtk_container_expose (libgtk-x11-2.0.so.0)
#60 0x00007f4d9a17d54e _gtk_marshal_BOOLEAN__BOXED (libgtk-x11-2.0.so.0)
#61 0x00007f4d993b2578 g_closure_invoke (libgobject-2.0.so.0)
#62 0x00007f4d993c548d signal_emit_unlocked_R (libgobject-2.0.so.0)
#63 0x00007f4d993cdada g_signal_emit_valist (libgobject-2.0.so.0)

Stack trace of thread 2321:
#0  0x00007f4d981457bd poll (libc.so.6)
#1  0x00007f4d98679c06 g_main_context_poll (libglib-2.0.so.0)
#2  0x00007f4d98679f92 g_main_loop_run (libglib-2.0.so.0)
#3  0x00007f4d9752f2e6 gdbus_shared_thread_func (libgio-2.0.so.0)
#4  0x00007f4d986a0148 g_thread_proxy (libglib-2.0.so.0)
#5  0x00007f4d9841b58a start_thread (libpthread.so.0)
#6  0x00007f4d981515cd __clone (libc.so.6)

Stack trace of thread 2320:
#0  0x00007f4d981457bd poll (libc.so.6)
#1  0x00007f4d98679c06 g_main_context_poll (libglib-2.0.so.0)
#2  0x00007f4d98679d1c g_main_context_iteration (libglib-2.0.so.0)
#3  0x00007f4d98679d61 glib_worker_main (libglib-2.0.so.0)
#4  0x00007f4d986a0148 g_thread_proxy (libglib-2.0.so.0)
#5  0x00007f4d9841b58a start_thread (libpthread.so.0)
#6  0x00007f4d981515cd __clone (libc.so.6)


Expected results:
No crashes.

Comment 1 Kevin Fenzi 2016-03-14 19:57:23 UTC
If you then run it again, it comes up ok? 

Or does it now crash everytime you try and run it?

Comment 2 Jan Synacek 2016-03-15 07:09:49 UTC
It crashed everytime I tried to run it from the menu as I described. After I managed to run the display settings through the Setting Manager, I haven't had any crashes.

Comment 3 Kevin Fenzi 2016-03-16 18:28:01 UTC
Odd. There shouldn't be any difference between running it from the menu or the settings manager. ;( 

Will try and see what I can make of the traceback...

Comment 4 Richard W.M. Jones 2016-05-19 11:02:33 UTC
I can reproduce this bug very reliably.

(1) Plug in the external monitor.

(2) Open xfce4-display-settings from the menu.

(3) xfce4-display-settings window blinks open then crashes.

(4) You can repeat this for up to 20 seconds or so after the external
    monitor is plugged in, but after that it works fine, no crash.

Or:

(1) Start up xfce4-display-settings from the menu.

(2) Plug in the external monitor.

(3) xfce4-display-settings crashes.

(4) After perhaps 20 seconds of the external monitor being plugged in,
    xfce4-display-settings starts up and works as normal.

xfce4-settings-4.12.0-7.fc24.x86_64
kernel 4.4.4-301.fc23.x86_64 (forced to use this because of bug 1333453)

Stack trace with debugging enabled:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  convert_xfce_output_info (output_id=1) at main.c:1611
1611	    output->pref_width = preferred->width;
[Current thread is 1 (Thread 0x7fb7a4499a80 (LWP 16736))]
#0  0x000055ec57ac54c5 in convert_xfce_output_info (output_id=1) at main.c:1611
#1  0x000055ec57ac5674 in list_connected_outputs (total_w=0x7ffc69f42b74, total_h=0x7ffc69f42b74) at main.c:1786
#2  0x000055ec57ac8e62 in on_area_paint (area=0x55ec58513290, cr=0x55ec58549700, extent=<optimized out>, region=<optimized out>, data=<optimized out>)
    at main.c:2589
#3  0x00007fb7a2c133e8 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#4  0x00007fb7a2c25442 in signal_emit_unlocked_R ()
    at /lib64/libgobject-2.0.so.0
#5  0x00007fb7a2c2e08c in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#6  0x00007fb7a2c2e45f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#7  0x000055ec57ace17c in foo_scroll_area_expose (widget=widget@entry=0x55ec58513290, expose=0x55ec5856b0a0) at scrollarea.c:522
#8  0x00007fb7a39dd54e in _gtk_marshal_BOOLEAN__BOXED (closure=0x55ec583b3450, return_value=0x7ffc69f43380, n_param_values=<optimized out>, param_values=0x7ffc69f433e0, invocation_hint=<optimized out>, marshal_data=<optimized out>)
    at gtkmarshalers.c:86
#9  0x00007fb7a2c1333f in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#10 0x00007fb7a2c2583d in signal_emit_unlocked_R ()
    at /lib64/libgobject-2.0.so.0
#11 0x00007fb7a2c2dbba in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#12 0x00007fb7a2c2e45f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#13 0x00007fb7a3b0e01c in gtk_widget_event_internal (widget=widget@entry=0x55ec58513290, event=event@entry=0x55ec5856b0a0) at gtkwidget.c:5017
#14 0x00007fb7a3b0e3d1 in IA__gtk_widget_send_expose (widget=widget@entry=0x55ec58513290, event=event@entry=0x55ec5856b0a0) at gtkwidget.c:4846
#15 0x00007fb7a39557cc in IA__gtk_container_propagate_expose (container=<optimized out>, child=0x55ec58513290, event=0x55ec5856b4b0) at gtkcontainer.c:2757
#16 0x00007fb7a395417f in gtk_container_expose (widget=widget@entry=0x55ec583fe810, event=0x55ec5856b4b0) at gtkcontainer.c:2661
#17 0x00007fb7a39dd54e in _gtk_marshal_BOOLEAN__BOXED (closure=0x55ec583b3450, return_value=0x7ffc69f438d0, n_param_values=<optimized out>, param_values=0x7ffc69f43930, invocation_hint=<optimized out>, marshal_data=<optimized out>)
    at gtkmarshalers.c:86
#18 0x00007fb7a2c1333f in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#19 0x00007fb7a2c2583d in signal_emit_unlocked_R ()
    at /lib64/libgobject-2.0.so.0
#20 0x00007fb7a2c2dbba in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#21 0x00007fb7a2c2e45f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#22 0x00007fb7a3b0e01c in gtk_widget_event_internal (widget=widget@entry=0x55ec583fe810, event=event@entry=0x55ec5856b4b0) at gtkwidget.c:5017
#23 0x00007fb7a3b0e3d1 in IA__gtk_widget_send_expose (widget=widget@entry=0x55ec583fe810, event=event@entry=0x55ec5856b4b0) at gtkwidget.c:4846
#24 0x00007fb7a39557cc in IA__gtk_container_propagate_expose (container=<optimized out>, child=0x55ec583fe810, event=0x55ec5856b520) at gtkcontainer.c:2757
#25 0x00007fb7a391a692 in gtk_box_forall (container=<optimized out>, include_internals=<optimized out>, callback=0x7fb7a39557d0 <gtk_container_expose_child>, callback_data=0x7ffc69f43c80) at gtkbox.c:1251
#26 0x00007fb7a395417f in gtk_container_expose (widget=widget@entry=0x55ec583c9820, event=0x55ec5856b520) at gtkcontainer.c:2661
#27 0x00007fb7a39dd54e in _gtk_marshal_BOOLEAN__BOXED (closure=0x55ec583b3450, return_value=0x7ffc69f43e50, n_param_values=<optimized out>, param_values=0x7ffc69f43eb0, invocation_hint=<optimized out>, marshal_data=<optimized out>)
    at gtkmarshalers.c:86
#28 0x00007fb7a2c1333f in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#29 0x00007fb7a2c2583d in signal_emit_unlocked_R ()
    at /lib64/libgobject-2.0.so.0
#30 0x00007fb7a2c2dbba in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#31 0x00007fb7a2c2e45f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#32 0x00007fb7a3b0e01c in gtk_widget_event_internal (widget=widget@entry=0x55ec583c9820, event=event@entry=0x55ec5856b520) at gtkwidget.c:5017
#33 0x00007fb7a3b0e3d1 in IA__gtk_widget_send_expose (widget=widget@entry=0x55ec583c9820, event=event@entry=0x55ec5856b520) at gtkwidget.c:4846
#34 0x00007fb7a39557cc in IA__gtk_container_propagate_expose (container=<optimized out>, child=0x55ec583c9820, event=0x55ec5856b2d0) at gtkcontainer.c:2757
#35 0x00007fb7a391a692 in gtk_box_forall (container=<optimized out>, include_internals=<optimized out>, callback=0x7fb7a39557d0 <gtk_container_expose_child>, callback_data=0x7ffc69f44200) at gtkbox.c:1251
#36 0x00007fb7a395417f in gtk_container_expose (widget=widget@entry=0x55ec583c6740, event=0x55ec5856b2d0) at gtkcontainer.c:2661
#37 0x00007fb7a39dd54e in _gtk_marshal_BOOLEAN__BOXED (closure=0x55ec583b3450, return_value=0x7ffc69f443d0, n_param_values=<optimized out>, param_values=0x7ffc69f44430, invocation_hint=<optimized out>, marshal_data=<optimized out>)
    at gtkmarshalers.c:86
#38 0x00007fb7a2c1333f in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#39 0x00007fb7a2c2583d in signal_emit_unlocked_R ()
    at /lib64/libgobject-2.0.so.0
#40 0x00007fb7a2c2dbba in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#41 0x00007fb7a2c2e45f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#42 0x00007fb7a3b0e01c in gtk_widget_event_internal (widget=widget@entry=0x55ec583c6740, event=event@entry=0x55ec5856b2d0) at gtkwidget.c:5017
#43 0x00007fb7a3b0e3d1 in IA__gtk_widget_send_expose (widget=widget@entry=0x55ec583c6740, event=event@entry=0x55ec5856b2d0) at gtkwidget.c:4846
#44 0x00007fb7a39557cc in IA__gtk_container_propagate_expose (container=<optimized out>, child=0x55ec583c6740, event=0x55ec585149c0) at gtkcontainer.c:2757
#45 0x00007fb7a391a692 in gtk_box_forall (container=<optimized out>, include_internals=<optimized out>, callback=0x7fb7a39557d0 <gtk_container_expose_child>, callback_data=0x7ffc69f44780) at gtkbox.c:1251
#46 0x00007fb7a395417f in gtk_container_expose (widget=widget@entry=0x55ec583c6620, event=0x55ec585149c0) at gtkcontainer.c:2661
#47 0x00007fb7a39dd54e in _gtk_marshal_BOOLEAN__BOXED (closure=0x55ec583b3450, return_value=0x7ffc69f44950, n_param_values=<optimized out>, param_values=0x7ffc69f449b0, invocation_hint=<optimized out>, marshal_data=<optimized out>)
    at gtkmarshalers.c:86
#48 0x00007fb7a2c1333f in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#49 0x00007fb7a2c2583d in signal_emit_unlocked_R ()
    at /lib64/libgobject-2.0.so.0
#50 0x00007fb7a2c2dbba in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#51 0x00007fb7a2c2e45f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#52 0x00007fb7a3b0e01c in gtk_widget_event_internal (widget=widget@entry=0x55ec583c6620, event=event@entry=0x55ec585149c0) at gtkwidget.c:5017
#53 0x00007fb7a3b0e3d1 in IA__gtk_widget_send_expose (widget=widget@entry=0x55ec583c6620, event=event@entry=0x55ec585149c0) at gtkwidget.c:4846
#54 0x00007fb7a39557cc in IA__gtk_container_propagate_expose (container=<optimized out>, child=0x55ec583c6620, event=0x55ec58514a30) at gtkcontainer.c:2757
#55 0x00007fb7a391a692 in gtk_box_forall (container=<optimized out>, include_internals=<optimized out>, callback=0x7fb7a39557d0 <gtk_container_expose_child>, callback_data=0x7ffc69f44d00) at gtkbox.c:1251
#56 0x00007fb7a395417f in gtk_container_expose (widget=widget@entry=0x55ec583c66b0, event=0x55ec58514a30) at gtkcontainer.c:2661
#57 0x00007fb7a39dd54e in _gtk_marshal_BOOLEAN__BOXED (closure=0x55ec583b3450, return_value=0x7ffc69f44ed0, n_param_values=<optimized out>, param_values=0x7ffc69f44f30, invocation_hint=<optimized out>, marshal_data=<optimized out>)
    at gtkmarshalers.c:86
#58 0x00007fb7a2c1333f in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#59 0x00007fb7a2c2583d in signal_emit_unlocked_R ()
    at /lib64/libgobject-2.0.so.0
#60 0x00007fb7a2c2dbba in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#61 0x00007fb7a2c2e45f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#62 0x00007fb7a3b0e01c in gtk_widget_event_internal (widget=widget@entry=0x55ec583c66b0, event=event@entry=0x55ec58514a30) at gtkwidget.c:5017
#63 0x00007fb7a3b0e3d1 in IA__gtk_widget_send_expose (widget=widget@entry=0x55ec583c66b0, event=event@entry=0x55ec58514a30) at gtkwidget.c:4846
#64 0x00007fb7a39557cc in IA__gtk_container_propagate_expose (container=<optimized out>, child=0x55ec583c66b0, event=0x7ffc69f457f0) at gtkcontainer.c:2757
#65 0x00007fb7a395417f in gtk_container_expose (widget=0x55ec5837b040, event=0x7ffc69f457f0) at gtkcontainer.c:2661
#66 0x00007fb7a39dd54e in _gtk_marshal_BOOLEAN__BOXED (closure=0x55ec583b3450, return_value=0x7ffc69f45420, n_param_values=<optimized out>, param_values=0x7ffc69f45480, invocation_hint=<optimized out>, marshal_data=<optimized out>)
    at gtkmarshalers.c:86
#67 0x00007fb7a2c133e8 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#68 0x00007fb7a2c2583d in signal_emit_unlocked_R ()
    at /lib64/libgobject-2.0.so.0
#69 0x00007fb7a2c2dbba in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#70 0x00007fb7a2c2e45f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#71 0x00007fb7a3b0e01c in gtk_widget_event_internal (widget=widget@entry=0x55ec5837b040, event=event@entry=0x7ffc69f457f0) at gtkwidget.c:5017
#72 0x00007fb7a3b0e3d1 in IA__gtk_widget_send_expose (widget=widget@entry=0x55ec5837b040, event=event@entry=0x7ffc69f457f0) at gtkwidget.c:4846
#73 0x00007fb7a39dbe52 in IA__gtk_main_do_event (event=0x7ffc69f457f0)
    at gtkmain.c:1621
#74 0x00007fb7a361a9d2 in _gdk_window_process_updates_recurse (window=window@entry=0x55ec58362480, expose_region=expose_region@entry=0x7fb784006590)
    at gdkwindow.c:5479
#75 0x00007fb7a3652125 in _gdk_windowing_window_process_updates_recurse (window=window@entry=0x55ec58362480, region=region@entry=0x7fb784006590)
    at gdkwindow-x11.c:5643
#76 0x00007fb7a3617256 in gdk_window_process_updates_internal (window=window@entry=0x55ec58362480) at gdkwindow.c:5646
#77 0x00007fb7a3617d54 in IA__gdk_window_process_updates (window=0x55ec58362480, update_children=1) at gdkwindow.c:5818
#78 0x00007fb7a3b1eda8 in gtk_window_check_resize (window=0x55ec5837b040)
    at gtkwindow.c:6246
#79 0x00007fb7a3b1eda8 in gtk_window_check_resize (container=<optimized out>)
    at gtkwindow.c:5408
#80 0x00007fb7a2c13617 in _g_closure_invoke_va () at /lib64/libgobject-2.0.so.0
#81 0x00007fb7a2c2de08 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#82 0x00007fb7a2c2e45f in g_signal_emit () at /lib64/libgobject-2.0.so.0
#83 0x00007fb7a3953d80 in gtk_container_idle_sizer (data=<optimized out>)
    at gtkcontainer.c:1357
#84 0x00007fb7a35f571a in gdk_threads_dispatch (data=0x55ec584650e0)
    at gdk.c:534
#85 0x00007fb7a1eda803 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#86 0x00007fb7a1edabb0 in g_main_context_iterate.isra ()
    at /lib64/libglib-2.0.so.0
#87 0x00007fb7a1edaed2 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#88 0x00007fb7a39dac0a in IA__gtk_main () at gtkmain.c:1268
#89 0x000055ec57acaadc in display_settings_show_main_dialog (display=<optimized out>) at main.c:2816
#90 0x000055ec57ac4aa1 in main (argc=<optimized out>, argv=<optimized out>)
    at main.c:3118

Thread 2 (Thread 0x7fb790bfd700 (LWP 16738)):
#0  0x00007fb7a19a21cd in poll () at /lib64/libc.so.6
#1  0x00007fb7a1edab46 in g_main_context_iterate.isra ()
    at /lib64/libglib-2.0.so.0
#2  0x00007fb7a1edaed2 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#3  0x00007fb7a0d8d126 in gdbus_shared_thread_func () at /lib64/libgio-2.0.so.0
#4  0x00007fb7a1f00ea8 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#5  0x00007fb7a1c7b69a in start_thread () at /lib64/libpthread.so.0
#6  0x00007fb7a19ae08d in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7fb7913fe700 (LWP 16737)):
#0  0x00007fb7a19a21cd in poll () at /lib64/libc.so.6
#1  0x00007fb7a1edab46 in g_main_context_iterate.isra ()
    at /lib64/libglib-2.0.so.0
#2  0x00007fb7a1edac5c in g_main_context_iteration ()
    at /lib64/libglib-2.0.so.0
#3  0x00007fb7a1edaca1 in glib_worker_main () at /lib64/libglib-2.0.so.0
#4  0x00007fb7a1f00ea8 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#5  0x00007fb7a1c7b69a in start_thread () at /lib64/libpthread.so.0
#6  0x00007fb7a19ae08d in clone () at /lib64/libc.so.6

(gdb) list
1606	    output->y = y;
1607	    output->user_data = NULL;
1608	    output->display_name = xfce_randr->friendly_name[output_id];
1609	    output->connected = TRUE;
1610	    output->on = xfce_randr->mode[output_id] != None;
1611	    output->pref_width = preferred->width;  /* crash here */
1612	    output->pref_height = preferred->height;
1613	    if (output->on)
1614	    {
1615	        output->rotation = xfce_randr->rotation[output_id];

(gdb) print *output
$1 = {
  id = 0, 
  display_name = 0x0, 
  on = 0, 
  connected = 0, 
  mirrored = 0, 
  x = 0, 
  y = 0, 
  width = 0, 
  height = 0, 
  pref_width = 0, 
  pref_height = 0, 
  rotation = 0, 
  rate = 0, 
  user_data = 0x0
}

(gdb) print *preferred
Cannot access memory at address 0x0

Comment 5 Richard W.M. Jones 2016-05-19 11:05:35 UTC
The code just before the failure is:

1592	static XfceOutputInfo *convert_xfce_output_info (gint output_id)
1593	{
1594	    XfceOutputInfo *output;
1595	    const XfceRRMode *mode, *preferred;
1596	    RRMode preferred_mode;
1597	    gint x, y;
1598	
1599	    xfce_randr_get_positions(xfce_randr, output_id, &x, &y);
1600	    mode = xfce_randr_find_mode_by_id (xfce_randr, output_id, xfce_randr->mode[output_id]);
1601	    preferred_mode = xfce_randr_preferred_mode(xfce_randr, output_id);
1602	    preferred = xfce_randr_find_mode_by_id (xfce_randr, output_id, preferred_mode);
1603	    output = g_new0 (XfceOutputInfo, 1);
1604	    output->id = output_id;
1605	    output->x = x;

I'm guessing that xfce_randr_find_mode_by_id is returning NULL
because of some error and we ought to handle that instead of
continuing.

Comment 6 Richard W.M. Jones 2016-05-19 11:05:53 UTC
*** Bug 1287718 has been marked as a duplicate of this bug. ***

Comment 7 Kevin Fenzi 2016-05-20 19:20:01 UTC
*** Bug 1337269 has been marked as a duplicate of this bug. ***

Comment 8 Kevin Fenzi 2016-05-20 19:24:35 UTC
Great detective work. ;) 

Would you be willing to file this upstream? If not, I can do so...

Comment 9 Richard W.M. Jones 2016-05-20 19:32:33 UTC
I'll file it upstream.

Comment 10 Fedora End Of Life 2017-07-25 20:19:12 UTC
This message is a reminder that Fedora 24 is nearing its end of life.
Approximately 2 (two) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 24. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '24'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 24 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 11 Fedora End Of Life 2017-08-08 13:07:25 UTC
Fedora 24 changed to end-of-life (EOL) status on 2017-08-08. Fedora 24 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.