Bug 379315 - KBibTex crashed when aborting duplicate removal
Summary: KBibTex crashed when aborting duplicate removal
Status: RESOLVED FIXED
Alias: None
Product: KBibTeX
Classification: Applications
Component: General (show other bugs)
Version: 0.6
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Thomas Fischer
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2017-04-28 14:33 UTC by jdrees
Modified: 2017-09-23 20:49 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Single line change to avoid crash (637 bytes, patch)
2017-04-29 22:26 UTC, Thomas Fischer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description jdrees 2017-04-28 14:33:23 UTC
Application: kbibtex (0.6.2)

Qt Version: 5.8.0
Frameworks Version: 5.33.0
Operating System: Linux 4.10.10-1-ARCH x86_64
Distribution: "Arch Linux"

-- Information about the crash:
- What I was doing when the application crashed:
Using the "search for duplicate" functionality. After clicking "Cancel", the application crashed and had to be restarted.
This also happens when clicking "OK" after the popup "No duplicates found" appears.

-- Backtrace:
Application: KBibTeX (kbibtex), signal: Aborted
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f7ea5527840 (LWP 3306))]

Thread 4 (Thread 0x7f7e828bc700 (LWP 3588)):
#0  0x00007f7ea17b537d in read () at /usr/lib/libc.so.6
#1  0x00007f7e9d8c2aa0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f7e9d87e26e in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#3  0x00007f7e9d87e744 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f7e9d87e8bc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#5  0x00007f7ea1fcff8e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQtCore.so.4
#6  0x00007f7ea1f9e43f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQtCore.so.4
#7  0x00007f7ea1f9e7a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQtCore.so.4
#8  0x00007f7ea1e8c779 in QThread::exec() () at /usr/lib/libQtCore.so.4
#9  0x00007f7ea1e8f04a in  () at /usr/lib/libQtCore.so.4
#10 0x00007f7e9f60c2e7 in start_thread () at /usr/lib/libpthread.so.0
#11 0x00007f7ea17c354f in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f7e83744700 (LWP 3587)):
#0  0x00007f7ea17b967d in poll () at /usr/lib/libc.so.6
#1  0x00007f7e9d87e7a6 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f7e9d87e8bc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f7ea1fcff8e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQtCore.so.4
#4  0x00007f7ea1f9e43f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQtCore.so.4
#5  0x00007f7ea1f9e7a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQtCore.so.4
#6  0x00007f7ea1e8c779 in QThread::exec() () at /usr/lib/libQtCore.so.4
#7  0x00007f7ea1e8f04a in  () at /usr/lib/libQtCore.so.4
#8  0x00007f7e9f60c2e7 in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f7ea17c354f in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f7e88b01700 (LWP 3318)):
#0  0x00007f7ea17b537d in read () at /usr/lib/libc.so.6
#1  0x00007f7e9d8c2aa0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f7e9d87e26e in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#3  0x00007f7e9d87e744 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f7e9d87e8bc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#5  0x00007f7ea1fcff8e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQtCore.so.4
#6  0x00007f7ea1f9e43f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQtCore.so.4
#7  0x00007f7ea1f9e7a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQtCore.so.4
#8  0x00007f7ea1e8c779 in QThread::exec() () at /usr/lib/libQtCore.so.4
#9  0x00007f7ea1f7e313 in  () at /usr/lib/libQtCore.so.4
#10 0x00007f7ea1e8f04a in  () at /usr/lib/libQtCore.so.4
#11 0x00007f7e9f60c2e7 in start_thread () at /usr/lib/libpthread.so.0
#12 0x00007f7ea17c354f in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f7ea5527840 (LWP 3306)):
[KCrash Handler]
#6  0x00007f7ea170aa10 in raise () at /usr/lib/libc.so.6
#7  0x00007f7ea170c13a in abort () at /usr/lib/libc.so.6
#8  0x00007f7ea17492b0 in __libc_message () at /usr/lib/libc.so.6
#9  0x00007f7ea174f90e in malloc_printerr () at /usr/lib/libc.so.6
#10 0x00007f7ea175011e in _int_free () at /usr/lib/libc.so.6
#11 0x00007f7ea1fb7f44 in QObjectPrivate::deleteChildren() () at /usr/lib/libQtCore.so.4
#12 0x00007f7ea2563222 in QWidget::~QWidget() () at /usr/lib/libQtGui.so.4
#13 0x00007f7ea3921e29 in KDialog::~KDialog() () at /usr/lib/libkdeui.so.5
#14 0x00007f7ea4c941e6 in FindDuplicatesUI::slotFindDuplicates() () at /usr/lib/libkbibtexgui.so.0.6
#15 0x00007f7ea1fb3cb0 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib/libQtCore.so.4
#16 0x00007f7ea2507082 in QAction::triggered(bool) () at /usr/lib/libQtGui.so.4
#17 0x00007f7ea25083e3 in QAction::activate(QAction::ActionEvent) () at /usr/lib/libQtGui.so.4
#18 0x00007f7ea28e3383 in  () at /usr/lib/libQtGui.so.4
#19 0x00007f7ea28e34d4 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/libQtGui.so.4
#20 0x00007f7ea29a8bba in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/libQtGui.so.4
#21 0x00007f7ea2563840 in QWidget::event(QEvent*) () at /usr/lib/libQtGui.so.4
#22 0x00007f7ea250cf2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQtGui.so.4
#23 0x00007f7ea25155b7 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQtGui.so.4
#24 0x00007f7ea39cc32a in KApplication::notify(QObject*, QEvent*) () at /usr/lib/libkdeui.so.5
#25 0x00007f7ea1f9fb6d in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib/libQtCore.so.4
#26 0x00007f7ea25135db in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib/libQtGui.so.4
#27 0x00007f7ea258ea99 in  () at /usr/lib/libQtGui.so.4
#28 0x00007f7ea258d44c in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib/libQtGui.so.4
#29 0x00007f7ea25b5e02 in  () at /usr/lib/libQtGui.so.4
#30 0x00007f7e9d87e5a7 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#31 0x00007f7e9d87e810 in  () at /usr/lib/libglib-2.0.so.0
#32 0x00007f7e9d87e8bc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#33 0x00007f7ea1fcff6e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQtCore.so.4
#34 0x00007f7ea25b5ed6 in  () at /usr/lib/libQtGui.so.4
#35 0x00007f7ea1f9e43f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQtCore.so.4
#36 0x00007f7ea1f9e7a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQtCore.so.4
#37 0x00007f7ea1fa4209 in QCoreApplication::exec() () at /usr/lib/libQtCore.so.4
#38 0x0000000000419831 in  ()
#39 0x00007f7ea16f7511 in __libc_start_main () at /usr/lib/libc.so.6
#40 0x000000000041d0ba in _start ()

Possible duplicates by query: bug 367653.

Reported using DrKonqi
Comment 1 Thomas Fischer 2017-04-29 22:26:14 UTC
Created attachment 105279 [details]
Single line change to avoid crash

The attached patch may be sufficient to fix this issue. Please test if possible and report your results.
Comment 2 jdrees 2017-04-30 09:54:23 UTC
I will try to build kbibtex from source in approximately a week, since I am currently using it for an assignment and the deadline is soon.
If i succeed in building, I will report back (currently I'm running a binary distributed by the archlinux repo).
Comment 3 Juergen Spitzmueller 2017-06-27 08:13:28 UTC
I was struck by the same crash (100% reproducible).

With the patch, kbibtex does not crash anymore.
Comment 4 Thomas Fischer 2017-09-23 20:49:55 UTC
Git commit cd2bb95e4adb2de0576f97bdabef1f342e817d31 by Thomas Fischer.
Committed on 23/09/2017 at 20:47.
Pushed by thomasfischer into branch 'kbibtex/0.6'.

Fixing crash when cancelling search for duplicates

M  +1    -1    src/gui/file/findduplicatesui.cpp

https://commits.kde.org/kbibtex/cd2bb95e4adb2de0576f97bdabef1f342e817d31