Bug 414149 - Ark crash on close while loading archive
Summary: Ark crash on close while loading archive
Status: RESOLVED DUPLICATE of bug 410092
Alias: None
Product: ark
Classification: Applications
Component: general (show other bugs)
Version: 19.08.2
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Elvis Angelaccio
URL:
Keywords: drkonqi
: 431177 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-11-14 18:29 UTC by Danil Pleshakov
Modified: 2021-01-05 20:48 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Ark backtrace (4.41 KB, text/plain)
2019-11-18 05:48 UTC, aska990
Details
New crash information added by DrKonqi (3.86 KB, text/plain)
2020-09-03 14:01 UTC, Mustafa Muhammad
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Danil Pleshakov 2019-11-14 18:29:38 UTC
Application: ark (19.08.2)
 (Compiled from sources)
Qt Version: 5.12.5
Frameworks Version: 5.63.0
Operating System: Linux 5.3.6-gentoo-r1 x86_64
Distribution: "Gentoo Base System release 2.6"

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

1. Open large archive
2. Simply close app while archive is loading

App running on gentoo, apps built with use flags:
1. ark "bzip2 lzma zip"
2. qtcore "icu systemd"
3. qtgui "dbus egl gif jpeg libinput png udev xcb"
4. plasma-desktop "fontconfig mouse semantic-desktop"

The crash can be reproduced sometimes.

-- Backtrace:
Application: Ark (ark), signal: Segmentation fault
(lldb) process attach --pid 3086
Process 3086 stopped
* thread #1, name = 'ark', stop reason = signal SIGSTOP
    frame #0: 0x00007f36adc8b7f3 libc.so.6`__poll + 115
libc.so.6`__poll:
->  0x7f36adc8b7f3 <+115>: cmpq   $-0x1000, %rax            ; imm = 0xF000 
    0x7f36adc8b7f9 <+121>: ja     0x7f36adc8b823            ; <+163>
    0x7f36adc8b7fb <+123>: movl   %r8d, %edi
    0x7f36adc8b7fe <+126>: movl   %eax, 0x8(%rsp)
  thread #2, name = 'QXcbEventQueue', stop reason = signal SIGSTOP
    frame #0: 0x00007f36adc8b7f3 libc.so.6`__poll + 115
libc.so.6`__poll:
->  0x7f36adc8b7f3 <+115>: cmpq   $-0x1000, %rax            ; imm = 0xF000 
    0x7f36adc8b7f9 <+121>: ja     0x7f36adc8b823            ; <+163>
    0x7f36adc8b7fb <+123>: movl   %r8d, %edi
    0x7f36adc8b7fe <+126>: movl   %eax, 0x8(%rsp)
  thread #3, name = 'ark:cs0', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
libpthread.so.0`__pthread_cond_wait:
->  0x7f36ad206ee5 <+485>: cmpq   $-0x1000, %rax            ; imm = 0xF000 
    0x7f36ad206eeb <+491>: ja     0x7f36ad206f50            ; <+592>
    0x7f36ad206eed <+493>: movl   %r9d, %edi
    0x7f36ad206ef0 <+496>: callq  0x7f36ad20ac30            ; __pthread_disable_asynccancel
  thread #4, name = 'ark:disk$0', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
libpthread.so.0`__pthread_cond_wait:
->  0x7f36ad206ee5 <+485>: cmpq   $-0x1000, %rax            ; imm = 0xF000 
    0x7f36ad206eeb <+491>: ja     0x7f36ad206f50            ; <+592>
    0x7f36ad206eed <+493>: movl   %r9d, %edi
    0x7f36ad206ef0 <+496>: callq  0x7f36ad20ac30            ; __pthread_disable_asynccancel
  thread #5, name = 'ark:sh0', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
libpthread.so.0`__pthread_cond_wait:
->  0x7f36ad206ee5 <+485>: cmpq   $-0x1000, %rax            ; imm = 0xF000 
    0x7f36ad206eeb <+491>: ja     0x7f36ad206f50            ; <+592>
    0x7f36ad206eed <+493>: movl   %r9d, %edi
    0x7f36ad206ef0 <+496>: callq  0x7f36ad20ac30            ; __pthread_disable_asynccancel
  thread #6, name = 'ark:sh1', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
libpthread.so.0`__pthread_cond_wait:
->  0x7f36ad206ee5 <+485>: cmpq   $-0x1000, %rax            ; imm = 0xF000 
    0x7f36ad206eeb <+491>: ja     0x7f36ad206f50            ; <+592>
    0x7f36ad206eed <+493>: movl   %r9d, %edi
    0x7f36ad206ef0 <+496>: callq  0x7f36ad20ac30            ; __pthread_disable_asynccancel
  thread #7, name = 'ark:sh2', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
libpthread.so.0`__pthread_cond_wait:
->  0x7f36ad206ee5 <+485>: cmpq   $-0x1000, %rax            ; imm = 0xF000 
    0x7f36ad206eeb <+491>: ja     0x7f36ad206f50            ; <+592>
    0x7f36ad206eed <+493>: movl   %r9d, %edi
    0x7f36ad206ef0 <+496>: callq  0x7f36ad20ac30            ; __pthread_disable_asynccancel
  thread #8, name = 'ark:shlo0', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
libpthread.so.0`__pthread_cond_wait:
->  0x7f36ad206ee5 <+485>: cmpq   $-0x1000, %rax            ; imm = 0xF000 
    0x7f36ad206eeb <+491>: ja     0x7f36ad206f50            ; <+592>
    0x7f36ad206eed <+493>: movl   %r9d, %edi
    0x7f36ad206ef0 <+496>: callq  0x7f36ad20ac30            ; __pthread_disable_asynccancel
  thread #9, name = 'ark:shlo1', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
libpthread.so.0`__pthread_cond_wait:
->  0x7f36ad206ee5 <+485>: cmpq   $-0x1000, %rax            ; imm = 0xF000 
    0x7f36ad206eeb <+491>: ja     0x7f36ad206f50            ; <+592>
    0x7f36ad206eed <+493>: movl   %r9d, %edi
    0x7f36ad206ef0 <+496>: callq  0x7f36ad20ac30            ; __pthread_disable_asynccancel
  thread #10, name = 'ark:gdrv0', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
libpthread.so.0`__pthread_cond_wait:
->  0x7f36ad206ee5 <+485>: cmpq   $-0x1000, %rax            ; imm = 0xF000 
    0x7f36ad206eeb <+491>: ja     0x7f36ad206f50            ; <+592>
    0x7f36ad206eed <+493>: movl   %r9d, %edi
    0x7f36ad206ef0 <+496>: callq  0x7f36ad20ac30            ; __pthread_disable_asynccancel
  thread #11, name = 'QDBusConnection', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ac933619 libglib-2.0.so.0`___lldb_unnamed_symbol185$$libglib-2.0.so.0 + 57
libglib-2.0.so.0`___lldb_unnamed_symbol185$$libglib-2.0.so.0:
->  0x7f36ac933619 <+57>: popq   %r12
    0x7f36ac93361b <+59>: retq   
    0x7f36ac93361c <+60>: nopl   (%rax)
    0x7f36ac933620 <+64>: movq   0x10(%rbp), %rax

Executable module set to "/usr/bin/ark".
Architecture set to: x86_64-pc-linux-gnu.
(lldb) set term-width 200
(lldb) thread info
thread #1: tid = 3086, 0x00007f36adc8b7f3 libc.so.6`__poll + 115, name = 'ark', stop reason = signal SIGSTOP

(lldb) bt all
* thread #1, name = 'ark', stop reason = signal SIGSTOP
  * frame #0: 0x00007f36adc8b7f3 libc.so.6`__poll + 115
    frame #1: 0x00007f36af49cd94 libKF5Crash.so.5`___lldb_unnamed_symbol8$$libKF5Crash.so.5 + 84
    frame #2: 0x00007f36af49d321 libKF5Crash.so.5`___lldb_unnamed_symbol11$$libKF5Crash.so.5 + 929
    frame #3: 0x00007f36af49dbd6 libKF5Crash.so.5`___lldb_unnamed_symbol13$$libKF5Crash.so.5 + 38
    frame #4: 0x00007f36af49e092 libKF5Crash.so.5`KCrash::defaultCrashHandler(int) + 1154
    frame #5: 0x00007f36adbcade0 libc.so.6`___lldb_unnamed_symbol191$$libc.so.6 + 1
    frame #6: 0x00007f36af09b3dd libKF5CoreAddons.so.5`KJob::kill(KJob::KillVerbosity) + 45
    frame #7: 0x00007f367e565003 arkpart.so`___lldb_unnamed_symbol394$$arkpart.so + 83
    frame #8: 0x00007f367e565069 arkpart.so`___lldb_unnamed_symbol395$$arkpart.so + 9
    frame #9: 0x00007f36ae25285c libQt5Core.so.5`QObjectPrivate::deleteChildren() + 140
    frame #10: 0x00007f36aeb8b4b6 libQt5Widgets.so.5`QWidget::~QWidget() + 934
    frame #11: 0x00007f36aeb8b6a9 libQt5Widgets.so.5`QWidget::~QWidget() + 9
    frame #12: 0x00007f36af7e13e7 libKF5Parts.so.5`KParts::Part::~Part() + 327
    frame #13: 0x00007f367e539f48 arkpart.so`___lldb_unnamed_symbol111$$arkpart.so + 376
    frame #14: 0x00007f367e53a169 arkpart.so`___lldb_unnamed_symbol115$$arkpart.so + 9
    frame #15: 0x0000560a340bd57f ark`___lldb_unnamed_symbol97$$ark + 271
    frame #16: 0x0000560a340bd649 ark`___lldb_unnamed_symbol102$$ark + 9
    frame #17: 0x00007f36ae24d378 libQt5Core.so.5`QObject::event(QEvent*) + 264
    frame #18: 0x00007f36aeb8fefb libQt5Widgets.so.5`QWidget::event(QEvent*) + 1643
    frame #19: 0x00007f36aec97d84 libQt5Widgets.so.5`QMainWindow::event(QEvent*) + 100
    frame #20: 0x00007f36af40b1fb libKF5XmlGui.so.5`KMainWindow::event(QEvent*) + 507
    frame #21: 0x00007f36af455787 libKF5XmlGui.so.5`KXmlGuiWindow::event(QEvent*) + 39
    frame #22: 0x00007f36aeb50431 libQt5Widgets.so.5`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 129
    frame #23: 0x00007f36aeb57840 libQt5Widgets.so.5`QApplication::notify(QObject*, QEvent*) + 528
    frame #24: 0x00007f36ae224331 libQt5Core.so.5`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 129
    frame #25: 0x00007f36ae227456 libQt5Core.so.5`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 454
    frame #26: 0x00007f36ae275533 libQt5Core.so.5`___lldb_unnamed_symbol4971$$libQt5Core.so.5 + 19
    frame #27: 0x00007f36ac93650d libglib-2.0.so.0`g_main_context_dispatch + 685
    frame #28: 0x00007f36ac9367a8 libglib-2.0.so.0`___lldb_unnamed_symbol194$$libglib-2.0.so.0 + 520
    frame #29: 0x00007f36ac93683c libglib-2.0.so.0`g_main_context_iteration + 44
    frame #30: 0x00007f36ae2752d3 libQt5Core.so.5`QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 99
    frame #31: 0x00007f36ae223233 libQt5Core.so.5`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 307
    frame #32: 0x00007f36ae22af32 libQt5Core.so.5`QCoreApplication::exec() + 146
    frame #33: 0x0000560a340b062c ark`___lldb_unnamed_symbol11$$ark + 5580
    frame #34: 0x00007f36adbb5f1b libc.so.6`__libc_start_main + 235
    frame #35: 0x0000560a340b17ba ark`_start + 42
  thread #2, name = 'QXcbEventQueue', stop reason = signal SIGSTOP
    frame #0: 0x00007f36adc8b7f3 libc.so.6`__poll + 115
    frame #1: 0x00007f36ac39fcf7 libxcb.so.1`___lldb_unnamed_symbol6$$libxcb.so.1 + 151
    frame #2: 0x00007f36ac3a192a libxcb.so.1`xcb_wait_for_event + 74
    frame #3: 0x00007f36a9e87460 libQt5XcbQpa.so.5`___lldb_unnamed_symbol426$$libQt5XcbQpa.so.5 + 48
    frame #4: 0x00007f36ae096101 libQt5Core.so.5`___lldb_unnamed_symbol2348$$libQt5Core.so.5 + 273
    frame #5: 0x00007f36ad200497 libpthread.so.0`start_thread + 231
    frame #6: 0x00007f36adc979af libc.so.6`clone + 63
  thread #3, name = 'ark:cs0', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
    frame #1: 0x00007f36a379e24b radeonsi_dri.so`___lldb_unnamed_symbol16789$$radeonsi_dri.so + 123
    frame #2: 0x00007f36a379de67 radeonsi_dri.so`___lldb_unnamed_symbol16782$$radeonsi_dri.so + 23
    frame #3: 0x00007f36ad200497 libpthread.so.0`start_thread + 231
    frame #4: 0x00007f36adc979af libc.so.6`clone + 63
  thread #4, name = 'ark:disk$0', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
    frame #1: 0x00007f36a379e24b radeonsi_dri.so`___lldb_unnamed_symbol16789$$radeonsi_dri.so + 123
    frame #2: 0x00007f36a379de67 radeonsi_dri.so`___lldb_unnamed_symbol16782$$radeonsi_dri.so + 23
    frame #3: 0x00007f36ad200497 libpthread.so.0`start_thread + 231
    frame #4: 0x00007f36adc979af libc.so.6`clone + 63
  thread #5, name = 'ark:sh0', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
    frame #1: 0x00007f36a379e24b radeonsi_dri.so`___lldb_unnamed_symbol16789$$radeonsi_dri.so + 123
    frame #2: 0x00007f36a379de67 radeonsi_dri.so`___lldb_unnamed_symbol16782$$radeonsi_dri.so + 23
    frame #3: 0x00007f36ad200497 libpthread.so.0`start_thread + 231
    frame #4: 0x00007f36adc979af libc.so.6`clone + 63
  thread #6, name = 'ark:sh1', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
    frame #1: 0x00007f36a379e24b radeonsi_dri.so`___lldb_unnamed_symbol16789$$radeonsi_dri.so + 123
    frame #2: 0x00007f36a379de67 radeonsi_dri.so`___lldb_unnamed_symbol16782$$radeonsi_dri.so + 23
    frame #3: 0x00007f36ad200497 libpthread.so.0`start_thread + 231
    frame #4: 0x00007f36adc979af libc.so.6`clone + 63
  thread #7, name = 'ark:sh2', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
    frame #1: 0x00007f36a379e24b radeonsi_dri.so`___lldb_unnamed_symbol16789$$radeonsi_dri.so + 123
    frame #2: 0x00007f36a379de67 radeonsi_dri.so`___lldb_unnamed_symbol16782$$radeonsi_dri.so + 23
    frame #3: 0x00007f36ad200497 libpthread.so.0`start_thread + 231
    frame #4: 0x00007f36adc979af libc.so.6`clone + 63
  thread #8, name = 'ark:shlo0', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
    frame #1: 0x00007f36a379e24b radeonsi_dri.so`___lldb_unnamed_symbol16789$$radeonsi_dri.so + 123
    frame #2: 0x00007f36a379de67 radeonsi_dri.so`___lldb_unnamed_symbol16782$$radeonsi_dri.so + 23
    frame #3: 0x00007f36ad200497 libpthread.so.0`start_thread + 231
    frame #4: 0x00007f36adc979af libc.so.6`clone + 63
  thread #9, name = 'ark:shlo1', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
    frame #1: 0x00007f36a379e24b radeonsi_dri.so`___lldb_unnamed_symbol16789$$radeonsi_dri.so + 123
    frame #2: 0x00007f36a379de67 radeonsi_dri.so`___lldb_unnamed_symbol16782$$radeonsi_dri.so + 23
    frame #3: 0x00007f36ad200497 libpthread.so.0`start_thread + 231
    frame #4: 0x00007f36adc979af libc.so.6`clone + 63
  thread #10, name = 'ark:gdrv0', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ad206ee5 libpthread.so.0`__pthread_cond_wait + 485
    frame #1: 0x00007f36a379e24b radeonsi_dri.so`___lldb_unnamed_symbol16789$$radeonsi_dri.so + 123
    frame #2: 0x00007f36a379de67 radeonsi_dri.so`___lldb_unnamed_symbol16782$$radeonsi_dri.so + 23
    frame #3: 0x00007f36ad200497 libpthread.so.0`start_thread + 231
    frame #4: 0x00007f36adc979af libc.so.6`clone + 63
  thread #11, name = 'QDBusConnection', stop reason = signal SIGSTOP
    frame #0: 0x00007f36ac933619 libglib-2.0.so.0`___lldb_unnamed_symbol185$$libglib-2.0.so.0 + 57
    frame #1: 0x00007f36ac935ba3 libglib-2.0.so.0`g_main_context_prepare + 259
    frame #2: 0x00007f36ac936646 libglib-2.0.so.0`___lldb_unnamed_symbol194$$libglib-2.0.so.0 + 166
    frame #3: 0x00007f36ac93683c libglib-2.0.so.0`g_main_context_iteration + 44
    frame #4: 0x00007f36ae2752eb libQt5Core.so.5`QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 123
    frame #5: 0x00007f36ae223233 libQt5Core.so.5`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 307
    frame #6: 0x00007f36ae094ed6 libQt5Core.so.5`QThread::exec() + 182
    frame #7: 0x00007f36ad657565 libQt5DBus.so.5`___lldb_unnamed_symbol32$$libQt5DBus.so.5 + 21
    frame #8: 0x00007f36ae096101 libQt5Core.so.5`___lldb_unnamed_symbol2348$$libQt5Core.so.5 + 273
    frame #9: 0x00007f36ad200497 libpthread.so.0`start_thread + 231
    frame #10: 0x00007f36adc979af libc.so.6`clone + 63
(lldb) detach

Possible duplicates by query: bug 414147, bug 413943, bug 413742, bug 413708, bug 413706.

Reported using DrKonqi
Comment 1 aska990 2019-11-18 05:48:08 UTC
Created attachment 123978 [details]
Ark backtrace
Comment 2 aska990 2019-11-18 05:48:41 UTC
Ark also crashes if you quit while decompressing an archive (I'm assuming it's the same bug). This is a pretty dangerous bug because 1) it's not obvious that there is a decompression in progress, the only indicator is a tiny progress bar 2) the destination folder is still created and filled with whatever was extracted before the crash.

Therefore it's pretty easy to decompress to a location, quit Ark without noticing it's not done decompressing, and not realize the destination folder is missing files. I've had this exact scenario happen more than once.
Comment 3 Mustafa Muhammad 2020-09-03 14:01:49 UTC
Created attachment 131393 [details]
New crash information added by DrKonqi

ark (20.08.0) using Qt 5.15.0

- What I was doing when the application crashed:

Opening a large archive and close the window while it was still "Loading archive"

-- Backtrace (Reduced):
#4  0x00007f44c17a361e in KJob::kill (this=0x557cd67f1d00, verbosity=verbosity@entry=KJob::Quietly) at /usr/src/debug/kcoreaddons-5.73.0-1.2.x86_64/src/lib/jobs/kjob.cpp:106
#5  0x00007f44b83203f3 in JobTracker::~JobTracker (this=<optimized out>, this=<optimized out>) at /usr/src/debug/ark-20.08.0-1.2.x86_64/part/jobtracker.cpp:42
#6  0x00007f44b8320459 in JobTracker::~JobTracker (this=<optimized out>, this=<optimized out>) at /usr/src/debug/ark-20.08.0-1.2.x86_64/part/jobtracker.cpp:44
#7  0x00007f44c070f74e in QObjectPrivate::deleteChildren (this=this@entry=0x557cd637b640) at kernel/qobject.cpp:2104
#8  0x00007f44c1278896 in QWidget::~QWidget (this=0x557cd66c1ab0, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1523
Comment 4 Justin Zobel 2020-12-01 08:27:36 UTC
Confirmed, used linux-5.9.11.tar.xz as a test. It appears to close properly but DrKonqi does confirm it crashed.
Comment 5 Elvis Angelaccio 2021-01-05 17:48:25 UTC
*** Bug 431177 has been marked as a duplicate of this bug. ***
Comment 6 Elvis Angelaccio 2021-01-05 20:48:08 UTC

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