Bug 79713

Summary: ark cannot open compressed tar archives anymore
Product: [Applications] ark Reporter: Michael Nottebrock <lofi>
Component: generalAssignee: Helio Castro <helio>
Status: RESOLVED FIXED    
Severity: normal CC: neuromancerx1, tyrerj
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: FreeBSD Ports   
OS: FreeBSD   
Latest Commit: Version Fixed In:

Description Michael Nottebrock 2004-04-15 21:55:11 UTC
Version:            (using KDE KDE 3.2.2)
Installed from:    FreeBSD Ports
OS:          FreeBSD

Trying to open a compressed tar archive (.tgz, .tbz, tar.gz, .tar.bz2) yields

"I can't fork a compressor" and "An error occured while trying to open the archive". This is a regression from KDE 3.2.1, caused by the fix for bug 78504.

Reverting to revision 1.24 of tar.cpp fixes the problem.

Debug output:

[lofi@kiste]:0:~ > ark adobesvg-3.0-linux-i386.tar.gz
Starting ark. argc=2  First arg: adobesvg-3.0-linux-i386.tar.gz
+ArkApplication::getInstance()
ark (kdeutils): +ArkApplication::ArkApplication
ark (kdeutils): -ArkApplication::ArkApplication
ark (kdeutils): -ArkApplication::getInstance()
ark (kdeutils): Starting ark...
ark (kdeutils): +ArkApplication::getInstance()
ark (kdeutils): -ArkApplication::getInstance()
ark (kdeutils): +ArkApplication::newInstance
ark: ArkPart::ArkPart
ark (kdeutils): +ArkSettings::readConfiguration()
ark: KTempDir: Temporary directory created :/tmp/kde-lofi/arkWQUgGx
ark: KTempDir: Temporary directory created :/tmp/kde-lofi/arkWQUgGx/
ark (kdeutils): name of tmpDir: /tmp/kde-lofi/arkWQUgGx/
ark (kdeutils): +ArkWidget::ArkWidget
ark: ArkWidget::createFileListView
QMetaObject::findSignal:FileListView: Conflict with QListView::doubleClicked(QListViewItem*,const QPoint&,int)
ark (kdeutils): -ArkWidget::ArkWidget
ark (kdeutils): +ArkApplication::getInstance()
ark (kdeutils): -ArkApplication::getInstance()
kparts: MainWindow::createGUI, part=0x8185100 ArkPart ArkPart
ark (kdeutils): +ArkApplication::getInstance()
ark (kdeutils): -ArkApplication::getInstance()
ark (kdeutils): ArkApplication::isArkOpenAlready: file:/usr/home/lofi/adobesvg-3.0-linux-i386.tar.gz
ark (kdeutils): +ArkWidget::file_close
ark (kdeutils): -ArkWidget::file_close
ark (kdeutils): +ArkWidget::file_open(const KURL& url)
ark (kdeutils): File to open: /usr/home/lofi/adobesvg-3.0-linux-i386.tar.gz
kio (KSycoca): Trying to open ksycoca from /var/tmp/kdecache-lofi/ksycoca
ark (kdeutils): find by url: application/x-tgz
ark (kdeutils): m_openAsMimeType is:
ark (kdeutils): +TarArch::TarArch
ark (kdeutils): TarArch::TarArch:  mimetype is application/x-gzip
ark: KTempDir: Temporary directory created :/tmp/kde-lofi/arkWQUgGx/temp_tarWFVOj4
ark: KTempDir: Temporary directory created :/tmp/kde-lofi/arkWQUgGx/temp_tarWFVOj4/
ark (kdeutils): Tmpfile will be /tmp/kde-lofi/arkWQUgGx/temp_tarWFVOj4/4GEVx0.tar
ark (kdeutils):
ark (kdeutils): -TarArch::TarArch
ark (kdeutils): +ArkWidget::disableAll
ark (kdeutils): -ArkWidget::disableAll
ark (kdeutils): ArkWidget::busy()+
ark (kdeutils): ArkWidget::busy()-
ark (kdeutils): +TarArch::open
ark (kdeutils): +TarArch::setHeaders
ark (kdeutils): -TarArch::setHeaders
ark (kdeutils): +TarArch::createTmp
ark (kdeutils): Uncompressor is
ark (kdeutils): ArkWidget::ready()+
ark (kdeutils): ArkWidget::ready()-
ark (kdeutils): +ArkWidget::slotOpen
ark (kdeutils): -ArkWidget::slotOpen
ark (kdeutils): -TarArch::createTmp
ark (kdeutils): -ArkWidget::file_open(const KURL& url)
ark (kdeutils): -ArkApplication::newInstance
[lofi@kiste]:0:~ > ark (kdeutils): +ArkWidget::file[lofi@kiste]:0:~ > ark adobesvg-3.0-linux-i386.tar.gz
Starting ark. argc=2  First arg: adobesvg-3.0-linux-i386.tar.gz
+ArkApplication::getInstance()
ark (kdeutils): +ArkApplication::ArkApplication
ark (kdeutils): -ArkApplication::ArkApplication
ark (kdeutils): -ArkApplication::getInstance()
ark (kdeutils): Starting ark...
ark (kdeutils): +ArkApplication::getInstance()
ark (kdeutils): -ArkApplication::getInstance()
ark (kdeutils): +ArkApplication::newInstance
ark: ArkPart::ArkPart
ark (kdeutils): +ArkSettings::readConfiguration()
ark: KTempDir: Temporary directory created :/tmp/kde-lofi/arkWQUgGx
ark: KTempDir: Temporary directory created :/tmp/kde-lofi/arkWQUgGx/
ark (kdeutils): name of tmpDir: /tmp/kde-lofi/arkWQUgGx/
ark (kdeutils): +ArkWidget::ArkWidget
ark: ArkWidget::createFileListView
QMetaObject::findSignal:FileListView: Conflict with QListView::doubleClicked(QListViewItem*,const QPoint&,int)
ark (kdeutils): -ArkWidget::ArkWidget
ark (kdeutils): +ArkApplication::getInstance()
ark (kdeutils): -ArkApplication::getInstance()
kparts: MainWindow::createGUI, part=0x8185100 ArkPart ArkPart
ark (kdeutils): +ArkApplication::getInstance()
ark (kdeutils): -ArkApplication::getInstance()
ark (kdeutils): ArkApplication::isArkOpenAlready: file:/usr/home/lofi/adobesvg-3.0-linux-i386.tar.gz
ark (kdeutils): +ArkWidget::file_close
ark (kdeutils): -ArkWidget::file_close
ark (kdeutils): +ArkWidget::file_open(const KURL& url)
ark (kdeutils): File to open: /usr/home/lofi/adobesvg-3.0-linux-i386.tar.gz
kio (KSycoca): Trying to open ksycoca from /var/tmp/kdecache-lofi/ksycoca
ark (kdeutils): find by url: application/x-tgz
ark (kdeutils): m_openAsMimeType is:
ark (kdeutils): +TarArch::TarArch
ark (kdeutils): TarArch::TarArch:  mimetype is application/x-gzip
ark: KTempDir: Temporary directory created :/tmp/kde-lofi/arkWQUgGx/temp_tarWFVOj4
ark: KTempDir: Temporary directory created :/tmp/kde-lofi/arkWQUgGx/temp_tarWFVOj4/
ark (kdeutils): Tmpfile will be /tmp/kde-lofi/arkWQUgGx/temp_tarWFVOj4/4GEVx0.tar
ark (kdeutils):
ark (kdeutils): -TarArch::TarArch
ark (kdeutils): +ArkWidget::disableAll
ark (kdeutils): -ArkWidget::disableAll
ark (kdeutils): ArkWidget::busy()+
ark (kdeutils): ArkWidget::busy()-
ark (kdeutils): +TarArch::open
ark (kdeutils): +TarArch::setHeaders
ark (kdeutils): -TarArch::setHeaders
ark (kdeutils): +TarArch::createTmp
ark (kdeutils): Uncompressor is
ark (kdeutils): ArkWidget::ready()+
ark (kdeutils): ArkWidget::ready()-
ark (kdeutils): +ArkWidget::slotOpen
ark (kdeutils): -ArkWidget::slotOpen
ark (kdeutils): -TarArch::createTmp
ark (kdeutils): -ArkWidget::file_open(const KURL& url)
ark (kdeutils): -ArkApplication::newInstance
[lofi@kiste]:0:~ > ark (kdeutils): +ArkWidget::file_close
ark (kdeutils): -ArkWidget::file_close
ark (kdeutils): +ArkApplication::getInstance()
ark (kdeutils): -ArkApplication::getInstance()
kparts: Part::~Part 0x8185100
kparts: deleting widget [ArkWidget pointer (0x8162c00) to widget ArkWidget, geometry=795x537+0+49] ArkWidget
ark (kdeutils): ArkWidget::ready()+
ark (kdeutils): -ArkWidget::~ArkWidget
ark (kdeutils): ArkWidget::~ArkWidgetBase_close
ark (kdeutils): -ArkWidget::file_close
ark (kdeutils): +ArkApplication::getInstance()
ark (kdeutils): -ArkApplication::getInstance()
kparts: Part::~Part 0x8185100
kparts: deleting widget [ArkWidget pointer (0x8162c00) to widget ArkWidget, geometry=795x537+0+49] ArkWidget
ark (kdeutils): ArkWidget::ready()+
ark (kdeutils): -ArkWidget::~ArkWidget
ark (kdeutils): ArkWidget::~ArkWidgetBase
Comment 1 Michael Nottebrock 2004-04-15 22:15:22 UTC
This is a diff of debug output of 3.2.2's with rev 1.25 of 1.24 tar.cpp respectively. The interesting part is probably that TarArch gets a different mimetype: x-gzip instead of x-tgz.

[lofi@kiste]:~ > diff -u ark-working.txt ark-broken.txt
--- ark-working.txt     Thu Apr 15 22:07:35 2004
+++ ark-broken.txt      Thu Apr 15 22:11:29 2004
@@ -9,9 +9,9 @@
 ark (kdeutils): +ArkApplication::newInstance
 ark: ArkPart::ArkPart
 ark (kdeutils): +ArkSettings::readConfiguration()
-ark: KTempDir: Temporary directory created :/tmp/kde-lofi/ark0nqXVt
-ark: KTempDir: Temporary directory created :/tmp/kde-lofi/ark0nqXVt/
-ark (kdeutils): name of tmpDir: /tmp/kde-lofi/ark0nqXVt/
+ark: KTempDir: Temporary directory created :/tmp/kde-lofi/arkY5K6YE
+ark: KTempDir: Temporary directory created :/tmp/kde-lofi/arkY5K6YE/
+ark (kdeutils): name of tmpDir: /tmp/kde-lofi/arkY5K6YE/
 ark (kdeutils): +ArkWidget::ArkWidget
 ark: ArkWidget::createFileListView
 QMetaObject::findSignal:FileListView: Conflict with QListView::doubleClicked(QListViewItem*,const QPoint&,int)
@@ -30,10 +30,10 @@
 ark (kdeutils): find by url: application/x-tgz
 ark (kdeutils): m_openAsMimeType is:
 ark (kdeutils): +TarArch::TarArch
-ark (kdeutils): TarArch::TarArch:  mimetype is application/x-tgz
-ark: KTempDir: Temporary directory created :/tmp/kde-lofi/ark0nqXVt/temp_tarNbbQd0
-ark: KTempDir: Temporary directory created :/tmp/kde-lofi/ark0nqXVt/temp_tarNbbQd0/
-ark (kdeutils): Tmpfile will be /tmp/kde-lofi/ark0nqXVt/temp_tarNbbQd0/veYM5m.tar
+ark (kdeutils): TarArch::TarArch:  mimetype is application/x-gzip
+ark: KTempDir: Temporary directory created :/tmp/kde-lofi/arkY5K6YE/temp_tar11UNTo
+ark: KTempDir: Temporary directory created :/tmp/kde-lofi/arkY5K6YE/temp_tar11UNTo/
+ark (kdeutils): Tmpfile will be /tmp/kde-lofi/arkY5K6YE/temp_tar11UNTo/Plat5k.tar
 ark (kdeutils):
 ark (kdeutils): -TarArch::TarArch
 ark (kdeutils): +ArkWidget::disableAll
@@ -43,29 +43,16 @@
 ark (kdeutils): +TarArch::open
 ark (kdeutils): +TarArch::setHeaders
 ark (kdeutils): -TarArch::setHeaders
-kio (KTrader): KServiceTypeProfile::offers( KDECompressionFilter, )
-kio (KTrader): Returning 2 offers
-kio (Filter): KFilterBase::findFilterByMimeType(application/x-gzip) got 1 offers
+ark (kdeutils): +TarArch::createTmp
+ark (kdeutils): Uncompressor is
 ark (kdeutils): ArkWidget::ready()+
 ark (kdeutils): ArkWidget::ready()-
 ark (kdeutils): +ArkWidget::slotOpen
-ark (kdeutils): +ArkApplication::getInstance()
-ark (kdeutils): -ArkApplication::getInstance()
-ark (kdeutils): +ArkApplication::addOpenArk
-ark (kdeutils):  Real name of file:/usr/home/lofi/adobesvg-3.0-linux-i386.tar.gz is /usr/home/lofi/adobesvg-3.0-linux-i386.tar.gz
-ark (kdeutils): Saved ptr [ArkTopLevelWindow pointer (0x816e500) to widget ark-mainwindow#1, geometry=795x606+252+210] added open ark: /usr/home/lofi/adobesvg-3.0-linux-i386.tar.gz
-ark (kdeutils): -ArkApplication::addOpenArk
 ark (kdeutils): -ArkWidget::slotOpen
-ark (kdeutils): -TarArch::open
+ark (kdeutils): -TarArch::createTmp
 ark (kdeutils): -ArkWidget::file_open(const KURL& url)
 ark (kdeutils): -ArkApplication::newInstance
 ark (kdeutils): +ArkWidget::file_close
-ark (kdeutils): +ArkApplication::getInstance()
-ark (kdeutils): -ArkApplication::getInstance()
-ark (kdeutils): +ArkApplication::removeOpenArk
-ark (kdeutils): Removing name file:/usr/home/lofi/adobesvg-3.0-linux-i386.tar.gz
-ark (kdeutils): -ArkApplication::removeOpenArk
-ark (kdeutils): update Status Selection
 ark (kdeutils): -ArkWidget::file_close
 ark (kdeutils): +ArkApplication::getInstance()
 ark (kdeutils): -ArkApplication::getInstance()
Comment 2 Michael Nottebrock 2004-04-15 22:54:14 UTC
Oh, another thing, just in case anyone sees this bug and wonders if FreeBSD released KDE 3.2.2 early - no it didn't, I'm a packager. :-)
Comment 3 Georg Robbers 2004-04-16 22:35:08 UTC
*** Bug 79775 has been marked as a duplicate of this bug. ***
Comment 4 Georg Robbers 2004-04-16 22:38:15 UTC
fixed in cvs.
Thanks for the report Michael - I'll nominate that one for the "most useful bugreport since ages award" :-)
Comment 5 Georg Robbers 2004-05-06 18:22:15 UTC
*** Bug 81034 has been marked as a duplicate of this bug. ***
Comment 6 i.linty 2004-06-10 15:30:21 UTC
environment: SUSE 8.2 PRO, KDE 3.2.3 downloaded from www.kde.org 
Ark release 2.1.9

This is bug is not still resolved !
I'can't open tar.gz and tar.bz2 archives !
I have to wait kde 3.2.4 ???
Can you help me ?
Kind Regards
Comment 7 Michael Nottebrock 2004-06-10 16:24:33 UTC
Works for me. You might want to double check whether you actually updated kdeutils.
Comment 8 i.linty 2004-06-11 09:41:23 UTC
Ok, It was kdeutils3-3.2.2 ! Now (3.2.3) It works !
I bag your pardon for this stupid report ! 
Thank's !