Bug 413506

Summary: Kile crash while removing template
Product: [Applications] kile Reporter: Kishore Gopalakrishnan <kishore96>
Component: generalAssignee: Michel Ludwig <michel.ludwig>
Status: RESOLVED FIXED    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version: 2.9.93   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Kishore Gopalakrishnan 2019-10-27 06:42:02 UTC
Application: kile (2.9.93)

Qt Version: 5.13.1
Frameworks Version: 5.63.0
Operating System: Linux 5.3.7-arch1-1-ARCH x86_64
Distribution: "Arch Linux"

-- Information about the crash:
- What I was doing when the application crashed:
I opened Kile, clicked 'File > Remove template', and selected a template I had previously created.

The crash can be reproduced every time.

-- Backtrace:
Application: Kile (kile), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f8bb30e8d00 (LWP 57545))]

Thread 6 (Thread 0x7f8b9ffff700 (LWP 57550)):
#0  0x00007f8bb8f85c45 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f8ba89b250c in ?? () from /usr/lib/dri/i965_dri.so
#2  0x00007f8ba89b2108 in ?? () from /usr/lib/dri/i965_dri.so
#3  0x00007f8bb8f7f4cf in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f8bbbf932d3 in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7f8baadee700 (LWP 57549)):
#0  0x00007f8bb8f85c45 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f8bb9266660 in QWaitConditionPrivate::wait (deadline=..., this=0x55592a9a9270) at thread/qwaitcondition_unix.cpp:146
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x55592a9d5e50, deadline=...) at thread/qwaitcondition_unix.cpp:225
#3  0x00007f8bb9266752 in QWaitCondition::wait (this=this@entry=0x55592a9d5e58, mutex=mutex@entry=0x55592a9d5e50, time=time@entry=18446744073709551615) at ../../include/QtCore/../../src/corelib/kernel/qdeadlinetimer.h:68
#4  0x00007f8bbc30d049 in KileParser::ParserThread::run (this=0x55592a9d5e20) at /usr/src/debug/kile-2.9.93/src/parser/parserthread.cpp:169
#5  0x00007f8bb92605b0 in QThreadPrivate::start (arg=0x55592a9d5e20) at thread/qthread_unix.cpp:360
#6  0x00007f8bb8f7f4cf in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007f8bbbf932d3 in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f8bab5ef700 (LWP 57548)):
#0  0x00007f8bb8f85c45 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f8bb9266660 in QWaitConditionPrivate::wait (deadline=..., this=0x55592aa356c0) at thread/qwaitcondition_unix.cpp:146
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x55592aa32a60, deadline=...) at thread/qwaitcondition_unix.cpp:225
#3  0x00007f8bb9266752 in QWaitCondition::wait (this=this@entry=0x55592aa32a68, mutex=mutex@entry=0x55592aa32a60, time=time@entry=18446744073709551615) at ../../include/QtCore/../../src/corelib/kernel/qdeadlinetimer.h:68
#4  0x00007f8bbc30d049 in KileParser::ParserThread::run (this=0x55592aa32a30) at /usr/src/debug/kile-2.9.93/src/parser/parserthread.cpp:169
#5  0x00007f8bb92605b0 in QThreadPrivate::start (arg=0x55592aa32a30) at thread/qthread_unix.cpp:360
#6  0x00007f8bb8f7f4cf in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007f8bbbf932d3 in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f8bb10c1700 (LWP 57547)):
#0  0x00007f8bbbf889ef in poll () from /usr/lib/libc.so.6
#1  0x00007f8bb5034170 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f8bb5034241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f8bb9486a1c in QEventDispatcherGlib::processEvents (this=0x7f8ba4000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f8bb942d4ec in QEventLoop::exec (this=this@entry=0x7f8bb10c0d30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#5  0x00007f8bb925f385 in QThread::exec (this=this@entry=0x7f8bba3cb080 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#6  0x00007f8bba347b37 in QDBusConnectionManager::run (this=0x7f8bba3cb080 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#7  0x00007f8bb92605b0 in QThreadPrivate::start (arg=0x7f8bba3cb080 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:360
#8  0x00007f8bb8f7f4cf in start_thread () from /usr/lib/libpthread.so.0
#9  0x00007f8bbbf932d3 in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f8bb233f700 (LWP 57546)):
#0  0x00007f8bbbf889ef in poll () from /usr/lib/libc.so.6
#1  0x00007f8bb75de630 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f8bb75e02db in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007f8bb2c6f101 in QXcbEventQueue::run (this=0x55592a6d2360) at qxcbeventqueue.cpp:228
#4  0x00007f8bb92605b0 in QThreadPrivate::start (arg=0x55592a6d2360) at thread/qthread_unix.cpp:360
#5  0x00007f8bb8f7f4cf in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007f8bbbf932d3 in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f8bb30e8d00 (LWP 57545)):
[KCrash Handler]
#6  0x00007f8bb9458484 in std::__atomic_base<QThread*>::load (__m=std::memory_order_acquire, this=<error reading variable: Cannot access memory at address 0x3db000000ab>) at /usr/include/c++/9.1.0/bits/atomic_base.h:734
#7  std::atomic<QThread*>::load (__m=std::memory_order_acquire, this=<error reading variable: Cannot access memory at address 0x3db000000ab>) at /usr/include/c++/9.1.0/atomic:519
#8  QAtomicOps<QThread*>::loadAcquire<QThread*> (_q_value=<error reading variable: Cannot access memory at address 0x3db000000ab>) at ../../include/QtCore/../../src/corelib/thread/qatomic_cxx11.h:239
#9  QBasicAtomicPointer<QThread>::loadAcquire (this=<error reading variable: Cannot access memory at address 0x3db000000ab>) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:245
#10 QBasicAtomicPointer<QThread>::operator QThread* (this=<error reading variable: Cannot access memory at address 0x3db000000ab>) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:241
#11 QObject::thread (this=this@entry=0x55592c188690) at kernel/qobject.cpp:1433
#12 0x00007f8bb9463275 in QObject::QObject (this=0x7fffc6e54500, dd=..., parent=0x55592c188690) at kernel/qobject.cpp:839
#13 0x00007f8bb942d01e in QEventLoop::QEventLoop (this=0x7fffc6e54500, parent=0x55592c188690) at /usr/include/c++/9.1.0/bits/atomic_base.h:390
#14 0x00007f8bba414ea4 in KJob::exec() () from /usr/lib/libKF5CoreAddons.so.5
#15 0x00007f8bbc182c86 in ManageTemplatesDialog::removeTemplate (this=0x7fffc6e55780) at /usr/src/debug/kile-2.9.93/src/dialogs/managetemplatesdialog.cpp:325
#16 0x00007f8bb945ab70 in QtPrivate::QSlotObjectBase::call (a=0x7fffc6e546d0, r=0x7fffc6e55780, this=0x55592c147350) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#17 QMetaObject::activate (sender=0x7fffc6e55780, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3789
#18 0x00007f8bb9ffe9c9 in QDialogPrivate::finalize (this=<optimized out>, resultCode=1, dialogCode=<optimized out>) at dialogs/qdialog.cpp:176
#19 0x00007f8bb945ab70 in QtPrivate::QSlotObjectBase::call (a=0x7fffc6e547e0, r=0x7fffc6e55780, this=0x55592c1452c0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#20 QMetaObject::activate (sender=0x55592c10e3a0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3789
#21 0x00007f8bb9f96779 in QDialogButtonBoxPrivate::_q_handleButtonClicked (this=<optimized out>) at widgets/qdialogbuttonbox.cpp:864
#22 0x00007f8bb945aa11 in QMetaObject::activate (sender=0x55592c0e8670, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3809
#23 0x00007f8bb9eedd53 in QAbstractButton::clicked (this=this@entry=0x55592c0e8670, _t1=<optimized out>) at .moc/moc_qabstractbutton.cpp:313
#24 0x00007f8bb9eedf7c in QAbstractButtonPrivate::emitClicked (this=0x55592c13cbe0) at widgets/qabstractbutton.cpp:414
#25 0x00007f8bb9eef382 in QAbstractButtonPrivate::click (this=0x55592c13cbe0) at widgets/qabstractbutton.cpp:407
#26 0x00007f8bb9eef546 in QAbstractButton::mouseReleaseEvent (this=0x55592c0e8670, e=0x7fffc6e54ed0) at widgets/qabstractbutton.cpp:1011
#27 0x00007f8bb9e380e6 in QWidget::event (this=0x55592c0e8670, event=0x7fffc6e54ed0) at kernel/qwidget.cpp:8977
#28 0x00007f8bb9df44f5 in QApplicationPrivate::notify_helper (this=this@entry=0x55592a6b3810, receiver=receiver@entry=0x55592c0e8670, e=e@entry=0x7fffc6e54ed0) at kernel/qapplication.cpp:3703
#29 0x00007f8bb9dfdf8a in QApplication::notify (this=<optimized out>, receiver=0x55592c0e8670, e=0x7fffc6e54ed0) at kernel/qapplication.cpp:3163
#30 0x00007f8bb942e9c2 in QCoreApplication::notifyInternal2 (receiver=0x55592c0e8670, event=0x7fffc6e54ed0) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:143
#31 0x00007f8bb9dfd13b in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x55592c0e8670, event=event@entry=0x7fffc6e54ed0, alienWidget=alienWidget@entry=0x55592c0e8670, nativeWidget=0x7fffc6e55780, buttonDown=buttonDown@entry=0x7f8bba332330 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2649
#32 0x00007f8bb9e54391 in QWidgetWindow::handleMouseEvent (this=0x55592c130ee0, event=0x7fffc6e55350) at /usr/include/c++/9.1.0/bits/atomic_base.h:413
#33 0x00007f8bb9e572d4 in QWidgetWindow::event (event=0x7fffc6e55350, this=0x55592c130ee0) at kernel/qwidgetwindow.cpp:281
#34 QWidgetWindow::event (this=0x55592c130ee0, event=0x7fffc6e55350) at kernel/qwidgetwindow.cpp:224
#35 0x00007f8bb9df44f5 in QApplicationPrivate::notify_helper (this=this@entry=0x55592a6b3810, receiver=receiver@entry=0x55592c130ee0, e=e@entry=0x7fffc6e55350) at kernel/qapplication.cpp:3703
#36 0x00007f8bb9dfde11 in QApplication::notify (this=0x7fffc6e56040, receiver=0x55592c130ee0, e=0x7fffc6e55350) at kernel/qapplication.cpp:3449
#37 0x00007f8bb942e9c2 in QCoreApplication::notifyInternal2 (receiver=0x55592c130ee0, event=0x7fffc6e55350) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:143
#38 0x00007f8bb97cfbf4 in QGuiApplicationPrivate::processMouseEvent (e=e@entry=0x55592c157a00) at kernel/qguiapplication.cpp:2111
#39 0x00007f8bb97d149b in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x55592c157a00) at kernel/qguiapplication.cpp:1846
#40 0x00007f8bb97abafc in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1148
#41 0x00007f8bb2c7012c in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#42 0x00007f8bb50323ee in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#43 0x00007f8bb5034201 in ?? () from /usr/lib/libglib-2.0.so.0
#44 0x00007f8bb5034241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#45 0x00007f8bb9486a03 in QEventDispatcherGlib::processEvents (this=0x55592a718ab0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#46 0x00007f8bb942d4ec in QEventLoop::exec (this=this@entry=0x7fffc6e55700, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#47 0x00007f8bb9fffade in QDialog::exec (this=this@entry=0x7fffc6e55780) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#48 0x00007f8bbc2753e7 in KileDocument::Manager::removeTemplate (this=0x55592a7fba90) at /usr/src/debug/kile-2.9.93/src/kiledocmanager.cpp:767
#49 0x00007f8bb945ab70 in QtPrivate::QSlotObjectBase::call (a=0x7fffc6e55910, r=0x55592a7fba90, this=0x55592bdab160) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#50 QMetaObject::activate (sender=0x55592bdb4550, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3789
#51 0x00007f8bb9dedeb3 in QAction::triggered (this=this@entry=0x55592bdb4550, _t1=<optimized out>) at .moc/moc_qaction.cpp:381
#52 0x00007f8bb9df0644 in QAction::activate (this=0x55592bdb4550, event=<optimized out>) at kernel/qaction.cpp:1166
#53 0x00007f8bb945b44a in QObject::event (this=0x55592bdb4550, e=<optimized out>) at kernel/qobject.cpp:1260
#54 0x00007f8bb9df0ef4 in QAction::event (this=<optimized out>, e=<optimized out>) at kernel/qaction.cpp:1096
#55 0x00007f8bb9df44f5 in QApplicationPrivate::notify_helper (this=this@entry=0x55592a6b3810, receiver=receiver@entry=0x55592bdb4550, e=e@entry=0x55592c127140) at kernel/qapplication.cpp:3703
#56 0x00007f8bb9dfde11 in QApplication::notify (this=0x7fffc6e56040, receiver=0x55592bdb4550, e=0x55592c127140) at kernel/qapplication.cpp:3449
#57 0x00007f8bb942e9c2 in QCoreApplication::notifyInternal2 (receiver=0x55592bdb4550, event=0x55592c127140) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:143
#58 0x00007f8bb9431739 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55592a6ada90) at kernel/qcoreapplication.cpp:1840
#59 0x00007f8bb9487404 in postEventSourceDispatch (s=0x55592a7069e0) at kernel/qeventdispatcher_glib.cpp:277
#60 0x00007f8bb50323ee in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#61 0x00007f8bb5034201 in ?? () from /usr/lib/libglib-2.0.so.0
#62 0x00007f8bb5034241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#63 0x00007f8bb9486a03 in QEventDispatcherGlib::processEvents (this=0x55592a718ab0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#64 0x00007f8bb942d4ec in QEventLoop::exec (this=this@entry=0x7fffc6e55f30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#65 0x00007f8bb9435326 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#66 0x00007f8bb97c4cce in QGuiApplication::exec () at kernel/qguiapplication.cpp:1788
#67 0x00007f8bb9df4466 in QApplication::exec () at kernel/qapplication.cpp:2859
#68 0x00007f8bbc2f9ee7 in kdemain (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kile-2.9.93/src/main.cpp:203
#69 0x00007f8bbbebb153 in __libc_start_main () from /usr/lib/libc.so.6
#70 0x0000555929aa305e in _start ()
[Inferior 1 (process 57545) detached]

Reported using DrKonqi
Comment 1 Kishore Gopalakrishnan 2019-10-27 06:43:54 UTC
Note: the crash happens on clicking 'OK' after selecting the template.
Comment 2 Michel Ludwig 2019-12-01 13:33:18 UTC
Git commit 483743aa9f194376a8b496ac4e58a946070a36af by Michel Ludwig.
Committed on 01/12/2019 at 08:09.
Pushed by mludwig into branch 'master'.

Don't crash when deleting templates

M  +0    -11   src/dialogs/managetemplatesdialog.cpp

https://commits.kde.org/kile/483743aa9f194376a8b496ac4e58a946070a36af