Bug 212027

Summary: trying to extract multiple file rar
Product: [Applications] ark Reporter: Jonathan <jonathan2007>
Component: generalAssignee: Harald Hvaal <metellius>
Status: RESOLVED FIXED    
Severity: crash CC: archx, rakuco, t.kijas
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Tarball with a 3-part RAR archive
Command 1 output
Command 2 output

Description Jonathan 2009-10-27 06:23:26 UTC
Application that crashed: ark
Version of the application: 2.13
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.3
Operating System: Linux 2.6.31-5.slh.1-sidux-amd64 x86_64
Distribution: Debian GNU/Linux unstable (sid)

What I was doing when the application crashed:
trying to extract multiple file rar from dolphin and ark immediately crashes. i attempted to extract from inside ark and it immediately crashed as well.

 -- Backtrace:
Application: Ark (ark), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f9499aac750 (LWP 13524))]

Thread 3 (Thread 0x7f948aa8b910 (LWP 13525)):
[KCrash Handler]
#5  QString::length (this=0x1a3db30, ch=..., from=<value optimized out>, cs=<value optimized out>) at ../../include/QtCore/../../src/corelib/tools/qstring.h:683
#6  QString::indexOf (this=0x1a3db30, ch=..., from=<value optimized out>, cs=<value optimized out>) at tools/qstring.cpp:2341
#7  0x00007f948aa91030 in ?? () from /usr/lib/kde4/kerfuffle_clirar.so
#8  0x00007f94997c112c in Kerfuffle::CliInterface::handleLine(QString const&) () from /usr/lib/libkerfuffle.so.4
#9  0x00007f94997c18d4 in Kerfuffle::CliInterface::readStdout(bool) () from /usr/lib/libkerfuffle.so.4
#10 0x00007f94997c1c0a in Kerfuffle::CliInterface::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkerfuffle.so.4
#11 0x00007f94976eddf2 in QMetaObject::activate (sender=0x1a2e940, from_signal_index=<value optimized out>, to_signal_index=13, argv=0x0) at kernel/qobject.cpp:3112
#12 0x00007f9497680104 in QProcessPrivate::_q_canReadStandardOutput (this=0x1a2f5d0) at io/qprocess.cpp:564
#13 0x00007f94976806d9 in QProcess::qt_metacall (this=0x1a2e940, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7f948aa8a7d0) at .moc/release-shared/moc_qprocess.cpp:101
#14 0x00007f94986c324d in KProcess::qt_metacall (this=0x1a3db30, _c=100, _id=100, _a=0x0) at ./kprocess.moc:63
#15 0x00007f94976eddf2 in QMetaObject::activate (sender=0x1a2f350, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3112
#16 0x00007f949772437e in QSocketNotifier::activated (this=0x1a3db30, _t1=20) at .moc/release-shared/moc_qsocketnotifier.cpp:83
#17 0x00007f94976f2893 in QSocketNotifier::event (this=0x1a2f350, e=0x7f948aa8ada0) at kernel/qsocketnotifier.cpp:316
#18 0x00007f9497ba701d in QApplicationPrivate::notify_helper (this=0x17138a0, receiver=0x1a2f350, e=0x7f948aa8ada0) at kernel/qapplication.cpp:4065
#19 0x00007f9497baf07a in QApplication::notify (this=0x7fff2d5e0530, receiver=0x1a2f350, e=0x7f948aa8ada0) at kernel/qapplication.cpp:4030
#20 0x00007f9498c850db in KApplication::notify (this=0x7fff2d5e0530, receiver=0x1a2f350, event=0x7f948aa8ada0) at ../../kdeui/kernel/kapplication.cpp:302
#21 0x00007f94976d8c9c in QCoreApplication::notifyInternal (this=0x7fff2d5e0530, receiver=0x1a2f350, event=0x7f948aa8ada0) at kernel/qcoreapplication.cpp:610
#22 0x00007f94977016d9 in QCoreApplication::sendEvent (source=0x1a11520) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#23 socketNotifierSourceDispatch (source=0x1a11520) at kernel/qeventdispatcher_glib.cpp:110
#24 0x00007f949378412a in g_main_dispatch (context=0x1a2cbb0) at /tmp/buildd/glib2.0-2.22.2/glib/gmain.c:1960
#25 IA__g_main_context_dispatch (context=0x1a2cbb0) at /tmp/buildd/glib2.0-2.22.2/glib/gmain.c:2513
#26 0x00007f9493787988 in g_main_context_iterate (context=0x1a2cbb0, block=1, dispatch=1, self=<value optimized out>) at /tmp/buildd/glib2.0-2.22.2/glib/gmain.c:2591
#27 0x00007f9493787b3c in IA__g_main_context_iteration (context=0x1a2cbb0, may_block=1) at /tmp/buildd/glib2.0-2.22.2/glib/gmain.c:2654
#28 0x00007f949770139c in QEventDispatcherGlib::processEvents (this=0x1a2b120, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:407
#29 0x00007f94976d7562 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#30 0x00007f94976d7934 in QEventLoop::exec (this=0x7f948aa8afd0, flags=...) at kernel/qeventloop.cpp:201
#31 0x00007f94975f05a8 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#32 0x00007f94997b0b90 in ?? () from /usr/lib/libkerfuffle.so.4
#33 0x00007f94975f34a5 in QThreadPrivate::start (arg=0x1a2bb00) at thread/qthread_unix.cpp:188
#34 0x00007f949353373a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#35 0x00007f9496fef2fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#36 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f948a28a910 (LWP 13526)):
#0  0x00007f9496fe8be2 in select () from /lib/libc.so.6
#1  0x00007f94976b7d36 in QProcessManager::run (this=0x1718420) at io/qprocess_unix.cpp:296
#2  0x00007f94975f34a5 in QThreadPrivate::start (arg=0x1718420) at thread/qthread_unix.cpp:188
#3  0x00007f949353373a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007f9496fef2fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f9499aac750 (LWP 13524)):
#0  0x00007f9496fe43a3 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f949211b90a in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f949211d91c in xcb_wait_for_reply () from /usr/lib/libxcb.so.1
#3  0x00007f9495d155c4 in _XReply () from /usr/lib/libX11.so.6
#4  0x00007f9495cf85b2 in XInternAtom () from /usr/lib/libX11.so.6
#5  0x00007f9498ca07f6 in KStartupInfo::setWindowStartupId (w_P=60817433, id_P=...) at ../../kdeui/kernel/kstartupinfo.cpp:878
#6  0x00007f9498c8515f in KApplication::notify (this=0x7fff2d5e0530, receiver=0x17e4670, event=0x7fff2d5e03d0) at ../../kdeui/kernel/kapplication.cpp:287
#7  0x00007f94976d8c9c in QCoreApplication::notifyInternal (this=0x7fff2d5e0530, receiver=0x17e4670, event=0x7fff2d5e03d0) at kernel/qcoreapplication.cpp:610
#8  0x00007f9497bfc0da in QCoreApplication::sendEvent (this=0x17e1200) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#9  QWidgetPrivate::show_helper (this=0x17e1200) at kernel/qwidget.cpp:6761
#10 0x00007f9497bfc63a in QWidget::setVisible (this=0x17e4670, visible=<value optimized out>) at kernel/qwidget.cpp:6980
#11 0x000000000040a4fe in _start ()

This bug may be a duplicate of or related to bug 192609

Reported using DrKonqi
Comment 1 Raphael Kubo da Costa 2009-10-28 01:41:37 UTC
*** Bug 212132 has been marked as a duplicate of this bug. ***
Comment 2 Raphael Kubo da Costa 2009-10-28 01:43:21 UTC
Can you please install the debug packages for Ark (or kdeutils) from your distro and provide a new backtrace?
Comment 3 Raphael Kubo da Costa 2009-10-28 01:45:11 UTC
It would be nice if you (or Tom Kijas) could attach a file that presents this behaviour as well.
Comment 4 Jonathan 2009-10-28 14:24:42 UTC
I believe this error happens if one or some of the rar files are corrupted. I installed those packages and now I just get this error

Application: Ark (ark), signal: Segmentation fault

The rar files are quite large and there are lots of them for one archive so I will not be uploading them.
Comment 5 Raphael Kubo da Costa 2009-10-28 18:07:39 UTC
Are you using unrar or unrar-free?

Can you confirm if this only happens when one or more archives are corrupt?
Comment 6 Jonathan 2009-10-28 18:12:08 UTC
I am using unrar.

I don't really know how to confirm it, but it sure appears (on the few files I tried) that if one or more archives in the set are corrupted Ark will crash with this error.

Ark is extracting other rar sets (that are not corrupted) correctly.

I think all that might be needed is just a nicer error message that says one or more archives might be broken. I know in Windows, WinRAR usually told me what files were corrupted. Using unrar, on the command-line also tells me what archives are broken. So just integrate that information into Ark.

Thanks for all the hard-work and help!
Comment 7 Raphael Kubo da Costa 2009-10-28 18:29:59 UTC
Created attachment 37935 [details]
Tarball with a 3-part RAR archive

This attachment is a tarball that contains 3 RAR files: test.part1.rar to test.part3.rar.

I've changed some bytes test.part2.rar, so that running "unrar v -v test.part1.rar" says test.part2.rar is a bad archive.

Can you please try opening or extracting these rar files and see if Ark crashes for you?
Comment 8 Jonathan 2009-11-02 02:05:00 UTC
Sorry it took me so long to respond.

I attempted to extract those rar's from within Ark and also using the Dolphin menu item. In both cases, I received no error at all. The file appeared to extract, but the file size was 0 B.
Comment 9 Raphael Kubo da Costa 2009-11-02 02:59:04 UTC
Well, then apparently it only crashes when the file is corrupted in a specific way.

If you cannot attach a file that presents this behaviour here, can you at least paste the output of both "unrar v -c- -v" and "unrar -kb -p- x" with the file that is causing trouble for you?
Comment 10 Jonathan 2009-11-02 19:32:28 UTC
Created attachment 38035 [details]
Command 1 output
Comment 11 Jonathan 2009-11-02 19:33:13 UTC
Created attachment 38036 [details]
Command 2 output
Comment 12 Jonathan 2009-11-02 19:34:12 UTC
Sorry I did not attach those two within this post. The interesting thing is the file got extracted this time and appears to play fine.
Comment 13 Raphael Kubo da Costa 2009-11-04 02:10:48 UTC
*** Bug 212925 has been marked as a duplicate of this bug. ***
Comment 14 Raphael Kubo da Costa 2009-11-04 04:25:09 UTC
SVN commit 1044565 by rkcosta:

Set status to 'reading first line' after a closing header line.

Fix will also be in 4.3.4.

BUG: 212027

 M  +1 -0      cliplugin.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1044565
Comment 15 Raphael Kubo da Costa 2009-11-04 04:26:09 UTC
SVN commit 1044566 by rkcosta:

Backport r1044565.

Set status to 'reading first line' after a closing header line.

CCBUG: 212027


 M  +1 -0      cliplugin.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1044566