Bug 300521

Summary: Crash when no data file is present
Product: [Applications] kcharselect Reporter: Christoph Feck <cfeck>
Component: generalAssignee: Daniel Laidig <laidig>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Christoph Feck 2012-05-23 19:02:54 UTC
Application: kcharselect (v1.11)
KDE Platform Version: 4.8.3 (4.8.3) (Compiled from sources)
Qt Version: 4.8.2
Operating System: Linux 3.4.0-rc6-1-desktop i686
Distribution: "openSUSE 12.2 Milestone 4 (i586)"

-- Information about the crash:
- What I was doing when the application crashed:

While trying to reproduce crash report from bug 300502, I got this backtrace. When kcharselect is started without an installed "kcharselect-data" file, then trying to search causes this crash.

The crash can be reproduced every time.

-- Backtrace:
Application: KCharSelect (kcharselect), signal: Segmentation fault
[KCrash Handler]
#7  0xb74efca3 in QMap<QString, QVector<unsigned short> >::QMap (this=0xbff042e4, other=...) at /local/qt4/include/QtCore/qmap.h:183
#8  0xb74f0e07 in QFuture<QMap<QString, QVector<unsigned short> > >::result (this=0x989440c) at /local/qt4/include/QtCore/qfuture.h:175
#9  0xb74efc90 in QFuture<QMap<QString, QVector<unsigned short> > >::operator QMap<QString, QVector<unsigned short> > (this=0x989440c) at /local/qt4/include/QtCore/qfuture.h:107
#10 0xb74ee926 in KCharSelectData::getMatchingChars (this=0x9894408, s=...) at /local/git/KDE/libs/kdelibs/kdeui/widgets/kcharselectdata.cpp:753
#11 0xb74ee5e8 in KCharSelectData::find (this=0x9894408, needle=...) at /local/git/KDE/libs/kdelibs/kdeui/widgets/kcharselectdata.cpp:725
#12 0xb74e69e0 in KCharSelect::KCharSelectPrivate::_k_search (this=0x9852050) at /local/git/KDE/libs/kdelibs/kdeui/widgets/kcharselect.cpp:840
#13 0xb74e6944 in KCharSelect::KCharSelectPrivate::_k_searchEditChanged (this=0x9852050) at /local/git/KDE/libs/kdelibs/kdeui/widgets/kcharselect.cpp:829
#14 0xb74e737b in KCharSelect::qt_static_metacall (_o=0x9895478, _c=QMetaObject::InvokeMetaMethod, _id=14, _a=0xbff04568) at /local/build/KDE/libs/kdelibs/kdeui/kcharselect.moc:98
#15 0xb6cf2e0e in QMetaObject::activate (sender=0x9882b58, m=0xb6ae607c, local_signal_index=0, argv=0xbff04568) at /local/git/Qt/frameworks/qt/src/corelib/kernel/qobject.cpp:3547
#16 0xb64a5466 in QLineEdit::textChanged (this=0x9882b58, _t1=...) at .moc/debug-shared/moc_qlineedit.cpp:264
#17 0xb64a4c3c in QLineEdit::qt_static_metacall (_o=0x9882b58, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbff04698) at .moc/debug-shared/moc_qlineedit.cpp:140
#18 0xb6cf2e0e in QMetaObject::activate (sender=0x986bac0, m=0xb6af4870, local_signal_index=3, argv=0xbff04698) at /local/git/Qt/frameworks/qt/src/corelib/kernel/qobject.cpp:3547
#19 0xb6785864 in QLineControl::textChanged (this=0x986bac0, _t1=...) at .moc/debug-shared/moc_qlinecontrol_p.cpp:148
#20 0xb64a82e6 in QLineControl::finishChange (this=0x986bac0, validateFromState=2, update=false, edited=true) at /local/git/Qt/frameworks/qt/src/gui/widgets/qlinecontrol.cpp:660
#21 0xb64a6ee4 in QLineControl::insert (this=0x986bac0, newText=...) at /local/git/Qt/frameworks/qt/src/gui/widgets/qlinecontrol.cpp:248
#22 0xb64ad8f2 in QLineControl::processKeyEvent (this=0x986bac0, event=0xbff05120) at /local/git/Qt/frameworks/qt/src/gui/widgets/qlinecontrol.cpp:1879
#23 0xb64a19af in QLineEdit::keyPressEvent (this=0x9882b58, event=0xbff05120) at /local/git/Qt/frameworks/qt/src/gui/widgets/qlineedit.cpp:1707
#24 0xb751d454 in KLineEdit::keyPressEvent (this=0x9882b58, e=0xbff05120) at /local/git/KDE/libs/kdelibs/kdeui/widgets/klineedit.cpp:970
#25 0xb6027232 in QWidget::event (this=0x9882b58, event=0xbff05120) at /local/git/Qt/frameworks/qt/src/gui/kernel/qwidget.cpp:8406
#26 0xb64a128a in QLineEdit::event (this=0x9882b58, e=0xbff05120) at /local/git/Qt/frameworks/qt/src/gui/widgets/qlineedit.cpp:1524
#27 0xb751f39e in KLineEdit::event (this=0x9882b58, ev=0xbff05120) at /local/git/KDE/libs/kdelibs/kdeui/widgets/klineedit.cpp:1403
#28 0xb5fc7280 in QApplicationPrivate::notify_helper (this=0x9725ba8, receiver=0x9882b58, e=0xbff05120) at /local/git/Qt/frameworks/qt/src/gui/kernel/qapplication.cpp:4551
#29 0xb5fc4e4e in QApplication::notify (this=0xbff05918, receiver=0x9882b58, e=0xbff05120) at /local/git/Qt/frameworks/qt/src/gui/kernel/qapplication.cpp:3992
#30 0xb7444a3a in KApplication::notify (this=0xbff05918, receiver=0x9882b58, event=0xbff05120) at /local/git/KDE/libs/kdelibs/kdeui/kernel/kapplication.cpp:311
#31 0xb6cd70a6 in QCoreApplication::notifyInternal (this=0xbff05918, receiver=0x9882b58, event=0xbff05120) at /local/git/Qt/frameworks/qt/src/corelib/kernel/qcoreapplication.cpp:915
#32 0xb5fc9c63 in QCoreApplication::sendSpontaneousEvent (receiver=0x9882b58, event=0xbff05120) at ../../include/QtCore/../../../../git/Qt/frameworks/qt/src/corelib/kernel/qcoreapplication.h:234
#33 0xb5fc75e5 in qt_sendSpontaneousEvent (receiver=0x9882b58, event=0xbff05120) at /local/git/Qt/frameworks/qt/src/gui/kernel/qapplication.cpp:5549
#34 0xb6090640 in QKeyMapper::sendKeyEvent (keyWidget=0x9882b58, grab=false, type=QEvent::KeyPress, code=76, modifiers=..., text=..., autorepeat=false, count=1, nativeScanCode=46, nativeVirtualKey=108, nativeModifiers=0) at /local/git/Qt/frameworks/qt/src/gui/kernel/qkeymapper_x11.cpp:1866
#35 0xb6090346 in QKeyMapperPrivate::translateKeyEvent (this=0x9758d10, keyWidget=0x9882b58, event=0xbff05620, grab=false) at /local/git/Qt/frameworks/qt/src/gui/kernel/qkeymapper_x11.cpp:1836
#36 0xb605b90a in QApplication::x11ProcessEvent (this=0xbff05918, event=0xbff05620) at /local/git/Qt/frameworks/qt/src/gui/kernel/qapplication_x11.cpp:3518
#37 0xb6092461 in x11EventSourceDispatch (s=0x9725b00, callback=0, user_data=0x0) at /local/git/Qt/frameworks/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:146
#38 0xb5417761 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#39 0xb5417be0 in ?? () from /usr/lib/libglib-2.0.so.0
#40 0xb5417cc1 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#41 0xb6d0ecfe in QEventDispatcherGlib::processEvents (this=0x97208d8, flags=...) at /local/git/Qt/frameworks/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:424
#42 0xb60927b6 in QGuiEventDispatcherGlib::processEvents (this=0x97208d8, flags=...) at /local/git/Qt/frameworks/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:204
#43 0xb6cd4755 in QEventLoop::processEvents (this=0xbff0589c, flags=...) at /local/git/Qt/frameworks/qt/src/corelib/kernel/qeventloop.cpp:149
#44 0xb6cd48cd in QEventLoop::exec (this=0xbff0589c, flags=...) at /local/git/Qt/frameworks/qt/src/corelib/kernel/qeventloop.cpp:204
#45 0xb6cd773c in QCoreApplication::exec () at /local/git/Qt/frameworks/qt/src/corelib/kernel/qcoreapplication.cpp:1187
#46 0xb5fc4796 in QApplication::exec () at /local/git/Qt/frameworks/qt/src/gui/kernel/qapplication.cpp:3812
#47 0x08050f1a in main (argc=3, argv=0xbff05a94) at /local/git/KDE/utils/kcharselect/main.cc:58

Reported using DrKonqi
Comment 1 Christoph Feck 2016-07-26 14:08:15 UTC
Git commit 2e34a23ff43313d735f57b4f4e108d67e9581570 by Christoph Feck.
Committed on 26/07/2016 at 14:04.
Pushed by cfeck into branch 'master'.

Fix crash when searching with no present data file

M  +3    -0    src/kcharselectdata.cpp

http://commits.kde.org/kwidgetsaddons/2e34a23ff43313d735f57b4f4e108d67e9581570