xserver restarting with certain usb events

Clyde E. Kunkel clydekunkel7734 at verizon.net
Thu Dec 8 01:46:48 UTC 2011


On 12/07/2011 02:02 PM, Adam Jackson wrote:
> On 12/7/11 12:20 PM, Clyde E. Kunkel wrote:
>> On 12/06/2011 12:35 PM, Adam Jackson wrote:
>>> On 12/6/11 11:27 AM, Clyde E. Kunkel wrote:
>>>
>>>> [ 428.783] Server terminated successfully (0). Closing log file.
>>>
>>> This message is there for a reason. It means the X server is terminating
>>> "normally", ie, because the session has gone away.
>>>
>>> Check in ~/.xsession-errors for relevant messages, or in dmesg for
>>> segfaults.
>>
>> bunch of gnomes segfaulting causing X server to restart? Why would usb
>> events cause these problems?
>
> USB device plug -> new X input device -> apps query for new device
> capabilities -> something goes wrong -> bang.
>
>> [ 471.632799] gnome-settings-[2048]: segfault at 60 ip 00000037e9e1eb39
>> sp 00007fff41d46320 error 4 in libgdk-3.so.0.304.0[37e9e00000+82000]
>> [ 471.633389] nm-applet[2195]: segfault at 60 ip 00000037e9e1eb39 sp
>> 00007fffeabda1f0 error 4 in libgdk-3.so.0.304.0[37e9e00000+82000]
>> [ 471.633464] nautilus[2108]: segfault at 60 ip 00000037e9e1eb39 sp
>> 00007fff99ae75c0 error 4 in libgdk-3.so.0.304.0[37e9e00000+82000]
>
> Notice that the bit in [] at the end is always the same, as well as the
> faulting ip address. Given when you said "current rawhide", you're
> probably running gtk3-3.3.4-1.fc17, in which case:
>
> % echo 0x1eb39 | eu-addr2line -e
> usr/lib/debug/usr/lib64/libgdk-3.so.0.304.0.debug
> /usr/src/debug/gtk+-3.3.4/gdk/gdkdevice.c:1325
>
> (Magic number 0x1eb39 derived from the number after 'ip' minus the
> similar-looking number inside the square brackets; one's the instruction
> pointer, one's the base address of all code.)
>
> So what's there?
>
> % cat -n usr/src/debug/gtk+-3.3.4/gdk/gdkdevice.c | grep -A10 1320
> 1320 void
> 1321 _gdk_device_reset_axes (GdkDevice *device)
> 1322 {
> 1323 gint i;
> 1324
> 1325 for (i = device->axes->len - 1; i >= 0; i--)
> 1326 g_array_remove_index (device->axes, i);
> 1327
> 1328 g_object_notify (G_OBJECT (device), "n-axes");
> 1329 }
> 1330
>
> So either device->axes or device is NULL. Would be trivial to paper over
> by just checking for that (I think), but it's probable that some
> invariant is being violated if we can ever get to that point.
>
> - ajax
>

Hmmm....so, bz gtk3-3.3.4-1.fc17.x86_64?

-- 
Regards,
OldFart



More information about the test mailing list