Bug 1196044
| Summary: | gnome-settings-deamon hitting segment fault | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | jigar <jraising> | ||||||||||
| Component: | gnome-settings-daemon | Assignee: | Bastien Nocera <bnocera> | ||||||||||
| Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> | ||||||||||
| Severity: | medium | Docs Contact: | |||||||||||
| Priority: | medium | ||||||||||||
| Version: | 6.4 | CC: | jraising, lwei, mclasen, tpelka, wkong, zzhou | ||||||||||
| Target Milestone: | rc | ||||||||||||
| Target Release: | --- | ||||||||||||
| Hardware: | x86_64 | ||||||||||||
| OS: | Linux | ||||||||||||
| Whiteboard: | |||||||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||||||
| Doc Text: | Story Points: | --- | |||||||||||
| Clone Of: | Environment: | ||||||||||||
| Last Closed: | 2016-05-11 01:14:01 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: | |||||||||||||
| Bug Depends On: | |||||||||||||
| Bug Blocks: | 1172231, 1271696 | ||||||||||||
| Attachments: |
|
||||||||||||
It would be helpful in the future, if the bug went through SEG so that the problem can be triaged. The bug is missing information about the version of the various libraries involved (gnome-settings-daemon and gnome-desktop versions at the very minimum). It would also have been helpful to know which graphics driver the customer was using. I'm guessing it's one that doesn't support XRandR. It seems that the customer is pressing the "Fn+F7" key (that's usually a way to trigger video outputs to be checked), so the immediate mitigation would be to stop doing that, and use xrandr in the meantime. Created attachment 1009432 [details]
Install rpm packages info on that system
Created attachment 1009433 [details]
lspci
Created attachment 1009434 [details]
modinfo from that system
Created attachment 1009435 [details]
Xorg
Request info: These informations are comes from the sosreport of that system which encounter this problem. 1. The gnome-settings-daemon and gnome-desktop version is here: gnome-settings-daemon-2.28.2-30.el6.x86_64 gnome-desktop-2.28.2-11.el6.x86_64 For all other packages versions, please refer to the file attachment "installed-rpms". 2. The customer is using Matrox graphics card. 01:00.1 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200EH See the file attachment "lspci" for detail. 3. This Matrox graphics card driver is xorg-x11-drv-mga-1.6.1-7.el6.x86_64. 4. I attach the xorg log file to this case also, for your reference. 5. ccpp-2015-01-20-14_3A19_3A45-62345.zip Reproducible Steps: 1. While this error message occur, customer is remoting into this system by a XManager client. This maybe relative. 2. We could not reproduce this problem at this moment, even we remote into this system, and Press "Fn + F7". 3. This error message abrtd info only once so far as I know. BR, Nolan Wai I'm guessing there's no support for XRandR on that device. Nevertheless, it is indeed possible for the D-Bus objects to be registered (and thus called) when screens cannot be detected.
In _new():
2092 if (!register_manager_dbus (manager_object)) {•
And in start():
1897 manager->priv->rw_screen = gnome_rr_screen_new (•
1898 gdk_screen_get_default (), on_randr_event, manager, error);•
1899 •
1900 if (manager->priv->rw_screen == NULL)•
1901 return FALSE;•
handle_fn_f7() will then be called, with manager->priv->rw_screen == NULL.
We need to review all of the plugin's entry points and ensure that we bail when rw_screen is NULL.
Hi Bastien and Bugzilla Engineer team, Any update after you review all these data/information I provided? I hope we can more this bugzilla ticket forward. Some suggestion/findings are welcomed. BR, Nolan Wai (In reply to Nolan Wei from comment #12) > Hi Bastien and Bugzilla Engineer team, > > Any update after you review all these data/information I provided? I hope we > can more this bugzilla ticket forward. Some suggestion/findings are > welcomed. There's nothing to add. The crash happens because the user is pressing the "Fn+F7" key (the "check for external displays" key on non-Thinkpad laptops), and the graphics card doesn't have XRandR support. You should verify that this is the case, and possibly disable the "xrandr" gnome-settings-daemon plugin if that's the case. Thanks for the reply. I already sent the steps to user, about disable the "xrandr" gnome-settings-daemon plugin. But, for the condition/steps to trigger this issue, "the 'Fn+F7' key and graphics card doesn't have XRandR support", could this define as BUG? Or this is a work as design trigger condition? Because user want to know the detail date of how this BUG(if yes) could be fixed. It will be fixed in RHEL 6.7 if Product Management thinks it's a big enough problem. The right way to fix this is to ask NVidia to support XRandR. Whatever we do is going to make those functionalities a stub. (In reply to Nolan Wei from comment #14) > Thanks for the reply. I already sent the steps to user, about disable the > "xrandr" gnome-settings-daemon plugin. > how to setting? > But, for the condition/steps to trigger this issue, "the 'Fn+F7' key and > graphics card doesn't have XRandR support", could this define as BUG? Or > this is a work as design trigger condition? > > Because user want to know the detail date of how this BUG(if yes) could be > fixed. Use this command, to disable the xrandr" gnome-settings-daemon plugin: # gconftool-2 -s /apps/gnome_settings_daemon/plugins/xrandr/active -t bool false To make sure whether the "xrandr" plugin has been disabled, use this command: # gconftool-2 --get /apps/gnome_settings_daemon/plugins/xrandr/active false If system rebooted, this setting will persistent. On the other hand, NVidia support XRandR will be another way to fix this issue, then while Fn+F7 to make gnome switch mode will not trigger any problem. gnome-settings-daemon-2.28.2-33.el6 should fix the crash. Waiting on feedback about this... Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-0962.html |
Description of problem:From system message log, customer can see the following info: Jan 20 14:19:45 CncZOmmBld16 kernel: gnome-settings-[62345]: segfault at 10 ip 000000382461b850 sp 00007fffa799a840 error 4 in libgnome-desktop-2.so.11.4.2[3824600000+28000] Jan 20 14:19:45 CncZOmmBld16 abrtd: Directory 'ccpp-2015-01-20-14:19:45-62345' creation detected Jan 20 14:19:45 CncZOmmBld16 abrt[62615]: Saved core dump of pid 62345 (/usr/libexec/gnome-settings-daemon) to /var/spool/abrt/ccpp-2015-01-20-14:19:45-62345 (13602816 bytes) ...... Jan 20 14:19:56 CncZOmmBld16 abrtd: Sending an email... Jan 20 14:19:56 CncZOmmBld16 abrtd: postdrop: warning: unable to look up public/pickup: No such file or directory Jan 20 14:19:56 CncZOmmBld16 abrtd: Email was sent to: root@localhost Jan 20 14:19:56 CncZOmmBld16 abrtd: New problem directory /var/spool/abrt/ccpp-2015-01-20-14:19:45-62345, processing And from the "/var/spool/abrt/ccpp-2015-01-20-14:19:45-62345" directory, it said gnome-settings-daemon was killed by signal 11, it measn gnome-settings-deamon have a segment fault and try to access invalid memory address, then trigger abrtd to generate a coredump for gnome-settings-deamon. Version-Release number of selected component (if applicable): How reproducible:Sometimes Backtrace: Program terminated with signal 11, Segmentation fault. #0 gnome_rr_screen_refresh (screen=0x0, error=0x7fffa799a8a8) at gnome-rr.c:813 813 XGrabServer (screen->xdisplay); (gdb) bt #0 gnome_rr_screen_refresh (screen=0x0, error=0x7fffa799a8a8) at gnome-rr.c:813 #1 0x00007f969206538e in handle_fn_f7 (manager=<value optimized out>, timestamp=<value optimized out>, error=<value optimized out>) at gsd-xrandr-manager.c:961 #2 gsd_xrandr_manager_2_video_mode_switch (manager=<value optimized out>, timestamp=<value optimized out>, error=<value optimized out>) at gsd-xrandr-manager.c:447 #3 0x00007f9692063cac in dbus_glib_marshal_gsd_xrandr_manager_BOOLEAN__INT64_POINTER (closure=0x7fffa799aa10, return_value=0x7fffa799aa70, n_param_values=<value optimized out>, param_values=0x1d9ad70, invocation_hint=<value optimized out>, marshal_data=<value optimized out>) at gsd-xrandr-manager-glue.h:95 #4 0x0000003811e0ce0b in invoke_object_method (object=0x0, object_info=0x7f96922670c0, method=0x7f9692267190, connection=0x1cadf40, message=0x1cafb00) at dbus-gobject.c:1719 #5 0x0000003811e0d54d in object_registration_message (connection=0x1cadf40, message=0x1cafb00, user_data=<value optimized out>) at dbus-gobject.c:1939 #6 0x000000380fe1cefe in _dbus_object_tree_dispatch_and_unlock (tree=0x1cadc10, message=0x1cafb00) at dbus-object-tree.c:856 #7 0x000000380fe10b4c in dbus_connection_dispatch (connection=0x1cadf40) at dbus-connection.c:4492 #8 0x0000003811e09af5 in message_queue_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at dbus-gmain.c:101 #9 0x000000380ea38f0e in g_main_dispatch (context=0x1cab700) at gmain.c:1960 #10 IA__g_main_context_dispatch (context=0x1cab700) at gmain.c:2513 #11 0x000000380ea3c938 in g_main_context_iterate (context=0x1cab700, block=1, dispatch=1, self=<value optimized out>) at gmain.c:2591 #12 0x000000380ea3cd55 in IA__g_main_loop_run (loop=0x1cb7900) at gmain.c:2799 #13 0x0000003816b4c327 in IA__gtk_main () at gtkmain.c:1218 #14 0x00000000004043d5 in main (argc=1, argv=0x7fffa799b218) at main.c:489 Actual results: gnome-settings-daemon is segfaulting Expected results: gnome-settings-daemon should not segfault Additional info: