Bug 211616 - kwebkit crashes with youtube
Summary: kwebkit crashes with youtube
Status: RESOLVED FIXED
Alias: None
Product: kwebkitpart
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: webkit-devel
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-24 07:04 UTC by Paulo Dias
Modified: 2009-11-26 05:15 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
konqueror crashes on specific youtube videos (2.04 KB, application/octet-stream)
2009-11-01 23:16 UTC, Jakub Horák
Details
output of the svn konqueror (r1043587) (14.34 KB, application/octet-stream)
2009-11-01 23:19 UTC, Jakub Horák
Details
These are my AdblocK filters (7.08 KB, text/plain)
2009-11-01 23:38 UTC, Jakub Horák
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Paulo Dias 2009-10-24 07:04:48 UTC
Application that crashed: konqueror
Version of the application: 4.3.2 (KDE 4.3.2)
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.2
Operating System: Linux 2.6.32-rc5-custom i686
Distribution: Ubuntu 9.04

What I was doing when the application crashed:
when opening youtube content with latest webkitkde (svn 1039635), konqueror is able to open the applet and start the video, but as soon as video/audio starts (after the inicial cache process), konqueror crashes. if i go to adobe.com i can see the videos and flash tests with webkitkde without a problem, so it appears to be a youtube specific thing.


 -- Backtrace:
Application: Konqueror (kdeinit4), signal: Segmentation fault
[Current thread is 0 (LWP 25011)]

Thread 9 (Thread 0xae26ab90 (LWP 25058)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5d4c412 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5f32344 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb766545c in QWaitCondition::wait (this=0x93b9ac8, mutex=0x93b9ac4, time=30000) at thread/qwaitcondition_unix.cpp:85
#4  0xb765aa96 in QThreadPoolThread::run (this=0xb605948) at concurrent/qthreadpool.cpp:140
#5  0xb7664442 in QThreadPrivate::start (arg=0xb605948) at thread/qthread_unix.cpp:188
#6  0xb5d484ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb5f2349e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 8 (Thread 0xada1db90 (LWP 25077)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5d4c412 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5f32344 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb766545c in QWaitCondition::wait (this=0x93b9ac8, mutex=0x93b9ac4, time=30000) at thread/qwaitcondition_unix.cpp:85
#4  0xb765aa96 in QThreadPoolThread::run (this=0x9943d88) at concurrent/qthreadpool.cpp:140
#5  0xb7664442 in QThreadPrivate::start (arg=0x9943d88) at thread/qthread_unix.cpp:188
#6  0xb5d484ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb5f2349e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 7 (Thread 0xaeedeb90 (LWP 25114)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5d4c0e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5f322ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb00e278f in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#4  0xb0213b3f in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#5  0xb00e2c3d in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#6  0xb5d484ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb5f2349e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 6 (Thread 0xac21cb90 (LWP 25115)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5d4c0e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5f322ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb00e278f in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#4  0xb0213b3f in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#5  0xb00e2c3d in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#6  0xb5d484ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb5f2349e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 5 (Thread 0xab59ab90 (LWP 25130)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5d4c412 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5f32344 in pthread_cond_timedwait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb00e2621 in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#4  0xb05c26bc in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#5  0xb00e2c3d in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#6  0xb5d484ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb5f2349e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 4 (Thread 0xaac3fb90 (LWP 25145)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5ede7a6 in nanosleep () from /lib/tls/i686/cmov/libc.so.6
#2  0xb5f1c14c in usleep () from /lib/tls/i686/cmov/libc.so.6
#3  0xb05124ac in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#4  0xb5d484ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#5  0xb5f2349e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 3 (Thread 0xaa43eb90 (LWP 25147)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5d4c0e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5f322ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb0826ae4 in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#4  0xb08066c1 in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#5  0xb07b8092 in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#6  0xb5d484ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb5f2349e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread 0xa9c3db90 (LWP 25148)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5d4c0e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb5f322ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb0826ae4 in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#4  0xb08066c1 in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#5  0xb07b8092 in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#6  0xb5d484ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb5f2349e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb57cf700 (LWP 25011)):
[KCrash Handler]
#6  0xb04bd017 in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#7  0xb00cc865 in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#8  0xb00cfc3c in ?? () from /usr/lib/flashplugin-installer/libflashplayer.so
#9  0xb4addeed in WebCore::PluginStream::destroyStream (this=0x9aae458) at plugins/PluginStream.cpp:266
#10 0xb4ade361 in WebCore::PluginStream::didFinishLoading (this=0x9aae458, loader=0x9aae600) at plugins/PluginStream.cpp:459
#11 0xb4a16952 in WebCore::NetscapePlugInStreamLoader::didFinishLoading (this=0x9aae600) at loader/NetscapePlugInStreamLoader.cpp:103
#12 0xb4a18c61 in WebCore::ResourceLoader::didFinishLoading (this=0x9aae600) at loader/ResourceLoader.cpp:422
#13 0xb4beddbc in WebCore::QNetworkReplyHandler::finish (this=0xb4b5f70) at platform/network/qt/QNetworkReplyHandler.cpp:225
#14 0xb4bee175 in WebCore::QNetworkReplyHandler::qt_metacall (this=0xb4b5f70, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xb817190) at .moc/release-shared/moc_QNetworkReplyHandler.cpp:69
#15 0xb7767bdb in QMetaCallEvent::placeMetaCall (this=0x94b72f0, object=0xb4b5f70) at kernel/qobject.cpp:477
#16 0xb77696c0 in QObject::event (this=0xb4b5f70, e=0x94b72f0) at kernel/qobject.cpp:1111
#17 0xb61e8d3c in QApplicationPrivate::notify_helper (this=0x8b4d430, receiver=0xb4b5f70, e=0x94b72f0) at kernel/qapplication.cpp:4056
#18 0xb61f105e in QApplication::notify (this=0xbfb14380, receiver=0xb4b5f70, e=0x94b72f0) at kernel/qapplication.cpp:3603
#19 0xb6cf649d in KApplication::notify () from /usr/lib/libkdeui.so.5
#20 0xb7758edb in QCoreApplication::notifyInternal (this=0xbfb14380, receiver=0xbfb14380, event=0x94b72f0) at kernel/qcoreapplication.cpp:610
#21 0xb7759b35 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8ac5b38) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#22 0xb7759d2d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1140
#23 0xb77849bf in postEventSourceDispatch (s=0x8b4f710) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#24 0xb5d94b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#25 0xb5d980eb in ?? () from /usr/lib/libglib-2.0.so.0
#26 0xb5d98268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#27 0xb7784608 in QEventDispatcherGlib::processEvents (this=0x8ac7d40, flags={i = -1078902632}) at kernel/qeventdispatcher_glib.cpp:327
#28 0xb628aac5 in QGuiEventDispatcherGlib::processEvents (this=0x8ac7d40, flags={i = -1078902584}) at kernel/qguieventdispatcher_glib.cpp:202
#29 0xb775750a in QEventLoop::processEvents (this=0xbfb14140, flags={i = -1078902520}) at kernel/qeventloop.cpp:149
#30 0xb7757952 in QEventLoop::exec (this=0xbfb14140, flags={i = -1078902456}) at kernel/qeventloop.cpp:201
#31 0xb7759df9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#32 0xb61e8bb7 in QApplication::exec () at kernel/qapplication.cpp:3525
#33 0xb42878a8 in kdemain () from /usr/lib/libkdeinit4_konqueror.so
#34 0x0804e27d in _start ()

Reported using DrKonqi
Comment 1 Urs Wolfer 2009-10-24 15:54:35 UTC
What version of the WebKit KPart are you using?
Comment 2 Dawit Alemayehu 2009-10-24 21:42:50 UTC
(In reply to comment #1)
> What version of the WebKit KPart are you using?

He stated svn r1039635 in his report. 

Currently the only known crash in kdewebkit as related to flash is due to the use of custom useragent string. However, that only happens when you leave a site that contains flash content, not during viewing as you reported here.

Anyhow, I am unable to duplicate this crash. Viewing flash videos on youtube.com or anywhere else for that matter works fine here. Perhaps a Ubuntu specific issue ?
Comment 3 Jakub Horák 2009-10-28 11:33:14 UTC
I have the same problem. Some videos on youtube work, but this doesn't: http://www.youtube.com/watch?v=M-hyxTuh2YE
It loads the flash plugin and then crashes.

Konqueror 4.3.2, webkit-kpart svn version from 18:18:34 26.10.2009, Qt-webkit 4.5.2-r1

Application: Konqueror (konqueror), signal SIGSEGV
[Thread debugging using libthread_db enabled]
[New Thread 0xaf5b6b70 (LWP 1766)]
[New Thread 0xafdb7b70 (LWP 1765)]
[New Thread 0xb2ebeb70 (LWP 1751)]
0xffffe424 in __kernel_vsyscall ()
[Current thread is 1 (Thread 0xb58d1920 (LWP 1750))]

Thread 4 (Thread 0xb2ebeb70 (LWP 1751)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6a73062 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#2  0xb6af6ec1 in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/qt4/libQtCore.so.4
#3  0x00000000 in ?? ()

Thread 3 (Thread 0xafdb7b70 (LWP 1765)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6a72d35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb175c78f in ?? () from /opt/netscape/plugins/libflashplayer.so
#3  0xb188db3f in ?? () from /opt/netscape/plugins/libflashplayer.so
#4  0xb175cc3d in ?? () from /opt/netscape/plugins/libflashplayer.so
#5  0xb6a6e3ab in start_thread () from /lib/libpthread.so.0
#6  0xb5f10ede in clone () from /lib/libc.so.6

Thread 2 (Thread 0xaf5b6b70 (LWP 1766)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6a72d35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb175c78f in ?? () from /opt/netscape/plugins/libflashplayer.so
#3  0xb188db3f in ?? () from /opt/netscape/plugins/libflashplayer.so
#4  0xb175cc3d in ?? () from /opt/netscape/plugins/libflashplayer.so
#5  0xb6a6e3ab in start_thread () from /lib/libpthread.so.0
#6  0xb5f10ede in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb58d1920 (LWP 1750)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5edb686 in nanosleep () from /lib/libc.so.6
#2  0xb5edb4ab in sleep () from /lib/libc.so.6
#3  0xb71c2d22 in ?? () from /usr/lib/libkdeui.so.5
Comment 4 Dawit Alemayehu 2009-10-31 01:52:37 UTC
The link in comment #3 works fine here as well. I am unable to duplicate the crash...
Comment 5 Jakub Horák 2009-10-31 19:52:46 UTC
I just compiled Qt 4.5.3 and the problem didn't go away. I have current svn revision of webkitkde, konqueror 4.3.2 and adobe-flash 10.0.32.18. Gentoo here.

I'd say it's a qt-webkit problem, but everything works fine in arora...
Comment 6 Dawit Alemayehu 2009-10-31 23:02:48 UTC
(In reply to comment #5)
> I just compiled Qt 4.5.3 and the problem didn't go away. I have current svn
> revision of webkitkde, konqueror 4.3.2 and adobe-flash 10.0.32.18. Gentoo here.
> 
> I'd say it's a qt-webkit problem, but everything works fine in arora...

Well it works fine here on an Arch Linux box with the same versions of the software you specified. The backtrace you posted previously does not contain any useful information so it is of now use. However, the original backtrace seems to point to a crash deep in WebCore code itself which would be an upstream issue, but the fact that it works on arora makes it hard to state that...

Can you compile kdewebkit with the following flag, -DCMAKE_BUILD_TYPE="RelWithDebInfo", and test the site to see if the crash get contains more useful information ? Also do you by any chance have nspluginwrapper installed ?
Comment 7 Jakub Horák 2009-11-01 23:16:04 UTC
Created attachment 38014 [details]
konqueror crashes on specific youtube videos

Doesn't seem to contain any useful information.
Comment 8 Jakub Horák 2009-11-01 23:19:31 UTC
Created attachment 38015 [details]
output of the svn konqueror (r1043587)

It's the entire output from konqueror. Contains the startup and loading of my homepage /home/devel/home.html. Then I went to the youtube page.
Comment 9 Jakub Horák 2009-11-01 23:20:31 UTC
First, I compiled kdewebkit with relwithdebinfo flag, but crash information was the same as the one I already posted.

Then I compiled svn kdelibs, konqueror and webkitkde with debugfull flag. The crash report, that Konqueror gave me, appears to be of no use. But the output of konqueror seems to make sense. Both files are in attachment.
Comment 10 Jakub Horák 2009-11-01 23:23:38 UTC
(In reply to comment #6)
> Also do you by any chance have
> nspluginwrapper installed ?
No, I don't have nspluginwrapper. I have 32bit x86 system.
Comment 11 Jakub Horák 2009-11-01 23:37:38 UTC
I got it! It's because of the AdblocK filters! Youtube tries to insert ads into the video, konqueror blocks them and crashes.
Comment 12 Jakub Horák 2009-11-01 23:38:49 UTC
Created attachment 38017 [details]
These are my AdblocK filters

When I disabled AdblocK, the youtube page worked as expected :)
Comment 13 Dawit Alemayehu 2009-11-02 03:28:25 UTC
On Sunday 01 November 2009 17:37:39 Jakub Horák wrote:
> https://bugs.kde.org/show_bug.cgi?id=211616
> 
> 
> 
> 
> 
> --- Comment #11 from Jakub Horák <kubahorak gmail com>  2009-11-01 23:37:38
>  --- I got it! It's because of the AdblocK filters! Youtube tries to insert
>  ads into the video, konqueror blocks them and crashes.

Ahh... I remember this now. I did run into this issue before but completely 
forgot about it indeed... The backtraces are usless because the crash happens 
in the flashplayer itself unfortunately. It is curious why that is the case 
though... Will have to investigate to see if there is anything that can be 
done at this level to mitigate/solve the issue.
Comment 14 Paulo Dias 2009-11-03 02:08:28 UTC
I can confirm this, after i disabled adblock, konqueror stopped crashing.

great work in spotting this elusive bug.

best regards.. waiting for a fix in svn :)
Comment 15 Dawit Alemayehu 2009-11-26 05:15:15 UTC
SVN commit 1054486 by adawit:

- Do not crash when ad blocking is enabled.

BUG:211616


 M  +9 -7      networkaccessmanager_p.cpp  


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