Bug 327905

Summary: KDED5 crashes on KeyboardModule
Product: [Applications] systemsettings Reporter: Martin Klapetek <mklapetek>
Component: kcm_keyboardAssignee: Andriy Rysin <arysin>
Status: RESOLVED FIXED    
Severity: crash CC: arysin
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Martin Klapetek 2013-11-21 14:57:56 UTC
Simply loading the module crashes. Bt below.

Application:  (kded5), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f931883c780 (LWP 7793))]

Thread 2 (Thread 0x7f930b5db700 (LWP 7794)):
#0  0x00007f9318158f7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f9312aef982 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f9312af101f in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f930dfcd18f in QXcbEventReader::run (this=0x1bd1a90) at qxcbconnection.cpp:1008
#4  0x00007f9315979021 in QThreadPrivate::start (arg=0x1bd1a90) at thread/qthread_unix.cpp:345
#5  0x00007f93153b0f6e in start_thread (arg=0x7f930b5db700) at pthread_create.c:311
#6  0x00007f93181659cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f931883c780 (LWP 7793)):
[KCrash Handler]
#6  0x00007f93180a1f77 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#7  0x00007f93180a55e8 in __GI_abort () at abort.c:90
#8  0x00007f93180df4fb in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7f93181f3240 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:199
#9  0x00007f93180eb996 in malloc_printerr (ptr=0x1d574f0, str=0x7f93181f3328 "double free or corruption (!prev)", action=3) at malloc.c:4923
#10 _int_free (av=<optimized out>, p=0x1d574e0, have_lock=0) at malloc.c:3779
#11 0x00007f931597abea in QArrayData::deallocate (data=0x1d574f0, objectSize=8, alignment=8) at tools/qarraydata.cpp:125
#12 0x00007f92fe9a1bdf in QTypedArrayData<double>::deallocate (data=0x1d574f0) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:230
#13 0x00007f92fe9a11fb in QVector<double>::freeData (this=0x7fffa9e261d0, x=0x1d574f0) at ../../include/QtCore/../../src/corelib/tools/qvector.h:453
#14 0x00007f92fe9a0e46 in QVector<double>::~QVector (this=0x7fffa9e261d0, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qvector.h:76
#15 0x00007f92fe9a0ffa in QtConcurrent::Median<double>::median (this=0x7fffa9e26298) at ../../include/QtConcurrent/../../src/concurrent/qtconcurrentmedian.h:108
#16 0x00007f92fe9a0ac0 in QtConcurrent::BlockSizeManager::timeAfterUser (this=0x7fffa9e26260) at qtconcurrentiteratekernel.cpp:173
#17 0x00007f92febcf5f0 in forThreadFunction (this=0x1d764f0) at /opt/qt5/include/QtConcurrent/qtconcurrentiteratekernel.h:231
#18 QtConcurrent::IterateKernel<QList<ModelInfo*>::const_iterator, void>::threadFunction (this=0x1d764f0) at /opt/qt5/include/QtConcurrent/qtconcurrentiteratekernel.h:192
#19 0x00007f92fe99ff9b in QtConcurrent::ThreadEngineBase::startBlocking (this=0x1d76570) at qtconcurrentthreadengine.cpp:151
#20 0x00007f92febd03c4 in startBlocking (this=0x1d764f0) at /opt/qt5/include/QtConcurrent/qtconcurrentthreadengine.h:156
#21 startBlocking (this=<optimized out>) at /opt/qt5/include/QtConcurrent/qtconcurrentthreadengine.h:259
#22 QtConcurrent::blockingFilter<QList<ModelInfo*>, bool (*)(ConfigItem const*)> (sequence=..., keep=keep@entry=0x7f92febcb860 <notEmpty(ConfigItem const*)>) at /opt/qt5/include/QtConcurrent/qtconcurrentfilter.h:183
#23 0x00007f92febcd065 in removeEmptyItems<ModelInfo> (list=...) at /home/mck182/kf5-dev/source/kde-workspace/kcontrol/keyboard/xkb_rules.cpp:89
#24 postProcess (rules=0x1d29a00) at /home/mck182/kf5-dev/source/kde-workspace/kcontrol/keyboard/xkb_rules.cpp:97
#25 Rules::readRules (rules=rules@entry=0x1d29a00, filename=..., fromExtras=fromExtras@entry=false) at /home/mck182/kf5-dev/source/kde-workspace/kcontrol/keyboard/xkb_rules.cpp:254
#26 0x00007f92febcdb40 in Rules::readRules (extrasFlag=extrasFlag@entry=Rules::READ_EXTRAS) at /home/mck182/kf5-dev/source/kde-workspace/kcontrol/keyboard/xkb_rules.cpp:213
#27 0x00007f92febb67cc in KeyboardDaemon::KeyboardDaemon (this=0x1d29360, parent=<optimized out>) at /home/mck182/kf5-dev/source/kde-workspace/kcontrol/keyboard/keyboard_daemon.cpp:56
#28 0x00007f92febb7ea8 in KPluginFactory::createInstance<KeyboardDaemon, QObject> (parentWidget=<optimized out>, parent=<optimized out>, args=...) at /opt/kde5/include/kpluginfactory.h:451
#29 0x00007f931749c530 in KPluginFactory::create (this=0x1d283c0, iface=0x7f9316fd5a60 <qt_meta_stringdata_KDEDModule+288> "KDEDModule", parentWidget=0x0, parent=0x1c365b0, args=..., keyword=...) at /home/mck182/kf5-dev/source/kdelibs-frameworks/tier3/kservice/src/plugin/kpluginfactory.cpp:159
#30 0x00007f931843ecfb in KPluginFactory::create<KDEDModule> (this=0x1d283c0, parent=0x1c365b0, args=...) at /home/mck182/kf5-dev/source/kdelibs-frameworks/tier3/kservice/src/plugin/kpluginfactory.h:481
#31 0x00007f931843b12e in Kded::loadModule (this=0x1c365b0, s=..., onDemand=false) at /home/mck182/kf5-dev/source/kdelibs-frameworks/tier3/kded/src/kded.cpp:381
#32 0x00007f931843a2a3 in Kded::initModules (this=0x1c365b0) at /home/mck182/kf5-dev/source/kdelibs-frameworks/tier3/kded/src/kded.cpp:256
#33 0x00007f931843baad in Kded::recreateDone (this=0x1c365b0) at /home/mck182/kf5-dev/source/kdelibs-frameworks/tier3/kded/src/kded.cpp:549
#34 0x00007f931843b947 in Kded::recreate (this=0x1c365b0, initial=true) at /home/mck182/kf5-dev/source/kdelibs-frameworks/tier3/kded/src/kded.cpp:519
#35 0x00007f931843cb9e in kdemain (argc=1, argv=0x7fffa9e26c18) at /home/mck182/kf5-dev/source/kdelibs-frameworks/tier3/kded/src/kded.cpp:823
#36 0x00000000004009df in main (argc=1, argv=0x7fffa9e26c18) at /home/mck182/kf5-dev/build/kdelibs-frameworks/tier3/kded/src/kded5_dummy.cpp:3
Comment 1 Andriy Rysin 2014-03-11 22:42:26 UTC
Is it still a problem?
Comment 2 Christoph Feck 2014-04-18 19:57:40 UTC
If you can provide the information requested in comment #1, please add it.
Comment 3 Andriy Rysin 2014-04-18 20:38:14 UTC
Actually this was fixed recently, unfortunately the location of the keyboard module has changed in KF5 so I can't fetch the history easily but it was related to GCC bug. Here's the message inside the fix:

#warning Compiling with a workaround for GCC < 4.8.3 || GCC < 4.7.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58800