Bug 106607 - kfile_deb crashes Konqueror consistently - just hover over a .deb file with your cursor...
Summary: kfile_deb crashes Konqueror consistently - just hover over a .deb file with y...
Status: RESOLVED FIXED
Alias: None
Product: kfile-plugins
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: David Faure
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-06-01 16:38 UTC by Ana Guerrero (Debian KDE maintainers)
Modified: 2005-08-04 19:59 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ana Guerrero (Debian KDE maintainers) 2005-06-01 16:38:33 UTC
Version:            (using KDE KDE 3.4.1)
Installed from:    Debian testing/unstable Packages
Compiler:          gcc 3.3.5 
OS:                Linux

This bug is likely related to #105901 and #104454, but is not quite the same problem as they describe. Quite simply, the kfile_deb plugin causes Konqueror to crash. This can be triggered either by hovering the cursor over a .deb file, or by right-clicking and trying to view the .deb file's properties. A number of people have confirmed the problem, and it is quite consistent. The .debs that cause the crash are fully downloaded, installed, tested, etc.

Note that KDE's default mimetype setup hides the problem, since it has 2 mimetypes for .deb files, x-deb and x-debian-package. Since the kfile_deb plugin looks for x-debian-package, but x-deb seems to be of the higher precedence than x-debian-package, kfile_deb actually doesn't get used at all unless KDE is patched for consistency, or else as a temporary workaround, /usr/share/mimelnk/application/x-deb.desktop is removed, and kpackage is installed (kpackage contains x-debian-package.desktop, which serves as a replacement). Note that this particular bug report is not complaining about the mimetype situation (we'll do that separately); it's just that this information might be useful for the sake of reproducing the problem.

Anyway, once the mimetypes are in order, and KDE is restarted just to be safe, the kfile_deb plugin should work, but of course it doesn't. The following appears in ~/.xsession-errors following the crash:

KAr: WARNING: Couldn't read header
KCrash: Application 'konqueror' crashing...

This is quite annoying for Debian users in particular. Hopefully the fix is fairly simple, and can be backported to the 3.4 branch. Thanks!

Finally, here is a feeble backtrace:

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1219448160 (LWP 11795)]
[KCrash handler]
#4  0x4876c3c8 in strcmp () from /lib/tls/i686/cmov/libc.so.6
#5  0xb7c76bbf in KFilterBase::qt_cast (this=0x83fa950, 
    clname=0x2 <Address 0x2 out of bounds>) at qcstring.h:66
#6  0xb7ca67de in KTar::KTarPrivate::fillTempFile (this=0x83fa950, 
    filename=@0x1) at ktar.cpp:292
#7  0xb7ca696e in KTar::openArchive (this=0xbfffeab0, mode=1) at ktar.cpp:332
#8  0xb7cb6bd1 in KArchive::open (this=0xbfffeab0, mode=1) at karchive.cpp:104
#9  0xb6b58fc7 in KDebPlugin::readInfo () from /usr/lib/kde3/kfile_deb.so
#10 0xb7cbbbf1 in KFileMetaInfo::init (this=0xbfffec30, url=@0xbfffec40, 
    mimeType=@0xbfffec20, what=1) at kfilemetainfo.cpp:333
#11 0xb7cbb9e4 in KFileMetaInfo (this=0x1, url=@0x1, mimeType=@0x1, what=1)
    at kfilemetainfo.cpp:309
#12 0xb7c90212 in KFileItem::metaInfo (this=0xbfffec30, autoget=true)
    at kfileitem.cpp:942
#13 0xb7c8db4d in KFileItem::getToolTipText (this=0x83632f0, maxcount=6)
    at kfileitem.cpp:685
#14 0xb7f0083c in KonqFileTip::showTip () from /usr/lib/libkonq.so.4
#15 0xb7f00dbb in KonqFileTip::qt_invoke () from /usr/lib/libkonq.so.4
#16 0x500b1f9c in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#17 0x500b1dc4 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#18 0x503f309b in QTimer::timeout () from /usr/lib/libqt-mt.so.3
#19 0x500d37f2 in QTimer::event () from /usr/lib/libqt-mt.so.3
#20 0x5005569f in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#21 0x50054c9e in QApplication::notify () from /usr/lib/libqt-mt.so.3
#22 0xb761cac5 in KApplication::notify (this=0xbffff9e0, receiver=0x84b2b80, 
    event=0xbffff400) at kapplication.cpp:549
#23 0x50044ec5 in QEventLoop::activateTimers () from /usr/lib/libqt-mt.so.3
#24 0x4fffe57b in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#25 0x50067a58 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#26 0x50067908 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#27 0x500558f1 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#28 0xb7f6332c in kdemain () from /usr/lib/libkdeinit_konqueror.so
#29 0x080484cb in ?? ()
#30 0x00000001 in ?? ()
#31 0xbffffb64 in ?? ()
#32 0xbffffb38 in ?? ()
#33 0x4870a970 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#34 0x4870a970 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#35 0x08048401 in ?? ()
Comment 1 David Faure 2005-06-01 16:45:15 UTC
Sigh.. the backtrace is *exactly* the one in #104454, why do you create a new bug report?
Comment 2 Ana Guerrero (Debian KDE maintainers) 2005-06-01 16:47:45 UTC
Because that bug is triggered in a different way, and you might want to know about all manifestations of the problem. Sorry, just trying to be helpful...
Comment 3 David Faure 2005-06-01 16:55:42 UTC
On Wednesday 01 June 2005 16:38, Debian KDE Maintainers wrote:
> Note that KDE's default mimetype setup hides the problem, since it has 2 mimetypes for .deb files, x-deb and x-debian-package. 

I only have kdelibs/mimetypes/application/x-deb, there is no x-debian-package.

> (kpackage contains x-debian-package.desktop, which serves as a replacement). 

Shipping mimetypes with applications is wrong, and that would be a KDE bug; however my kpackage source
directory has no such mimetype... (and 3.4 branch neither)

[snip bt]
Hmm,  filename=0x1? The bug is higher than I thought.
Comment 4 Ana Guerrero (Debian KDE maintainers) 2005-06-01 17:12:34 UTC
It's in the tarball: kdeadmin-3.4.1/kpackage/mimetypes/x-debian-package.desktop.

What should happen is that that file is removed, and kdelibs' x-deb.desktop is renamed x-debian-package.desktop, and its mimetype changed accordingly. Then we just need to patch ark...
Comment 5 David Faure 2005-06-01 17:27:35 UTC
SVN commit 420860 by dfaure:

Don't provide your own mimetype, when kdelibs provides it already, with a different name...
BUG: 106607


 M  +2 -2      Makefile.am  
 M  +1 -1      kpackage.desktop  
 D             mimetypes (directory)  


--- branches/KDE/3.4/kdeadmin/kpackage/Makefile.am #420859:420860
@@ -2,9 +2,9 @@
 xdg_apps_DATA = kpackage.desktop
 
 # claim, which subdirectories you want to install
-SUBDIRS = pics toolbar icon mimetypes
+SUBDIRS = pics toolbar icon
 
-bin_PROGRAMS =  kpackage 
+bin_PROGRAMS =  kpackage
 
 # Which sources should be compiled for kpackage.
 kpackage_SOURCES = kpackage.cpp managementWidget.cpp packageDisplay.cpp \
--- branches/KDE/3.4/kdeadmin/kpackage/kpackage.desktop #420859:420860
@@ -79,7 +79,7 @@
 GenericName[zh_CN]=软件包管理器
 GenericName[zh_TW]=套件管理程式
 GenericName[zu]=Umphathi Wokusongwayo
-MimeType=application/x-rpm;application/x-debian-package;
+MimeType=application/x-rpm;application/x-deb;
 Exec=kpackage -caption "%c" %i %m %u
 Icon=kpackage
 Type=Application
Comment 6 Pierre Habouzit 2005-06-01 17:38:15 UTC
sorry, but a grep in kpackage shows that this fix is not enough :

the x-debian-package mimetype is still used :

kfile-plugins/deb/kfile_deb.desktop:MimeType=application/x-debian-package
kfile-plugins/deb/kfile_deb.cpp:    KFileMimeTypeInfo* info = 
addMimeTypeInfo( "application/x-debian-package" );
Comment 7 Pierre Habouzit 2005-06-01 17:40:24 UTC
see my mail
Comment 8 Ana Guerrero (Debian KDE maintainers) 2005-06-01 17:41:52 UTC
x-debian-package is the older, and probably correct, mimetype. What really needs to happen is for kdelibs and kdeutils (and now kdeadmin) to be patched to use it instead of x-deb.
Comment 9 David Faure 2005-06-01 18:13:40 UTC
1) I know that the kfile plugin uses x-debian-package, see my patch to #104454 to make it use x-deb instead
(as part of the crash fix there)

2) I disagree that we should use x-debian-package instead of x-deb. One reason: the shared mime database
at freedesktop.org uses x-deb, and for KDE4 I want to standardize on that.
But I (or you :) can add a x-debian-package alias for x-deb in kdelibs if you want, so that both work.
(we support aliases, using X-KDE-IsAlso)
Comment 10 Ana Guerrero (Debian KDE maintainers) 2005-06-01 22:03:18 UTC
OK, that sounds reasonable. If adding an alias for x-debian-package is as simple as adding a line in x-deb.desktop, then (correct me if I'm wrong) I don't see that it could do any harm.
Comment 11 David Faure 2005-06-02 01:23:17 UTC
SVN commit 421013 by dfaure:

Alias for x-deb (used to be provided by kpackage, so this alias is for compatibility).
BUG: 106607


 M  +1 -1      Makefile.am  
 A             x-debian-package.desktop   trunk/KDE/kdelibs/mimetypes/application/x-debian-package.desktop#421011


--- branches/KDE/3.4/kdelibs/mimetypes/application/Makefile.am #421012:421013
@@ -34,7 +34,7 @@
 	x-hancomword.desktop \
 	x-font-bdf.desktop x-font-pcf.desktop x-font-speedo.desktop x-font-type1.desktop \
 	x-font-ghostscript.desktop x-font-snf.desktop x-font-ttf.desktop \
-	vnd.ms-asf.desktop x-msdos-program.desktop x-deb.desktop \
+	vnd.ms-asf.desktop x-msdos-program.desktop x-deb.desktop x-debian-package.desktop \
 	vnd.stardivision.writer.desktop vnd.stardivision.calc.desktop \
 	vnd.stardivision.impress.desktop \
 	vnd.sun.xml.impress.desktop vnd.sun.xml.writer.desktop \
Comment 12 Michael Nottebrock 2005-08-04 19:59:08 UTC
We really need some standard procedure to keep track of file moves between KDE modules between releases and making a list of them for packagers.

I'm very tired of finding out about these only after users complain about strangely broken updates.