Bug 276864 - Konq crashes when calling file open dialog from webkit part
Summary: Konq crashes when calling file open dialog from webkit part
Status: RESOLVED FIXED
Alias: None
Product: kwebkitpart
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: webkit-devel
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-01 01:03 UTC by william witt
Modified: 2011-11-16 16:35 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (10.16 KB, text/plain)
2011-07-05 13:54 UTC, Joachim Mairböck
Details

Note You need to log in before you can comment on or make changes to this bug.
Description william witt 2011-07-01 01:03:20 UTC
Application: konqueror (4.6.00 (4.6.0) "release 6")
KDE Platform Version: 4.6.00 (4.6.0) "release 6"
Qt Version: 4.7.1
Operating System: Linux 2.6.37.6-0.5-desktop i686
Distribution: "openSUSE 11.4 (i586)"

-- Information about the crash:
- What I was doing when the application crashed:
1) Navigated to transmission-deamon web interface http://[host]:9091/transmission/web/
2) Clicked open
3) Clicked button to select a file
4) Konq crashes (it should display the file selector)

- Custom settings of the application:
1) Using kwebkit-part for HTML rendering, using khtml does not cause this issue
2) Using Bespin decorators
3) KDE is stock from openSUSE 11.4 repos

The crash can be reproduced every time.

-- Backtrace:
Application: Konqueror (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0xb57e2710 (LWP 3090))]

Thread 3 (Thread 0xab3ffb70 (LWP 3150)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6c28105 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb44b1c87 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib/libQtWebKit.so.4
#3  0xb6c23b05 in start_thread () from /lib/libpthread.so.0
#4  0xb5fe0d5e in clone () from /lib/libc.so.6

Thread 2 (Thread 0x9fc3db70 (LWP 16286)):
#0  0xb5b0022b in clock_gettime () from /lib/librt.so.1
#1  0xb6cf8ae5 in do_gettime () at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0xb6dcb726 in updateCurrentTime (this=0x96ac9ec, tm=...) at kernel/qeventdispatcher_unix.cpp:339
#4  QTimerInfoList::timerWait (this=0x96ac9ec, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0xb6dc9f6b in timerSourcePrepareHelper (src=<value optimized out>, timeout=0x9fc3d11c) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb6dca00d in timerSourcePrepare (source=0x96ac9b8, timeout=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb5a4aa70 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0xb5a4b8e2 in ?? () from /lib/libglib-2.0.so.0
#9  0xb5a4bfce in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0xb6dca7b7 in QEventDispatcherGlib::processEvents (this=0x96741c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#11 0xb6d9b2bd in QEventLoop::processEvents (this=0x9fc3d2b0, flags=...) at kernel/qeventloop.cpp:149
#12 0xb6d9b4e9 in QEventLoop::exec (this=0x9fc3d2b0, flags=...) at kernel/qeventloop.cpp:201
#13 0xb6c9c7b9 in QThread::exec (this=0x9443b98) at thread/qthread.cpp:490
#14 0xb6d7b23d in QInotifyFileSystemWatcherEngine::run (this=0x9443b98) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb6c9f3aa in QThreadPrivate::start (arg=0x9443b98) at thread/qthread_unix.cpp:285
#16 0xb6c23b05 in start_thread () from /lib/libpthread.so.0
#17 0xb5fe0d5e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb57e2710 (LWP 3090)):
[KCrash Handler]
#7  KUrl::KUrl (this=0xbfd42c78, str=...) at /usr/src/debug/kdelibs-4.6.0/kdecore/io/kurl.cpp:388
#8  0xab5d3b5c in WebPage::extension (this=0x891f980, extension=QWebPage::ChooseMultipleFilesExtension, option=0xbfd42cf8, output=0xbfd42d08) at /usr/src/debug/kwebkitpart-1.1.0/src/webpage.cpp:365
#9  0xb41ccc56 in WebCore::ChromeClientQt::runOpenPanel(WebCore::Frame*, WTF::PassRefPtr<WebCore::FileChooser>) () from /usr/lib/libQtWebKit.so.4
#10 0xb3fddbdd in WebCore::Chrome::runOpenPanel(WebCore::Frame*, WTF::PassRefPtr<WebCore::FileChooser>) () from /usr/lib/libQtWebKit.so.4
#11 0xb40fb350 in WebCore::RenderFileUploadControl::click() () from /usr/lib/libQtWebKit.so.4
#12 0xb3ef2760 in WebCore::HTMLInputElement::defaultEventHandler(WebCore::Event*) () from /usr/lib/libQtWebKit.so.4
#13 0xb3de66ef in WebCore::Node::dispatchGenericEvent(WTF::PassRefPtr<WebCore::Event>) () from /usr/lib/libQtWebKit.so.4
#14 0xb3de6c0e in WebCore::Node::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) () from /usr/lib/libQtWebKit.so.4
#15 0xb3de3351 in WebCore::Node::dispatchUIEvent(WebCore::AtomicString const&, int, WTF::PassRefPtr<WebCore::Event>) () from /usr/lib/libQtWebKit.so.4
#16 0xb3de3d15 in WebCore::Node::defaultEventHandler(WebCore::Event*) () from /usr/lib/libQtWebKit.so.4
#17 0xb3ef240c in WebCore::HTMLInputElement::defaultEventHandler(WebCore::Event*) () from /usr/lib/libQtWebKit.so.4
#18 0xb3de66ef in WebCore::Node::dispatchGenericEvent(WTF::PassRefPtr<WebCore::Event>) () from /usr/lib/libQtWebKit.so.4
#19 0xb3de6c0e in WebCore::Node::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) () from /usr/lib/libQtWebKit.so.4
#20 0xb3de4330 in WebCore::Node::dispatchMouseEvent(WebCore::AtomicString const&, int, int, int, int, int, int, bool, bool, bool, bool, bool, WebCore::Node*, WTF::PassRefPtr<WebCore::Event>) () from /usr/lib/libQtWebKit.so.4
#21 0xb3de4e1d in WebCore::Node::dispatchMouseEvent(WebCore::PlatformMouseEvent const&, WebCore::AtomicString const&, int, WebCore::Node*) () from /usr/lib/libQtWebKit.so.4
#22 0xb3ffc804 in WebCore::EventHandler::dispatchMouseEvent(WebCore::AtomicString const&, WebCore::Node*, bool, int, WebCore::PlatformMouseEvent const&, bool) () from /usr/lib/libQtWebKit.so.4
#23 0xb3ffd31a in WebCore::EventHandler::handleMouseReleaseEvent(WebCore::PlatformMouseEvent const&) () from /usr/lib/libQtWebKit.so.4
#24 0xb41ec0ac in QWebPagePrivate::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtWebKit.so.4
#25 0xb41f66ff in QWebPage::event(QEvent*) () from /usr/lib/libQtWebKit.so.4
#26 0xb41f8e80 in QWebView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtWebKit.so.4
#27 0xb305e01b in KWebView::mouseReleaseEvent (this=0x95f5980, event=0xbfd43af4) at /usr/src/debug/kdelibs-4.6.0/kdewebkit/kwebview.cpp:80
#28 0xb63035b0 in QWidget::event (this=0x95f5980, event=0xbfd43af4) at kernel/qwidget.cpp:8200
#29 0xb41f951f in QWebView::event(QEvent*) () from /usr/lib/libQtWebKit.so.4
#30 0xb62a8414 in QApplicationPrivate::notify_helper (this=0x80d3070, receiver=0x95f5980, e=0xbfd43af4) at kernel/qapplication.cpp:4445
#31 0xb62b1c20 in QApplication::notify (this=0xbfd4380c, receiver=0x95f5980, e=0xbfd43af4) at kernel/qapplication.cpp:4006
#32 0xb73f61f1 in KApplication::notify (this=0xbfd44490, receiver=0x95f5980, event=0xbfd43af4) at /usr/src/debug/kdelibs-4.6.0/kdeui/kernel/kapplication.cpp:311
#33 0xb6d9bfde in QCoreApplication::notifyInternal (this=0xbfd44490, receiver=0x95f5980, event=0xbfd43af4) at kernel/qcoreapplication.cpp:732
#34 0xb62a945c in sendSpontaneousEvent (receiver=0x95f5980, event=0xbfd43af4, alienWidget=0x95f5980, nativeWidget=0x93b0248, buttonDown=0xb6c1ac00, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:218
#35 QApplicationPrivate::sendMouseEvent (receiver=0x95f5980, event=0xbfd43af4, alienWidget=0x95f5980, nativeWidget=0x93b0248, buttonDown=0xb6c1ac00, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3103
#36 0xb6335030 in QETWidget::translateMouseEvent (this=0x93b0248, event=0xbfd4400c) at kernel/qapplication_x11.cpp:4438
#37 0xb633413e in QApplication::x11ProcessEvent (this=0xbfd44490, event=0xbfd4400c) at kernel/qapplication_x11.cpp:3442
#38 0xb635e960 in x11EventSourceDispatch (s=0x80d5838, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#39 0xb5a4b509 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#40 0xb5a4bd10 in ?? () from /lib/libglib-2.0.so.0
#41 0xb5a4bfce in g_main_context_iteration () from /lib/libglib-2.0.so.0
#42 0xb6dca76b in QEventDispatcherGlib::processEvents (this=0x80a0a58, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#43 0xb635e55a in QGuiEventDispatcherGlib::processEvents (this=0x80a0a58, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#44 0xb6d9b2bd in QEventLoop::processEvents (this=0xbfd442c4, flags=...) at kernel/qeventloop.cpp:149
#45 0xb6d9b4e9 in QEventLoop::exec (this=0xbfd442c4, flags=...) at kernel/qeventloop.cpp:201
#46 0xb6d9ff90 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#47 0xb62a6104 in QApplication::exec () at kernel/qapplication.cpp:3719
#48 0xb246734f in kdemain (argc=2, argv=0x809f568) at /usr/src/debug/kdebase-4.6.0/apps/konqueror/src/konqmain.cpp:219
#49 0x0804e531 in _start ()

Reported using DrKonqi
Comment 1 Joachim Mairböck 2011-07-05 13:54:23 UTC
Created attachment 61624 [details]
New crash information added by DrKonqi

konqueror (4.6.4 (4.6.4)) on KDE Platform 4.6.4 (4.6.4) using Qt 4.7.3

- What I was doing when the application crashed:
I can confirm this with KDE 4.6.4 from the openSUSE repositories.

-- Backtrace (Reduced):
#7  KUrl::KUrl (this=0xbff0f4a8, str=...) at /usr/src/debug/kdelibs-4.6.4/kdecore/io/kurl.cpp:388
#8  0xab115b5c in WebPage::extension (this=0x936f4b8, extension=QWebPage::ChooseMultipleFilesExtension, option=0xbff0f528, output=0xbff0f538) at /usr/src/debug/kwebkitpart-1.1.0/src/webpage.cpp:365
#9  0xb4378c56 in WebCore::ChromeClientQt::runOpenPanel(WebCore::Frame*, WTF::PassRefPtr<WebCore::FileChooser>) () from /opt/kde3/lib/libQtWebKit.so.4
#10 0xb4189bdd in WebCore::Chrome::runOpenPanel(WebCore::Frame*, WTF::PassRefPtr<WebCore::FileChooser>) () from /opt/kde3/lib/libQtWebKit.so.4
#11 0xb42a7350 in WebCore::RenderFileUploadControl::click() () from /opt/kde3/lib/libQtWebKit.so.4
Comment 2 Dawit Alemayehu 2011-11-16 16:35:13 UTC
Git commit 861c2ca9bbed2d411fbba64d61367420514b16ae by Dawit Alemayehu.
Committed on 13/11/2011 at 18:55.
Pushed by adawit into branch '1.2'.

Check pointer for NULL before use.

BUG: 276864

M  +11   -10   src/webpage.cpp

http://commits.kde.org/kwebkitpart/861c2ca9bbed2d411fbba64d61367420514b16ae
Comment 3 Dawit Alemayehu 2011-11-16 16:35:36 UTC
Git commit 3cb43d62723d0686b1663c1ce43402c873170acd by Dawit Alemayehu.
Committed on 13/11/2011 at 18:55.
Pushed by adawit into branch 'master'.

Check pointer for NULL before use.

BUG: 276864

M  +11   -10   src/webpage.cpp

http://commits.kde.org/kwebkitpart/3cb43d62723d0686b1663c1ce43402c873170acd