Bug 769216

Summary: [abrt] gnome-screensaver-3.2.0-1.fc17: _gdk_device_reset_axes: Process /usr/bin/gnome-screensaver was killed by signal 11 (SIGSEGV)
Product: [Fedora] Fedora Reporter: Alon Levy <alevy>
Component: gtk3Assignee: Matthias Clasen <mclasen>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dblechte, jmccann, mclasen, rstrode
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:503164c245d372cce1c94b63cc4e35577e4ed6f5
Fixed In Version: gtk3-3.3.6-1.fc17.x86_64 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-20 14:32:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
File: dso_list
none
File: maps
none
File: backtrace none

Description Alon Levy 2011-12-20 10:15:51 UTC
libreport version: 2.0.8
abrt_version:   2.0.7
backtrace_rating: 4
cmdline:        gnome-screensaver
comment:        The underlying problem is gdk, a null dereference, when adding a second monitor all the applications using gdk crash simultaneously.
crash_function: _gdk_device_reset_axes
executable:     /usr/bin/gnome-screensaver
kernel:         3.2.0-0.rc6.git0.1.fc17.x86_64
pid:            20094
pwd:            /home/alon
reason:         Process /usr/bin/gnome-screensaver was killed by signal 11 (SIGSEGV)
time:           Tue 20 Dec 2011 11:00:39 AM IST
uid:            1000
username:       alon

backtrace:      Text file, 23042 bytes
dso_list:       Text file, 5940 bytes
maps:           Text file, 37596 bytes

build_ids:
:590600a2cc7b5a7ef9414f79b8c76bd7b7602949
:5d95308cba3f5a58f919718788e4e280307a7458
:4d5437cf71ea3e4bac1c445da58ca7897d509d15
:1c6a95451ee19617be5abea3d121f0226d21ddda
:aaf7ed41612348bd1141db06cadd428244aa6ea5
:53a6c43a1a4e3511f4832bfc9051d14004d0fd8a
:7343d35696ce251688ece0a26e457e61ca805cfd
:d1db549b776a2341dbb17ecd5929eac05d608639
:edb91de21f12875681d97b8b515f32214fa9923d
:280669dbf907c43856494a7f95ebfae51327b579
:aa733447f84020c94a66814e501a36e248cbb43d
:98e8142a87ce087c5f8dd8ef2d9cd60e68a99001
:33b0b99bf239cc1759debb521c811c749fb5af3c
:5ff9c0ac5a55caad515aa8d41804a30aa081954d
:d0c6e13f00a20952a72a945c929efb175fd760e3
:2f65aa330f36b36c1a46f73b8ab8e8df2a12c8ee
:a594ab36356a9b6dc6ecf25a6124463ccbfd0a29
:1e606bdbeada6a6efd8f68ca384440922dd2623c
:7e5a5aae54c933ba6daeeb3e3546899e31affec7
:9d1209fc79304f03cc839de1c0036c61b48dfff8
:4576e311d12856fde8081d39188b94521276d7b9
:638db099ff5fb986d1a092629d1bb1dca5be4904
:e5429e0905bedecc534b057783916ba43e06a66e
:36a149d1e2c29890b616402f6bc5e3f69ca2738e
:a94d56b2b291e72483077022394223616a9f1a6e
:9dfc85361775ca36fe62805384e0d8952da91695
:b386d9f4808c0724fb15c90e17d9eafac4b8c8ef
:aaf62304b0fc10611d35b4f56005479d4c58868d
:c8a4e40c84c2f52e78c64d31efc0191c565a9049
:25b834f4c4dc534708635ff1064e2fe02a366a62
:71b8a957ad380c5b1457e869268873ad36fa48b8
:9ac5118e75a1769e23f21282fdf8923a77cfc61a
:4953d1f613914126bccceb3cb96386647ffba9df
:c62480f12e0d404c9e17b27bd651a72ba75dd906
:0911ea7c180d733724f89037b8e8a34e64024aec
:5a666927f40c769e4b1efa110b5a3b2694c4504b
:48aea888319e1848137073c9cbde54a4c2a731c9
:1df2293b69f83a8632d5b5662f6e3897f8880f3a
:9bad6d2446aebb567228aa9cc940473c31f9eef2
:5ae343deedf8d45e210ac995f5dd973d85983a88
:163b323da65b708418226eb5fa8b057c731d1475
:2639b5594fe4d7897db63ecd1ebb9681438317a8
:30b52b21f3d677bbd5190268760b00d2fc674f51
:888ebf6b3a39f00989067ce82c4ea5763c4ebf0c
:e2e67b3ae2579e1667b73ad385f61552931024e9
:f3a0c024332e1233689c348fc048c642f07055af
:b29f9886e82321dea07a6e7e15e9ee81b2a16eef
:7994f114cf7189e482f2665fae8e351ed8bc05e3
:23db6024feb58a8c48e62525143532e93a9da2fe
:1d1e7527a6b5fd829fe8c097bea4c62b2d0f2df9
:b254fc2a2e12513918c8299877986ef6ba65ace2
:8a7cf86566a794e245c0d6ee0f5a592a9a433076
:40302b4d49d9170f806e0ced931b646a773fcafd
:3dd00a31cf09e7d59a58bbcf0750e12401a23e53
:6c549ce52cda735c1f4fdfda714f39ab6685c155
:d9dbe9a93d51492d32ebbd13471fe7cc1d27be2e
:9b1585ebb4782bc1256120a0730cc4b7c9245890
:cf9f0f08105d2f14c93f5262ddaa61a6184f3ce4
:b0a2d0b4c09d819887ec7d711c8cf3977a074c4f
:0cd406838dc4ba4e52671ea21d869c133607c0eb
:197b8bf5c18dd0cdbf2109b9e33e53b554533609
:aabfae52f2f9cd3da2a88327b8021a05bc700500
:02befd98076625b4d40a2129030b79d68737d55f
:5170a1311521a9c6a244552de1b8c44861749b6d
:59744576d7f95dd3cce668ebd441a79962946995
:9b7943a5fac2166a265270557a562b2c88d1cbe0
:ee2f04900ae1f07517d91eba300ef385fccab1b8
:b4107374acf85df7bf833ff3a4aa4ec1a9764bfc
:3cd4d970431d11d418ec7f91747296cc78ebeaba
:81410cd6b9c5699a45109c03d5241d9879925e63
:a45734b51828abb9e5e658411b6de03499dd6c57
:dea421ff3f61b01d9a4ac19e6af6d53921935300
:0de3e4db4a933a4b834e45559be2cfa1bc9df3a9

environ:
:XDG_VTNR=4
:XDG_SESSION_ID=11
:HOSTNAME=garlic
:IMSETTINGS_INTEGRATE_DESKTOP=yes
:SHELL=/bin/bash
:TERM=dumb
:HISTSIZE=100000
:XDG_SESSION_COOKIE=1c622f144331a420b9a22d230000000e-1324314854.234684-2024698916
:GNOME_KEYRING_CONTROL=/tmp/keyring-EQxome
:JBOSS_HOME=/home/alon/src/spice_upstream/jboss-eap-5.1.1
:IMSETTINGS_MODULE=none
:HISTFILESIZE=100000
:USER=alon
:LS_COLORS=:*.do=00;35:
:USERNAME=alon
:SQUEAK_IMAGE=/home/alon/squeak_image/squeak.image
:MAIL=/var/spool/mail/alon
:PATH=/home/alon/local/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/alon/bin:/home/alon/root/bin:/home/alon/etherpad/bin
:DESKTOP_SESSION=gnome
:QT_IM_MODULE=xim
:PWD=/home/alon
:XMODIFIERS=@im=none
:EDITOR=vim
:KDE_IS_PRELINKED=1
:GNOME_KEYRING_PID=19858
:LANG=en_US.utf8
:MODULEPATH=/usr/share/Modules/modulefiles:/etc/modulefiles
:GDM_LANG=en_US.utf8
:LOADEDMODULES=
:KDEDIRS=/usr
:'PS1=$(uname -m) \\[\\e[1;$((31 + $(hostname | cksum | cut -c1-3) % 6))m\\]\\h\\[\\e[0m\\]:\\W \\u\\[\\e[1;3m\\]$(__git_ps1)\\[\\e[0m\\]\\$ '
:GDMSESSION=gnome
:SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
:HISTCONTROL=ignoreboth
:HOME=/home/alon
:XDG_SEAT=seat0
:SHLVL=1
:LOGNAME=alon
:CVS_RSH=ssh
:DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-MiOHYjvWY0,guid=bfc0cd2d0b896f6a6d98c13000004191
:MODULESHOME=/usr/share/Modules
:'LESSOPEN=||/usr/bin/lesspipe.sh %s'
:WINDOWPATH=4
:XDG_RUNTIME_DIR=/run/user/alon
:DISPLAY=:0
:CCACHE_HASHDIR=
:XAUTHORITY=/var/run/gdm/auth-for-alon-IsOmTS/database
:'module=() {  eval `/usr/bin/modulecmd bash $*`\n}'
:_=/usr/bin/gnome-session
:GNOME_DESKTOP_SESSION_ID=this-is-deprecated
:SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/19862,unix/unix:/tmp/.ICE-unix/19862
:GPG_AGENT_INFO=/tmp/keyring-EQxome/gpg:0:1
:SSH_AUTH_SOCK=/tmp/keyring-EQxome/ssh
:DESKTOP_AUTOSTART_ID=103778bec53006f45132431485555667900000198620014

var_log_messages:
:Dec 18 11:04:19 garlic abrt[28973]: File '/usr/bin/gnome-screensaver.#prelink#.F7qfNt' seems to be deleted
:Dec 18 11:04:19 garlic abrt[28973]: File '/usr/bin/gnome-screensaver.#prelink#.F7qfNt' seems to be a prelink temporary file
:Dec 18 11:04:22 garlic abrt[28973]: Saved core dump of pid 1699 (/usr/bin/gnome-screensaver) to /var/spool/abrt/ccpp-2011-12-18-11:04:19-1699 (38166528 bytes)
:Dec 20 11:00:39 garlic abrt[18559]: File '/usr/bin/gnome-screensaver.#prelink#.Go82MC' seems to be deleted
:Dec 20 11:00:39 garlic abrt[18559]: File '/usr/bin/gnome-screensaver.#prelink#.Go82MC' seems to be a prelink temporary file
:Dec 20 11:00:41 garlic abrt[18559]: Saved core dump of pid 20094 (/usr/bin/gnome-screensaver) to /var/spool/abrt/ccpp-2011-12-20-11:00:39-20094 (38109184 bytes)

Comment 1 Alon Levy 2011-12-20 10:15:55 UTC
Created attachment 548812 [details]
File: dso_list

Comment 2 Alon Levy 2011-12-20 10:15:58 UTC
Created attachment 548813 [details]
File: maps

Comment 3 Alon Levy 2011-12-20 10:16:00 UTC
Created attachment 548814 [details]
File: backtrace

Comment 4 Alon Levy 2011-12-20 12:31:04 UTC
This seems to be the immediate cause, haven't tested yet, and not sure if there is a general problem (handle_device_changed being called at the wrong moment).

commit 3a871396e8d008a6d190e01810578151ef200cf8
Author: Alon Levy <alevy>
Date:   Tue Dec 20 14:28:46 2011 +0200

    gdk/x11/gdkdevicemanager-xi2.c: handle_device_changed: handle NULL device (rhbz 769216)
    
    Signed-off-by: Alon Levy <alevy>

diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c
index afa9f54..b6f0c83 100644
--- a/gdk/x11/gdkdevicemanager-xi2.c
+++ b/gdk/x11/gdkdevicemanager-xi2.c
@@ -651,6 +651,10 @@ handle_device_changed (GdkX11DeviceManagerXI2 *device_manager,
   device = g_hash_table_lookup (device_manager->id_table,
                                 GUINT_TO_POINTER (ev->deviceid));
 
+  if (!device) {
+    g_warning ("no device found");
+    return;
+  }
   _gdk_device_reset_axes (device);
   translate_device_classes (display, device, ev->classes, ev->num_classes);

Comment 5 Alon Levy 2011-12-20 14:29:08 UTC
My bad - this is already fixed by a commit in 3.3.6:

commit 358ecad50147f9ee377a86fb70a7e58cc600616f
Author: Carlos Garnacho <carlosg>
Date:   Sun Dec 18 18:56:51 2011 +0100

    gdk,xi2: Make more resilient about not yet known devices
    
    Dealing with disabled devices may turn into hierarchy/device
    changed events on device IDs with no backing GdkDevice yet,
    so protect against that. The device attachment will be handled
    correctly when the device is enabled later.

So it should be fixed with http://koji.fedoraproject.org/koji/buildinfo?buildID=279447, testing now.

Alon

Comment 6 Alon Levy 2011-12-20 14:32:57 UTC
Fixes it for me, closing. Fixed by gtk3-3.3.6-1.fc17.x86_64

Alon