Bug 243273 - Ark crashes with unrar-free
Summary: Ark crashes with unrar-free
Status: RESOLVED FIXED
Alias: None
Product: ark
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Harald Hvaal
URL:
Keywords:
: 250222 256015 257698 261897 264325 272507 272773 274593 278814 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-06-30 20:00 UTC by Fabio
Modified: 2013-08-01 04:51 UTC (History)
13 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.6.0


Attachments
New crash information added by DrKonqi (5.97 KB, text/plain)
2011-02-01 07:40 UTC, dankeschone
Details
New crash information added by DrKonqi (10.93 KB, text/plain)
2011-04-15 20:46 UTC, Daniel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fabio 2010-06-30 20:00:41 UTC
Application: ark (2.14)
KDE Platform Version: 4.4.5 (KDE 4.4.5)
Qt Version: 4.6.3
Operating System: Linux 2.6.32-22-generic x86_64
Distribution: Ubuntu 10.04 LTS

-- Information about the crash:
When i open an archive rar Ark go to crash before i have install unrar

The crash can be reproduced every time.

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

Thread 2 (Thread 0x7ffaf651b710 (LWP 3973)):
[KCrash Handler]
#5  QBasicAtomicInt::ref (this=0x7ffaf6519ca0, val=...) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:121
#6  QString (this=0x7ffaf6519ca0, val=...) at ../../include/QtCore/../../src/corelib/tools/qstring.h:715
#7  v_construct<QString> (this=0x7ffaf6519ca0, val=...) at ../../include/QtCore/private/../../../src/corelib/kernel/qvariant_p.h:130
#8  QVariant (this=0x7ffaf6519ca0, val=...) at kernel/qvariant.cpp:1674
#9  0x00007ffaf651fc73 in CliPlugin::readListLine (this=0xc69510, line=<value optimized out>) at ../../../../ark/plugins/clirarplugin/cliplugin.cpp:191
#10 0x00007ffb02e86712 in Kerfuffle::CliInterface::handleLine (this=0xc69510, line=...) at ../../../ark/kerfuffle/cliinterface.cpp:523
#11 0x00007ffb02e86cfc in Kerfuffle::CliInterface::readStdout (this=0xc69510, handleAll=80) at ../../../ark/kerfuffle/cliinterface.cpp:468
#12 0x00007ffb02e86fee in Kerfuffle::CliInterface::qt_metacall (this=0xc69510, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffaf651a2d0) at ./cliinterface.moc:80
#13 0x00007ffb00cb9036 in QMetaObject::activate (sender=0x9c24c0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xfffffffffff79ed8) at kernel/qobject.cpp:3295
#14 0x00007ffb00c44d1a in QProcessPrivate::_q_canReadStandardOutput (this=0xc742a0) at io/qprocess.cpp:897
#15 0x00007ffb00c450f9 in QProcess::qt_metacall (this=0x9c24c0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffaf651a4d0) at .moc/release-shared/moc_qprocess.cpp:107
#16 0x00007ffb01d49a38 in KProcess::qt_metacall (this=0x7ffaf6519ca0, _c=4026590312, _id=0, _a=0xfffffffffff79ed8) at ./kprocess.moc:69
#17 0x00007ffb00cb9036 in QMetaObject::activate (sender=0x7ffaf0003f10, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xfffffffffff79ed8) at kernel/qobject.cpp:3295
#18 0x00007ffb00d059ae in QSocketNotifier::activated (this=0x7ffaf6519ca0, _t1=17) at .moc/release-shared/moc_qsocketnotifier.cpp:89
#19 0x00007ffb00cbfe43 in QSocketNotifier::event (this=0x7ffaf0003f10, e=0x7ffaf651ab80) at kernel/qsocketnotifier.cpp:317
#20 0x00007ffb0117ac0c in QApplicationPrivate::notify_helper (this=0x8c7df0, receiver=0x7ffaf0003f10, e=0x7ffaf651ab80) at kernel/qapplication.cpp:4302
#21 0x00007ffb011810eb in QApplication::notify (this=0x7ffff64c3120, receiver=0x7ffaf0003f10, e=0x7ffaf651ab80) at kernel/qapplication.cpp:4185
#22 0x00007ffb0232aa16 in KApplication::notify (this=0x7ffff64c3120, receiver=0x7ffaf0003f10, event=0x7ffaf651ab80) at ../../kdeui/kernel/kapplication.cpp:302
#23 0x00007ffb00ca5d9c in QCoreApplication::notifyInternal (this=0x7ffff64c3120, receiver=0x7ffaf0003f10, event=0x7ffaf651ab80) at kernel/qcoreapplication.cpp:726
#24 0x00007ffb00ccf76a in QCoreApplication::sendEvent (source=0xc6fe30) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#25 socketNotifierSourceDispatch (source=0xc6fe30) at kernel/qeventdispatcher_glib.cpp:110
#26 0x00007ffafcb268c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#27 0x00007ffafcb2a748 in ?? () from /lib/libglib-2.0.so.0
#28 0x00007ffafcb2a8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#29 0x00007ffb00ccf3b3 in QEventDispatcherGlib::processEvents (this=0xc08900, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#30 0x00007ffb00ca46c2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#31 0x00007ffb00ca4a9c in QEventLoop::exec (this=0x7ffaf651adb0, flags=) at kernel/qeventloop.cpp:201
#32 0x00007ffb00bb38db in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#33 0x00007ffb02e770da in Kerfuffle::ThreadExecution::run (this=0xc702b0) at ../../../ark/kerfuffle/threading.cpp:47
#34 0x00007ffb00bb5f95 in QThreadPrivate::start (arg=0xc702b0) at thread/qthread_unix.cpp:248
#35 0x00007ffafe52c9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#36 0x00007ffb0058c6cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#37 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffb03270760 (LWP 3972)):
#0  0x00007ffb0057ff53 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007ffafb21629a in ?? () from /usr/lib/libxcb.so.1
#2  0x00007ffafb2167d7 in ?? () from /usr/lib/libxcb.so.1
#3  0x00007ffafb216a85 in xcb_writev () from /usr/lib/libxcb.so.1
#4  0x00007ffaff2786fa in _XSend () from /usr/lib/libX11.so.6
#5  0x00007ffaff278839 in _XReply () from /usr/lib/libX11.so.6
#6  0x00007ffaff25a91d in XInternAtoms () from /usr/lib/libX11.so.6
#7  0x00007ffb0246319d in create_atoms (dpy=0x8de800) at ../../kdeui/windowmanagement/kwindowsystem_x11.cpp:301
#8  0x00007ffb024635e5 in KWindowSystem::compositingActive () at ../../kdeui/windowmanagement/kwindowsystem_x11.cpp:764
#9  0x00007ffaf9640fd8 in OxygenStyle::compositingActive (this=0x7ffff64c1ef0, widget=0x1) at ../../../kstyles/oxygen/oxygen.cpp:6552
#10 OxygenStyle::hasAlphaChannel (this=0x7ffff64c1ef0, widget=0x1) at ../../../kstyles/oxygen/oxygen.cpp:6559
#11 0x00007ffaf96525c3 in OxygenStyle::eventFilter (this=0x90a1a0, obj=0xc54ad0, ev=0x7ffff64c2e50) at ../../../kstyles/oxygen/oxygen.cpp:6151
#12 0x00007ffb00ca51b7 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0xc54ad0, event=0x7ffff64c2e50) at kernel/qcoreapplication.cpp:841
#13 0x00007ffb0117abdc in QApplicationPrivate::notify_helper (this=0x8c7df0, receiver=0xc54ad0, e=0x7ffff64c2e50) at kernel/qapplication.cpp:4298
#14 0x00007ffb011810eb in QApplication::notify (this=0x7ffff64c3120, receiver=0xc54ad0, e=0x7ffff64c2e50) at kernel/qapplication.cpp:4185
#15 0x00007ffb0232aa16 in KApplication::notify (this=0x7ffff64c3120, receiver=0xc54ad0, event=0x7ffff64c2e50) at ../../kdeui/kernel/kapplication.cpp:302
#16 0x00007ffb00ca5d9c in QCoreApplication::notifyInternal (this=0x7ffff64c3120, receiver=0xc54ad0, event=0x7ffff64c2e50) at kernel/qcoreapplication.cpp:726
#17 0x00007ffb011cfb2b in QCoreApplication::sendEvent (this=0xc54b10, recursive=false, disableUpdates=false) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#18 QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0xc54b10, recursive=false, disableUpdates=false) at kernel/qwidget.cpp:7112
#19 0x00007ffb011d5ef3 in QWidgetPrivate::show_helper (this=0x7ffff64c1ef0) at kernel/qwidget.cpp:7163
#20 0x00007ffb011d62f1 in QWidgetPrivate::showChildren (this=<value optimized out>, spontaneous=false) at kernel/qwidget.cpp:7530
#21 0x00007ffb011d5f0f in QWidgetPrivate::show_helper (this=0x9341a0) at kernel/qwidget.cpp:7169
#22 0x00007ffb011d811a in QWidget::setVisible (this=0x99a440, visible=<value optimized out>) at kernel/qwidget.cpp:7444
#23 0x000000000040a283 in QWidget::show (argc=<value optimized out>, argv=<value optimized out>) at /usr/include/qt4/QtGui/qwidget.h:485
#24 main (argc=<value optimized out>, argv=<value optimized out>) at ../../../ark/app/main.cpp:205

Reported using DrKonqi
Comment 1 Raphael Kubo da Costa 2010-06-30 20:25:00 UTC
Does it happen to any file you try? Can you attach a sample file that causes this problem?
Comment 2 Raphael Kubo da Costa 2010-07-02 16:47:31 UTC
For the record: Fabio has sent me a RAR file which causes the crash for him.

Fabio: I was able to open that file just fine. What version of unrar are you using? Is it unrar or unrar-free?

Last but not least, when you said "When i open an archive rar Ark go to crash before i have install unrar" does it mean you can only extract/list an archive by using unrar via the command line?
Comment 3 Fabio 2010-07-03 11:42:41 UTC
In data venerdì 02 luglio 2010 16:47:32, Raphael Kubo da Costa ha scritto:
> https://bugs.kde.org/show_bug.cgi?id=243273
> 
> 
> 
> 
> 
> --- Comment #2 from Raphael Kubo da Costa <kubito gmail com>  2010-07-02
> 16:47:31 --- For the record: Fabio has sent me a RAR file which causes the
> crash for him.
> 
> Fabio: I was able to open that file just fine. What version of unrar are
> you using? Is it unrar or unrar-free?
> 
> Last but not least, when you said "When i open an archive rar Ark go to
> crash before i have install unrar" does it mean you can only extract/list
> an archive by using unrar via the command line?
Well i use unrar-free 0.0.1.
No, i can't. When i try via the command line, it don't go to crash, but it 
failed the extraction.
Comment 4 Raphael Kubo da Costa 2010-07-03 18:37:39 UTC
Indeed, it's broken for unrar-free. Was the symlink /usr/bin/unrar-free -> /usr/bin/unrar created manually by yourself?
Comment 5 Raphael Kubo da Costa 2010-07-08 06:22:37 UTC
Fabio?
Comment 6 Fabio 2010-07-08 12:44:37 UTC
In data giovedì 08 luglio 2010 06:22:40, Raphael Kubo da Costa ha scritto:
> https://bugs.kde.org/show_bug.cgi?id=243273
> 
> 
> 
> 
> 
> --- Comment #5 from Raphael Kubo da Costa <kubito gmail com>  2010-07-08
> 06:22:37 --- Fabio?
Sorry, i don't have read your email.
I realized that i have in /usr/bin unrar and unrar-free
Comment 7 Raphael Kubo da Costa 2010-07-08 16:12:29 UTC
Can you confirm if those two are different programs, and which packages they belong to?
Comment 8 Fabio 2010-07-08 18:57:45 UTC
In data giovedì 08 luglio 2010 16:12:30, Raphael Kubo da Costa ha scritto:
> https://bugs.kde.org/show_bug.cgi?id=243273
> 
> 
> 
> 
> 
> --- Comment #7 from Raphael Kubo da Costa <kubito gmail com>  2010-07-08
> 16:12:29 --- Can you confirm if those two are different programs, and
> which packages they belong to?
No, i have installed unrar-free package only .
Comment 9 Raphael Kubo da Costa 2010-07-08 20:07:44 UTC
Can you then check that /usr/bin/unrar is a symlink to /usr/bin/unrar-free?
Comment 10 Fabio 2010-07-09 10:24:19 UTC
In data giovedì 08 luglio 2010 20:07:48, Raphael Kubo da Costa ha scritto:
> https://bugs.kde.org/show_bug.cgi?id=243273
> 
> 
> 
> 
> 
> --- Comment #9 from Raphael Kubo da Costa <kubito gmail com>  2010-07-08
> 20:07:44 --- Can you then check that /usr/bin/unrar is a symlink to
> /usr/bin/unrar-free?
It's a symlink to /etc/alternatives/unrar.
/etc/alternatives/unrar it is a symlink to /usr/bin/unrar-free.
Comment 11 Raphael Kubo da Costa 2010-09-05 19:47:53 UTC
*** Bug 250222 has been marked as a duplicate of this bug. ***
Comment 12 Raphael Kubo da Costa 2010-11-23 14:58:14 UTC
*** Bug 257698 has been marked as a duplicate of this bug. ***
Comment 13 Raphael Kubo da Costa 2010-11-25 18:11:08 UTC
*** Bug 256015 has been marked as a duplicate of this bug. ***
Comment 14 Raphael Kubo da Costa 2010-11-25 20:55:11 UTC
SVN commit 1200794 by rkcosta:

Rework clirarplugin's line reading logic again.

The code looks more like a state machine, which is good and should make it
easier to understand.

This also made it possible to add some code to check the column names written
before the header lines and decide whether we're using unrar-free or unrar
based on that (which should fix Ark crashing when being used with unrar-free).

If we're using unrar-free, we never try to parse the third file name entry
line, as unrar-free never outputs it.

It should be hopefully safe to backport, but I'll wait at least a few days. As
I'm unsure whether it's OK to backport it, the FIXED-IN version will be 4.6.0.

BUG: 243273
FIXED-IN: 4.6.0



 M  +59 -19    cliplugin.cpp  
 M  +5 -1      cliplugin.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1200794
Comment 15 Raphael Kubo da Costa 2010-12-25 20:09:01 UTC
SVN commit 1209201 by rkcosta:

Rework clirarplugin's line reading logic again.

The code looks more like a state machine, which is good and should make it
easier to understand.

This also made it possible to add some code to check the column names written
before the header lines and decide whether we're using unrar-free or unrar
based on that (which should fix Ark crashing when being used with unrar-free).

If we're using unrar-free, we never try to parse the third file name entry
line, as unrar-free never outputs it.

It should be hopefully safe to backport, but I'll wait at least a few days. As
I'm unsure whether it's OK to backport it, the FIXED-IN version will be 4.6.0.

Backport of r1200794.

CCBUG: 243273

 M  +63 -22    cliplugin.cpp  
 M  +5 -1      cliplugin.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1209201
Comment 16 Raphael Kubo da Costa 2011-01-02 21:18:37 UTC
*** Bug 261897 has been marked as a duplicate of this bug. ***
Comment 17 Raphael Kubo da Costa 2011-01-27 02:17:56 UTC
*** Bug 264325 has been marked as a duplicate of this bug. ***
Comment 18 dankeschone 2011-02-01 07:40:27 UTC
Created attachment 56719 [details]
New crash information added by DrKonqi

Ark seems to crash when attempting to open an incomplete rar file or rar set.  It apparently can't handle the error.  

unrar-3.90.4-6.1.x86_64
rar-3.9.3-1.pm.2.1.x86_64
ark-4.4.4-1.3.x86_64
Comment 19 Raphael Kubo da Costa 2011-02-01 13:19:27 UTC
dankeschone: This is unrelated to this report about unrar-free, and should have been fixed in later KDE versions. Please consider updating your installation.
Comment 20 Daniel 2011-04-15 20:46:22 UTC
Created attachment 59025 [details]
New crash information added by DrKonqi

No matter how many times I tried to open a RAR file or other archive, ARK crashed. Also , I noticed some performance reduction in desktop effects.
Comment 21 Raphael Kubo da Costa 2011-04-15 21:12:33 UTC
Daniel, this bug has already been fixed. Please consider updating your installation.
Comment 22 Raphael Kubo da Costa 2011-05-06 15:20:25 UTC
*** Bug 272507 has been marked as a duplicate of this bug. ***
Comment 23 Raphael Kubo da Costa 2011-05-08 18:23:41 UTC
*** Bug 272773 has been marked as a duplicate of this bug. ***
Comment 24 Raphael Kubo da Costa 2011-06-01 18:49:30 UTC
*** Bug 274593 has been marked as a duplicate of this bug. ***
Comment 25 Raphael Kubo da Costa 2011-07-29 23:45:10 UTC
*** Bug 278814 has been marked as a duplicate of this bug. ***