Bug 385049

Summary: Opening large CJK blocks crashes kcharselect
Product: [Applications] kcharselect Reporter: Milko Krachounov <exabyte>
Component: generalAssignee: Christoph Feck <cfeck>
Status: RESOLVED DUPLICATE    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version: 1.12   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Milko Krachounov 2017-09-25 11:24:25 UTC
Application: kcharselect (1.12)

Qt Version: 5.7.1
Frameworks Version: 5.28.0
Operating System: Linux 4.9.0-3-amd64 x86_64
Distribution: Debian GNU/Linux 9.1 (stretch)

-- Information about the crash:
- What I was doing when the application crashed:
Opening any large CJK character block crashes KCharSelect, for example Hangul Syllables or CJK Unified Ideographs.


May be related to crash 374933, but I'm not sure - I'm explicitly saying it here, because I selected it as a likely duplicated in the reporting tool, but I'm not sure that it was marked: Similar crash happens when searching for “small...”. Backtraces look similar, but are too long for me to be sure.

-- Backtrace:
Application: KCharSelect (kcharselect), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fde593648c0 (LWP 28624))]

Thread 4 (Thread 0x7fde41430700 (LWP 28633)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fde424ad75b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#2  0x00007fde424ad487 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#3  0x00007fde620cc494 in start_thread (arg=0x7fde41430700) at pthread_create.c:333
#4  0x00007fde63c88aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 3 (Thread 0x7fde4a9d7700 (LWP 28628)):
#0  QMutexLocker::unlock (this=<synthetic pointer>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:147
#1  QMutexLocker::~QMutexLocker (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:141
#2  QThreadData::canWaitLocked (this=0x55d45b959210) at ../../include/QtCore/5.7.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:253
#3  postEventSourcePrepare (s=0x7fde440012d0, timeout=0x7fde4a9d6b04) at kernel/qeventdispatcher_glib.cpp:259
#4  0x00007fde601e6edd in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fde601e791b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fde601e7b0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007fde6459406b in QEventDispatcherGlib::processEvents (this=0x7fde440008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#8  0x00007fde6453d9ca in QEventLoop::exec (this=this@entry=0x7fde4a9d6cd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#9  0x00007fde6436b0f3 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:507
#10 0x00007fde665eb6d5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#11 0x00007fde6436fda8 in QThreadPrivate::start (arg=0x7fde66660d60) at thread/qthread_unix.cpp:368
#12 0x00007fde620cc494 in start_thread (arg=0x7fde4a9d7700) at pthread_create.c:333
#13 0x00007fde63c88aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 2 (Thread 0x7fde56b6a700 (LWP 28625)):
#0  0x00007fde63c7f6ad in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fde5f100150 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fde5f101ee9 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fde590c8b69 in QXcbEventReader::run (this=0x55d45b7ab210) at qxcbconnection.cpp:1343
#4  0x00007fde6436fda8 in QThreadPrivate::start (arg=0x55d45b7ab210) at thread/qthread_unix.cpp:368
#5  0x00007fde620cc494 in start_thread (arg=0x7fde56b6a700) at pthread_create.c:333
#6  0x00007fde63c88aff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7fde593648c0 (LWP 28624)):
[KCrash Handler]
#6  std::__atomic_base<int>::load (__m=std::memory_order_relaxed, this=0x554354515f5f7163) at /usr/include/c++/6/bits/atomic_base.h:396
#7  QAtomicOps<int>::load<int> (_q_value=...) at ../../include/QtCore/../../src/corelib/arch/qatomic_cxx11.h:227
#8  QBasicAtomicInteger<int>::load (this=0x554354515f5f7163) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:99
#9  QWeakPointer<QObject>::data (this=0x55d45bae9598) at ../../include/QtCore/../../src/corelib/tools/qsharedpointer_impl.h:604
#10 QPointer<QAbstractItemView>::data (this=0x55d45bae9598) at ../../include/QtCore/../../src/corelib/kernel/qpointer.h:86
#11 QPointer<QAbstractItemView>::operator QAbstractItemView* (this=0x55d45bae9598) at ../../include/QtCore/../../src/corelib/kernel/qpointer.h:92
#12 QAccessibleTableCell::rect (this=0x55d45bae9580) at accessible/itemviews.cpp:1038
#13 0x00007fde652eee5c in QAccessibleTableCell::state (this=0x55d45bae9580) at accessible/itemviews.cpp:1002
#14 0x00007fde5911c3a6 in AtSpiAdaptor::notify (this=0x55d45bba4d80, event=<optimized out>) at linuxaccessibility/atspiadaptor.cpp:1066
#15 0x00007fde6533d091 in QTableView::selectionChanged (this=0x55d45bb648a0, selected=..., deselected=...) at itemviews/qtableview.cpp:3335
#16 0x00007fde65308721 in QAbstractItemView::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qabstractitemview.cpp:412
#17 0x00007fde6456b5e9 in QMetaObject::activate (sender=sender@entry=0x55d45bab1120, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd64975590) at kernel/qobject.cpp:3740
#18 0x00007fde6456bf07 in QMetaObject::activate (sender=sender@entry=0x55d45bab1120, m=m@entry=0x7fde64785f40 <QItemSelectionModel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd64975590) at kernel/qobject.cpp:3602
#19 0x00007fde644eebe7 in QItemSelectionModel::selectionChanged (this=this@entry=0x55d45bab1120, _t1=..., _t2=...) at .moc/moc_qitemselectionmodel.cpp:478
#20 0x00007fde644f344b in QItemSelectionModel::emitSelectionChanged (this=this@entry=0x55d45bab1120, newSelection=..., oldSelection=...) at itemmodels/qitemselectionmodel.cpp:1811
#21 0x00007fde644f6f92 in QItemSelectionModel::select (this=0x55d45bab1120, selection=..., command=...) at itemmodels/qitemselectionmodel.cpp:1298
#22 0x00007fde644f097c in QItemSelectionModel::select (this=this@entry=0x55d45bab1120, index=..., command=command@entry=...) at itemmodels/qitemselectionmodel.cpp:1159
#23 0x00007fde644ef034 in QItemSelectionModel::setCurrentIndex (this=0x55d45bab1120, index=..., command=...) at itemmodels/qitemselectionmodel.cpp:1373
#24 0x00007fde65301d29 in QAbstractItemView::setCurrentIndex (this=this@entry=0x55d45bb648a0, index=...) at itemviews/qabstractitemview.cpp:1085
#25 0x00007fde65aba6eb in KCharSelectTable::setChar (this=0x55d45bb648a0, c=<optimized out>) at ./src/kcharselect.cpp:187
#26 0x00007fde65abbd03 in KCharSelect::KCharSelectPrivate::_k_blockSelected (this=0x55d45b9c8310, index=<optimized out>) at ./src/kcharselect.cpp:961
#27 0x00007fde65ac0d4f in KCharSelect::qt_static_metacall (_o=0x55d45b9d6aa0, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./obj-x86_64-linux-gnu/src/moc_kcharselect.cpp:194
#28 0x00007fde6456b5e9 in QMetaObject::activate (sender=sender@entry=0x55d45baa2ee0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffd64975ac0) at kernel/qobject.cpp:3740
#29 0x00007fde6456bf07 in QMetaObject::activate (sender=sender@entry=0x55d45baa2ee0, m=m@entry=0x7fde65597ce0 <QComboBox::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffd64975ac0) at kernel/qobject.cpp:3602
#30 0x00007fde651b5c81 in QComboBox::currentIndexChanged (this=this@entry=0x55d45baa2ee0, _t1=<optimized out>) at .moc/moc_qcombobox.cpp:502
#31 0x00007fde651b80d1 in QComboBoxPrivate::_q_emitCurrentIndexChanged (this=this@entry=0x55d45baa37a0, index=...) at widgets/qcombobox.cpp:1314
#32 0x00007fde651ba83d in QComboBoxPrivate::setCurrentIndex (this=this@entry=0x55d45baa37a0, mi=...) at widgets/qcombobox.cpp:2121
#33 0x00007fde651baa5f in QComboBox::setCurrentIndex (this=this@entry=0x55d45baa2ee0, index=index@entry=2) at widgets/qcombobox.cpp:2083
#34 0x00007fde651beff9 in QComboBox::wheelEvent (this=0x55d45baa2ee0, e=0x7ffd64975ec0) at widgets/qcombobox.cpp:3279
#35 0x00007fde650ff278 in QWidget::event (this=this@entry=0x55d45baa2ee0, event=event@entry=0x7ffd64975ec0) at kernel/qwidget.cpp:9161
#36 0x00007fde651bae16 in QComboBox::event (this=0x55d45baa2ee0, event=0x7ffd64975ec0) at widgets/qcombobox.cpp:3038
#37 0x00007fde650b7b8c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55d45baa2ee0, e=0x7ffd64975ec0) at kernel/qapplication.cpp:3799
#38 0x00007fde650c1156 in QApplication::notify (this=<optimized out>, receiver=0x55d45baa2ee0, e=0x7ffd64976030) at kernel/qapplication.cpp:3365
#39 0x00007fde6453f9e0 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x55d45baa2ee0, event=event@entry=0x7ffd64976030) at kernel/qcoreapplication.cpp:988
#40 0x00007fde6511ad52 in QCoreApplication::sendSpontaneousEvent (event=0x7ffd64976030, receiver=0x55d45baa2ee0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#41 QWidgetWindow::handleWheelEvent (this=<optimized out>, event=<optimized out>) at kernel/qwidgetwindow.cpp:803
#42 0x00007fde6511c29b in QWidgetWindow::event (this=0x55d45bb8b5f0, event=0x7ffd649763a0) at kernel/qwidgetwindow.cpp:266
#43 0x00007fde650b7b8c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55d45bb8b5f0, e=0x7ffd649763a0) at kernel/qapplication.cpp:3799
#44 0x00007fde650bf341 in QApplication::notify (this=0x7ffd64976800, receiver=0x55d45bb8b5f0, e=0x7ffd649763a0) at kernel/qapplication.cpp:3556
#45 0x00007fde6453f9e0 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x55d45bb8b5f0, event=event@entry=0x7ffd649763a0) at kernel/qcoreapplication.cpp:988
#46 0x00007fde64b18ffc in QCoreApplication::sendSpontaneousEvent (event=0x7ffd649763a0, receiver=0x55d45bb8b5f0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#47 QGuiApplicationPrivate::processWheelEvent (e=0x55d45bd9f900) at kernel/qguiapplication.cpp:1980
#48 0x00007fde64b1e675 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x55d45bd9f900) at kernel/qguiapplication.cpp:1690
#49 0x00007fde64afc61b in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:659
#50 0x00007fde590ff4c0 in userEventSourceDispatch (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:76
#51 0x00007fde601e77f7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#52 0x00007fde601e7a60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#53 0x00007fde601e7b0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#54 0x00007fde6459404f in QEventDispatcherGlib::processEvents (this=0x55d45b804cc0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#55 0x00007fde6453d9ca in QEventLoop::exec (this=this@entry=0x7ffd649766c0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#56 0x00007fde6454613c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1261
#57 0x000055d459871c6f in main (argc=<optimized out>, argv=<optimized out>) at ./main.cc:74

Possible duplicates by query: bug 384419, bug 381443, bug 372712.

Reported using DrKonqi
Comment 1 Christoph Feck 2017-09-25 23:54:37 UTC
Yes, indeed a duplicate. This is fixed in frameworks 5.37.0.

*** This bug has been marked as a duplicate of bug 374933 ***