Bug 323812

Summary: Crash occurs when USB keyboard removed
Product: [Unmaintained] solid Reporter: Sam Tuke <mail>
Component: libsolid-udevAssignee: Alex Fiestas <afiestas>
Status: RESOLVED FIXED    
Severity: crash CC: alex.v.wolf, ereslibre, nef131, opensource
Priority: NOR Keywords: drkonqi
Version: 4.11.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.11.1
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Sam Tuke 2013-08-21 00:27:50 UTC
Application: dolphin (2.2)
KDE Platform Version: 4.11.00
Qt Version: 4.8.2
Operating System: Linux 3.8.0-26-lowlatency x86_64
Distribution: Ubuntu 12.04.2 LTS

-- Information about the crash:
- What I was doing when the application crashed:
I unplugged my logitech bluetooth usb keyboard. Keyboard model k400.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f3487ac2780 (LWP 5287))]

Thread 2 (Thread 0x7f346ddaf700 (LWP 5299)):
#0  0x00007f34873668cd in read () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f347f31a8cf in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f347f2dfba4 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f347f2dffd6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f347f2e0164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f348315a926 in QEventDispatcherGlib::processEvents (this=0x7f34680008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f3483129e62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f348312a0b7 in QEventLoop::exec (this=0x7f346ddaedd0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f3483029077 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007f3483109b6f in QInotifyFileSystemWatcherEngine::run (this=0x1310590) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007f348302c09b in QThreadPrivate::start (arg=0x1310590) at thread/qthread_unix.cpp:307
#11 0x00007f347f7afe9a in start_thread (arg=0x7f346ddaf700) at pthread_create.c:308
#12 0x00007f3487373ccd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f3487ac2780 (LWP 5287)):
[KCrash Handler]
#6  deref (this=0x72ff32d) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:133
#7  ~QString (this=0x7fff8cc11380, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qstring.h:880
#8  v_clear<QString> (d=0x7fff8cc11380) at ../../include/QtCore/private/../../../src/corelib/kernel/qvariant_p.h:144
#9  clear (d=0x7fff8cc11380) at kernel/qvariant.cpp:199
#10 0x00007f34860fd97a in Solid::Backends::UDev::UDevManager::Private::isPowerBubtton (this=<optimized out>, device=...) at ../../../solid/solid/backends/udev/udevmanager.cpp:152
#11 0x00007f34860fdbf2 in Solid::Backends::UDev::UDevManager::Private::checkOfInterest (this=0x12ceb30, device=...) at ../../../solid/solid/backends/udev/udevmanager.cpp:121
#12 0x00007f34860ff39c in isOfInterest (device=..., udi=..., this=0x12ceb30) at ../../../solid/solid/backends/udev/udevmanager.cpp:77
#13 Solid::Backends::UDev::UDevManager::Private::isOfInterest (this=0x12ceb30, udi=..., device=...) at ../../../solid/solid/backends/udev/udevmanager.cpp:71
#14 0x00007f34860ff846 in Solid::Backends::UDev::UDevManager::slotDeviceRemoved (this=0x12fb7f0, device=...) at ../../../solid/solid/backends/udev/udevmanager.cpp:268
#15 0x00007f348313f781 in QMetaObject::activate (sender=0x1304450, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff8cc11860) at kernel/qobject.cpp:3547
#16 0x00007f3486108605 in UdevQt::Client::deviceRemoved (this=<optimized out>, _t1=...) at ./udevqt.moc:153
#17 0x00007f34861087ac in UdevQt::ClientPrivate::_uq_monitorReadyRead (this=0x130eb00, fd=<optimized out>) at ../../../solid/solid/backends/shared/udevqtclient.cpp:107
#18 0x00007f348313f781 in QMetaObject::activate (sender=0x130eb80, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff8cc119f0) at kernel/qobject.cpp:3547
#19 0x00007f348318c7fe in QSocketNotifier::activated (this=<optimized out>, _t1=12) at .moc/release-shared/moc_qsocketnotifier.cpp:103
#20 0x00007f3483148b0b in QSocketNotifier::event (this=0x130eb80, e=0x7fff8cc12060) at kernel/qsocketnotifier.cpp:317
#21 0x00007f3483b337b4 in notify_helper (e=0x7fff8cc12060, receiver=0x130eb80, this=0x10bd3a0) at kernel/qapplication.cpp:4556
#22 QApplicationPrivate::notify_helper (this=0x10bd3a0, receiver=0x130eb80, e=0x7fff8cc12060) at kernel/qapplication.cpp:4528
#23 0x00007f3483b38583 in QApplication::notify (this=0x7fff8cc122e0, receiver=0x130eb80, e=0x7fff8cc12060) at kernel/qapplication.cpp:4417
#24 0x00007f348486cd96 in KApplication::notify (this=0x7fff8cc122e0, receiver=0x130eb80, event=0x7fff8cc12060) at ../../kdeui/kernel/kapplication.cpp:311
#25 0x00007f348312b32c in QCoreApplication::notifyInternal (this=0x7fff8cc122e0, receiver=0x130eb80, event=0x7fff8cc12060) at kernel/qcoreapplication.cpp:915
#26 0x00007f3483159f97 in sendEvent (event=0x7fff8cc12060, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#27 socketNotifierSourceDispatch (source=0x10bd5e0) at kernel/qeventdispatcher_glib.cpp:110
#28 0x00007f347f2dfd53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f347f2e00a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f347f2e0164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f348315a926 in QEventDispatcherGlib::processEvents (this=0x108fb40, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#32 0x00007f3483bdbcde in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#33 0x00007f3483129e62 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#34 0x00007f348312a0b7 in QEventLoop::exec (this=0x7fff8cc12270, flags=...) at kernel/qeventloop.cpp:204
#35 0x00007f348312f407 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#36 0x00007f3487691547 in ?? () at /usr/include/ksharedptr.h:90 from /usr/lib/kde4/libkdeinit/libkdeinit4_dolphin.so
#37 0x00007f3400000001 in ?? ()
#38 0x00007fff8cc12330 in ?? ()
#39 0x00007fff8cc12370 in ?? ()
#40 0x00007fff8cc12380 in ?? ()
#41 0x00007fff8cc12390 in ?? ()
#42 0x00007f3487b13a48 in ?? ()
#43 0x00007f34878db030 in vtable for DolphinDockWidget () from /usr/lib/kde4/libkdeinit/libkdeinit4_dolphin.so
#44 0x00000000010bd3a0 in ?? ()
#45 0x0000000001130140 in ?? ()
#46 0x0000000001286d40 in ?? ()
#47 0x000000000109adb0 in ?? ()
#48 0x0000000000000000 in ?? ()

The reporter indicates this bug may be a duplicate of or related to bug 323640.

Possible duplicates by query: bug 323640.

Reported using DrKonqi
Comment 1 Alex Fiestas 2013-08-21 11:44:46 UTC
Is this happening everytime you unplug?

If so, could you execute in a terminal "solid-hardware listen", and unplug?

Provide the output from that pls.

Thanks !
Comment 2 Sam Tuke 2013-08-21 14:12:09 UTC
Yes it's happening every time at the moment:

<code>
$ solid-hardware listen
Listening to add/remove events: 
Solid::Backends::UDev::input_str_to_bitmask can't handle some bits ("4837fff", "72ff32d", "bf544446", "0", "0", "ffff0001", "30f90", "8b17c007", "ffff7bfa", "d9415fff", "febeffdf", "ffefffff", "ffffffff", "fffffffe") 
Segmentation fault
</code>
Comment 3 Jekyll Wu 2013-08-23 15:45:47 UTC
*** Bug 323640 has been marked as a duplicate of this bug. ***
Comment 4 Jekyll Wu 2013-08-23 15:49:22 UTC
update report status
Comment 5 Christoph Feck 2013-08-24 22:12:14 UTC
*** Bug 323969 has been marked as a duplicate of this bug. ***
Comment 6 Mathieu Jobin 2013-08-26 20:27:45 UTC
Created attachment 81952 [details]
New crash information added by DrKonqi

knotify4 (4.0) on KDE Platform 4.11.00 using Qt 4.8.4

- What I was doing when the application crashed:

happened several times when unplugging usb keyboard.

my keyboard is a mac one, although this should not matter.

I dont think this was happening in 4.10, could be new to 4.11 but I could be wrong. there could be some other external caused.

I'm running Kubuntu 13.04

-- Backtrace (Reduced):
#7  ~QString (this=0x7fff1501d030, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qstring.h:880
#8  v_clear<QString> (d=0x7fff1501d030) at ../../include/QtCore/private/../../../src/corelib/kernel/qvariant_p.h:144
#9  clear (d=0x7fff1501d030) at kernel/qvariant.cpp:201
#10 0x00007f17e0d0697a in Solid::Backends::UDev::UDevManager::Private::isPowerBubtton (this=<optimized out>, device=...) at ../../../solid/solid/backends/udev/udevmanager.cpp:152
#11 0x00007f17e0d06bf2 in Solid::Backends::UDev::UDevManager::Private::checkOfInterest (this=0x280fec0, device=...) at ../../../solid/solid/backends/udev/udevmanager.cpp:121
Comment 7 Alex Fiestas 2013-08-27 12:40:55 UTC
Git commit a0c2a11f450878f8c6b7c0eb91c326d2eb41f77e by Àlex Fiestas.
Committed on 27/08/2013 at 12:36.
Pushed by afiestas into branch 'KDE/4.11'.

Correcte the check for max_bits, so we avoid the overflow.
FIXED-IN: 4.11.1

M  +1    -1    solid/solid/backends/udev/utils.cpp

http://commits.kde.org/kdelibs/a0c2a11f450878f8c6b7c0eb91c326d2eb41f77e