konqueror with kaffeine-xine plugin crashes on certain sites

Bug #35786 reported by Lukas Wolf
16
Affects Status Importance Assigned to Milestone
kdelibs
Unknown
High
kdelibs (Ubuntu)
Fix Released
Medium
Unassigned
xine-lib (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

I'm running dapper on a Dell Inspiron 6000 (fglrx graphic driver).

When visiting the following site the small preview movies start to load, but sooner or later konqueror crashes. Sadly there is no backtrace available (it says something about not enabled or destroyed by the crash). (I have kdelibs-gdb installed). When I tried to use gdb konqueror the whole machine froze...

http://www.apple.com/trailers/sony_pictures/da_vinci_code/hd/

Revision history for this message
In , Julius Schwartzenberg (jschwart) wrote :

Version: (using KDE KDE 3.4.1)
Installed from: Gentoo Packages
Compiler: gcc versie 3.4.3-20050110 (Gentoo 3.4.3.20050110-r2, ssp-3.4.3.20050110-0, pie-8.7.7) Thread model: posix
OS: Linux

I'm often using the Kaffeine-kpart to view videos that are embedded in webpages. When doing this, Konqueror seems to crash pretty often.
It seems that kparts have the ability to crash Konqueror when they misbehave. It should never be possible for a kpart to crash Konqueror (or another application that embeds it).

One crash I can easily reproduce with Kaffeine:
1. View a page embedding a video file or a video file by itself in a tab.
2. Deattach the tab in which the video is playing.

This always crashes for me.
There are also other instances where Kaffeine is able to crash Konqueror.

Revision history for this message
In , SadEagle (maksim-kde) wrote :

Sorry, that's just impossible with in-process components. The best that I can suggest is to not install kparts that crash every 5 seconds

Revision history for this message
In , Julius Schwartzenberg (jschwart) wrote :

Isn't there anything that can be done about this?
Maybe kparts could somehow be blacklisted when they crash once, so that they can't crash Konqueror a second time?

Revision history for this message
In , Friedrich W. H. Kossebau (kossebau) wrote :

Yes, a KPart proxy would be nice, at least for possibly unstable parts. Reassigning to Konqueror, as I did not find an entry for the KParts framework or Kaffeine. But KHexEdit2 is not the culprit ;)

Revision history for this message
In , Julius Schwartzenberg (jschwart) wrote :

Yes, sorry that was a mistake.

The idea of a proxy sounds interesting. I was thinking myself along the lines of something like:
1. Konqueror is embedding a certain file type using a certain kpart.
2. The kpart crashes and gets marked as bad (or maybe it's added to a blacklist or something like that)
3. The next time Konqueror comes across something that is embedded using a certain filetype, it takes the next kpart that a user might have installed for this filetype instead.
4. If somehow all the kparts are marked bad after a while, there should be a button or something like that would open the file in an external viewer instead. Since this can never crash Konqueror, in the end all the crashes would be gone.

If bad kparts could be used through some kind of proxy, that would be even better though. Maybe it could also be possible for kparts to mark themselves as 'unstable' so that they are always automaticly proxied? Or the other way around where a kpart needs to be marked as 'stable' first before it is possible to run it without a proxy?

Revision history for this message
In , 2-nicolasg (2-nicolasg) wrote :

I suppose that "WONTFIX" is not wanted anymore.

Revision history for this message
In , Thiago Macieira (thiago-kde) wrote :

There's just one problem: once Konqueror has crashed, it can't mark a part as "bad".

Revision history for this message
In , Julius Schwartzenberg (jschwart) wrote :

Yes, I was already afraid that this would be a problem. That is one of the reasons why a proxy/no-proxy marking by kpart authors seems like a good idea.

For the 'once Konqueror has crashed'-situation, would it somehow be possible to let DrKonqi handle the marking?

Revision history for this message
In , Thiago Macieira (thiago-kde) wrote :

In theory, yes.

Revision history for this message
In , Staikos (staikos) wrote :

 So instead of crashing, it just plain doesn't work anymore?

  As to determining which plugin caused the crash, we can somewhat reliably
determine that. Install a sigsegv/sigfpe handler and then search the
backtrace for the offending kpart library. If it's not a Konqueror
distributed one, blacklist it. And then we either annoy the user or make it
silently not work.

Revision history for this message
In , Julius Schwartzenberg (jschwart) wrote :

> So instead of crashing, it just plain doesn't work anymore?

Yes. It's really annoying when you've got a Konqueror window open with 10 tabs and one of them crashes the whole instance...
It would be great if this functionality could be implemented somehow. It would make Konqueror (at least on my comps) at lot more stable.

If it would be possible to show the user a warning that a kpart is being blacklisted because it seems to be unstable that would be better than doing it silently I think. In the File Associations part in the Control Center, in the list from the Service Preference Order, maybe the kpart could be listed with an icon in front of it (skull or cross or something like that), so it is clear it is disabled. Also an option to reenable it from there seems logical.

Also one thing about point 4 in my earlier comment (#4), would it be possible to have some sort of generic kpart that would only display a button which someone could click on to have the file/URL passed to an external/serperate viewer?

Maybe it could even be so that once a kpart is blacklisted, a button could always appear. Clicking on the button would open a new instance of Konqueror with the offending kpart in it instead of embedding it in the current instance. Then it wouldn't be a problem if the kpart would crash, since only the new Konqueror instance would be taken down.

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 105609 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 101989 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 108571 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 110312 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 112470 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 107217 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Thiago Macieira (thiago-kde) wrote :

*** Bug 112851 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 111976 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 113066 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 113158 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 113113 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 113633 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 112794 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 114598 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 115133 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 115488 has been marked as a duplicate of this bug. ***

Revision history for this message
In , SadEagle (maksim-kde) wrote :

*** Bug 116587 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Krishnoid (krishnoid) wrote :

Something like 'sessionsaver' (or something addressing bug 83803) might also mitigate the crashes. I run into a similar problem very infrequently while flipping back and forth very quickly in the kpdf part.

Revision history for this message
In , Thiago Macieira (thiago-kde) wrote :

*** Bug 118967 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Thiago Macieira (thiago-kde) wrote :

*** Bug 119178 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 122023 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tommi Tervo (tommi-tervo) wrote :

*** Bug 123984 has been marked as a duplicate of this bug. ***

Kenny Duffus (kduffus)
Changed in kdebase:
assignee: nobody → kubuntu-team
Revision history for this message
Didier Raboud (odyx) wrote :

Kubuntu Dapper now uses kmplayer for embedded multimedia, can you still reproduce it ?

Changed in kdebase:
status: Unconfirmed → Needs Info
Goldenear (goldenear)
Changed in kdebase:
status: Needs Info → Fix Committed
Revision history for this message
Krzysztof Lichota (krzysiek-launchpad-ubuntu-com) wrote :
Revision history for this message
In , Magnus-kessler (magnus-kessler) wrote :

In the case of the kaffeine part the crash is caused by the use of xine-lib. The xine documentation (http://xinehq.de/index.php/hackersguide#AEN75) states that a xine frontend "must call XInitThreads() before calling the first Xlib function, because xine will access the display from within a different thread than the frontend". On the face of it this would mean that the kaffeine kpart would have to call XInitThreads(). But the kpart runs inside an application (konqueror) that has already accessed other Xlib functions and XInitThreads() cannot be called anymore (see man XInitThreads).
This leaves only the main application, i.e. konqueror. SUSE seem to have a patch to konqueror that makes it call XInitThreads() in kdemain (http://developer.kde.org/~binner/distributor-patches/Novell/nld9/kdebase3-3.2.1-68.32/konq-init-XThreads.diff).
Are there any reasons not to apply such a patch by default?

Changed in kdelibs:
status: Unknown → Confirmed
Revision history for this message
In , spart (germain) wrote :

interesting design decision from the xine-lib hackers ;(

doesn't enabling Xlib threads otherwise causes a performance penalty of some kind?
The Xlib documentation is rather short on details, just stating:
  "It is recommended that single-threaded programs not call this function."

Revision history for this message
In , Gassauer (gassauer) wrote :

KDE 3.5 branch SNV
http://iptv.orf.at/ - click on a stream - opens a "black" windows, crashes on exit

Revision history for this message
In , Gassauer (gassauer) wrote :

I have to add, I can hear the sound of the stream.

Revision history for this message
In , Jonathan Métillon (jmetillon) wrote :

Please remove me from your list

On 8 Jul 2006 20:53:53 -0000, Ferdinand Gassauer <email address hidden> wrote:
[bugs.kde.org quoted mail]
Please remove me from your list<br><br><div><span class="gmail_quote">On 8 Jul 2006 20:53:53 -0000, <b class="gmail_sendername">Ferdinand Gassauer</b> &lt;<a href="mailto:<email address hidden>"><email address hidden></a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">------- You are receiving this mail because: -------<br>You are on the CC list for the bug, or are watching someone who is.
<br><br><a href="http://bugs.kde.org/show_bug.cgi?id=109498">http://bugs.kde.org/show_bug.cgi?id=109498</a><br><br><br><br><br>------- Additional Comments From gassauer kde org&nbsp;&nbsp;2006-07-08 22:53 -------<br>I have to add, I can hear the sound of the stream.
<br></blockquote></div><br>

Revision history for this message
In , Y-coolo (y-coolo) wrote :

*** Bug 131939 has been marked as a duplicate of this bug. ***

Revision history for this message
In , SadEagle (maksim-kde) wrote :

*** Bug 136840 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Me-ngeefk4xayt3t4u9watah405veq (me-ngeefk4xayt3t4u9watah405veq) wrote :

*** Bug 137854 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Me-ngeefk4xayt3t4u9watah405veq (me-ngeefk4xayt3t4u9watah405veq) wrote :

*** Bug 113043 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Philip Rodrigues (phil-kde) wrote :

*** Bug 138723 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Philip Rodrigues (phil-kde) wrote :

*** Bug 140809 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Philip Rodrigues (phil-kde) wrote :

*** Bug 141228 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Pieter Vande Wyngaerde (pietervandewyngaerde) wrote :

bug 141228 has a more detailed crash log

Changed in kdebase:
assignee: kubuntu-team → nobody
status: Fix Committed → New
Revision history for this message
Marco Maini (maini10) wrote :

This bug have several confirmation in upstream bug tracker. However, it seems specific to kaffeine and xine.

Changed in kdebase:
status: New → Confirmed
Revision history for this message
Marco Maini (maini10) wrote :

The problem with xine-lib is described here: http://bugs.kde.org/show_bug.cgi?id=109498#c33

Changed in xine-lib:
status: New → Confirmed
Revision history for this message
Guillaume Martres (smarter) wrote :

I can't reproduce this bug with Gutsy and Kaffeine 0.8.5, do you still have this problem?

Revision history for this message
Lukas Wolf (lukas.wolf) wrote :

The original site doesn't feature embedded videos anymore.
I've tried to reproduce it on different sites but couldn't, happily!

Revision history for this message
Tom Shaw (firephoto) wrote :
Revision history for this message
Tom Shaw (firephoto) wrote :

I should of mentioned this is on Hardy.

Revision history for this message
In , David Faure (faure) wrote :

The general request for blacklisting is one thing, but about all the reports merged here about the XInitThreads-related crash (like 140809 and 141228 at least) : does this still happen in KDE4? The X11-specific code in KShortcut no longer exists, AFAIK (and kaffeine is no more, right?).

Revision history for this message
In , FiNeX (finex) wrote :

@David: you're right: kaffeine is not currently mantained. Probably the specific crash problem cannot be reproduced. Do you suggest to open a new wish about the possibility to have a kpart proxy for a blacklisting or should this bug left opened for this request?

Changed in kdelibs:
status: Confirmed → Unknown
Revision history for this message
Jonathan Thomas (echidnaman) wrote :

The crash shouldn't occur anymore with KDE4 desktops.

Changed in xine-lib (Ubuntu):
status: Confirmed → Fix Released
Changed in kdelibs (Ubuntu):
status: Confirmed → Fix Released
Changed in kdelibs:
importance: Unknown → High
status: Unknown → Incomplete
Revision history for this message
In , Myriam Schweingruber (myriam) wrote :

Closing as outdated.

Changed in kdelibs:
status: Incomplete → Unknown
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.