After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 760288 - gnome-settings-daemon may crash in 'grab_button' if device disappears
gnome-settings-daemon may crash in 'grab_button' if device disappears
Status: RESOLVED FIXED
Product: gnome-settings-daemon
Classification: Core
Component: plugins
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-settings-daemon-maint
gnome-settings-daemon-maint
Depends on:
Blocks:
 
 
Reported: 2016-01-07 19:12 UTC by Jason Gerecke
Modified: 2016-01-07 19:31 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
0001-common-wrap-grab_button-with-gdk_error_trap_push-pop.patch (1.27 KB, patch)
2016-01-07 19:17 UTC, Jason Gerecke
committed Details | Review

Description Jason Gerecke 2016-01-07 19:12:41 UTC
If a Wacom device is connected and then rapidly disconnected, gnome-settings-daemon can crash within plugins/common/gsd-keygrab.c:grab_button as a result of an unhandled X error.

  • #0 g_logv
    from /usr/lib/libglib-2.0.so.0
  • #1 g_log
    from /usr/lib/libglib-2.0.so.0
  • #2 ??
    from /usr/lib/libgdk-3.so.0
  • #3 ??
    from /usr/lib/libgdk-3.so.0
  • #4 _XError
    from /usr/lib/libX11.so.6
  • #5 ??
    from /usr/lib/libX11.so.6
  • #6 _XReply
    from /usr/lib/libX11.so.6
  • #7 ??
    from /usr/lib/libXi.so.6
  • #8 XIGrabButton
    from /usr/lib/libXi.so.6
  • #9 grab_button
    from /usr/lib/gnome-settings-daemon-3.0/libpower.so
  • #10 ??
    from /usr/lib/gnome-settings-daemon-3.0/libgsdwacom.so
  • #11 ??
    from /usr/lib/gnome-settings-daemon-3.0/libgsdwacom.so
  • #12 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #13 ??
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #16 ??
    from /usr/lib/gnome-settings-daemon-3.0/libpower.so
  • #17 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #18 ??
    from /usr/lib/libgobject-2.0.so.0
  • #19 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #20 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #21 ??
    from /usr/lib/libgdk-3.so.0
  • #22 ??
    from /usr/lib/libgdk-3.so.0
  • #23 ??
    from /usr/lib/libgdk-3.so.0
  • #24 ??
    from /usr/lib/libgdk-3.so.0
  • #25 gdk_display_get_event
    from /usr/lib/libgdk-3.so.0
  • #26 ??
    from /usr/lib/libgdk-3.so.0
  • #27 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #28 ??
    from /usr/lib/libglib-2.0.so.0
  • #29 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #30 gtk_main
    from /usr/lib/libgtk-3.so.0
  • #31 main

Comment 1 Jason Gerecke 2016-01-07 19:17:29 UTC
Created attachment 318436 [details] [review]
0001-common-wrap-grab_button-with-gdk_error_trap_push-pop.patch
Comment 2 Rui Matos 2016-01-07 19:27:08 UTC
Review of attachment 318436 [details] [review]:

sure, thanks. can you push?
Comment 3 Rui Matos 2016-01-07 19:31:19 UTC
I'll just push myself since I already have it ready