Bug 278048

Summary: Konqueror crashes when changing URL while it loads
Product: [Applications] konqueror Reporter: Christoph Feck <cfeck>
Component: khtmlAssignee: Konqueror Bugs <konqueror-bugs-null>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: gapon007, Martin
Priority: NOR    
Version First Reported In: Git   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Christoph Feck 2011-07-18 20:03:39 UTC
Application: konqueror (4.7.40 (4.7.40 (KDE 4.8 >= 200110623))
KDE Platform Version: 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) (Compiled from sources)
Qt Version: 4.7.4
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:

I was loading the list of all open bugs reported in the last 30 days. While it was loading, I changed my mind, and replaced the "30d" with "7d" in the URL. When I hit Enter, I got this crash. Note that it was still loading the "30d" list, so you have to be fast to reproduce it.

The crash can be reproduced every time.

-- Backtrace:
Application: Konqueror (kdeinit4), signal: Aborted
[KCrash Handler]
#7  0xffffe424 in __kernel_vsyscall ()
#8  0xb5b1a8df in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#9  0xb5b1c220 in abort () at abort.c:92
#10 0xb6adb9d3 in qt_message_output (msgType=QtFatalMsg, buf=0x93e8a68 "ASSERT: \"!m_nextMimeType.isNull()\" in file /local/git/KDE/libs/kdelibs/khtml/kmultipart/kmultipart.cpp, line 419") at /local/git/Qt/qt/src/corelib/global/qglobal.cpp:2282
#11 0xb6adbb3e in qt_message (msgType=QtFatalMsg, msg=0xb6c68414 "ASSERT: \"%s\" in file %s, line %d", ap=0xbf99fec4 "&\023\341\255\034\375\340\255\243\001") at /local/git/Qt/qt/src/corelib/global/qglobal.cpp:2328
#12 0xb6adbf6a in qFatal (msg=0xb6c68414 "ASSERT: \"%s\" in file %s, line %d") at /local/git/Qt/qt/src/corelib/global/qglobal.cpp:2511
#13 0xb6adb578 in qt_assert (assertion=0xade11326 "!m_nextMimeType.isNull()", file=0xade0fd1c "/local/git/KDE/libs/kdelibs/khtml/kmultipart/kmultipart.cpp", line=419) at /local/git/Qt/qt/src/corelib/global/qglobal.cpp:2027
#14 0xade0be57 in KMultiPart::startOfData (this=0x86d6090) at /local/git/KDE/libs/kdelibs/khtml/kmultipart/kmultipart.cpp:419
#15 0xade0b078 in KMultiPart::slotData (this=0x86d6090, job=0x869d730, data=...) at /local/git/KDE/libs/kdelibs/khtml/kmultipart/kmultipart.cpp:279
#16 0xade0ccb9 in KMultiPart::qt_metacall (this=0x86d6090, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbf9a0154) at /local/build/KDE/libs/kdelibs/khtml/kmultipart/kmultipart.moc:85
#17 0xb6bf943a in QMetaObject::metacall (object=0x86d6090, cl=QMetaObject::InvokeMetaMethod, idx=17, argv=0xbf9a0154) at /local/git/Qt/qt/src/corelib/kernel/qmetaobject.cpp:237
#18 0xb6c0c5bf in QMetaObject::activate (sender=0x869d730, m=0xb52f2e10, local_signal_index=0, argv=0xbf9a0154) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:3278
#19 0xb51013e1 in KIO::TransferJob::data (this=0x869d730, _t1=0x869d730, _t2=...) at /local/build/KDE/libs/kdelibs/kio/jobclasses.moc:391
#20 0xb50f91f9 in KIO::TransferJob::slotData (this=0x869d730, _data=...) at /local/git/KDE/libs/kdelibs/kio/kio/job.cpp:981
#21 0xb5101265 in KIO::TransferJob::qt_metacall (this=0x869d730, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0xbf9a02c8) at /local/build/KDE/libs/kdelibs/kio/jobclasses.moc:370
#22 0xb6bf943a in QMetaObject::metacall (object=0x869d730, cl=QMetaObject::InvokeMetaMethod, idx=48, argv=0xbf9a02c8) at /local/git/Qt/qt/src/corelib/kernel/qmetaobject.cpp:237
#23 0xb6c0c5bf in QMetaObject::activate (sender=0x86ce150, m=0xb52f55c4, local_signal_index=0, argv=0xbf9a02c8) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:3278
#24 0xb51a53be in KIO::SlaveInterface::data (this=0x86ce150, _t1=...) at /local/build/KDE/libs/kdelibs/kio/slaveinterface.moc:146
#25 0xb51a2a69 in KIO::SlaveInterface::dispatch (this=0x86ce150, _cmd=100, rawdata=...) at /local/git/KDE/libs/kdelibs/kio/kio/slaveinterface.cpp:160
#26 0xb51a2746 in KIO::SlaveInterface::dispatch (this=0x86ce150) at /local/git/KDE/libs/kdelibs/kio/kio/slaveinterface.cpp:88
#27 0xb519848a in KIO::Slave::gotInput (this=0x86ce150) at /local/git/KDE/libs/kdelibs/kio/kio/slave.cpp:344
#28 0xb5199626 in KIO::Slave::qt_metacall (this=0x86ce150, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbf9a054c) at /local/build/KDE/libs/kdelibs/kio/slave.moc:82
#29 0xb6bf943a in QMetaObject::metacall (object=0x86ce150, cl=QMetaObject::InvokeMetaMethod, idx=30, argv=0xbf9a054c) at /local/git/Qt/qt/src/corelib/kernel/qmetaobject.cpp:237
#30 0xb6c0c5bf in QMetaObject::activate (sender=0x86e2d88, m=0xb52f2344, local_signal_index=0, argv=0x0) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:3278
#31 0xb50c899f in KIO::Connection::readyRead (this=0x86e2d88) at /local/build/KDE/libs/kdelibs/kio/connection.moc:92
#32 0xb50c5794 in KIO::ConnectionPrivate::dequeue (this=0x85e4800) at /local/git/KDE/libs/kdelibs/kio/kio/connection.cpp:82
#33 0xb50c892e in KIO::Connection::qt_metacall (this=0x86e2d88, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x8715718) at /local/build/KDE/libs/kdelibs/kio/connection.moc:79
#34 0xb6bf943a in QMetaObject::metacall (object=0x86e2d88, cl=QMetaObject::InvokeMetaMethod, idx=5, argv=0x8715718) at /local/git/Qt/qt/src/corelib/kernel/qmetaobject.cpp:237
#35 0xb6c0767d in QMetaCallEvent::placeMetaCall (this=0x88d0320, object=0x86e2d88) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:535
#36 0xb6c08753 in QObject::event (this=0x86e2d88, e=0x88d0320) at /local/git/Qt/qt/src/corelib/kernel/qobject.cpp:1217
#37 0xb5f728ae in QApplicationPrivate::notify_helper (this=0x80f6e08, receiver=0x86e2d88, e=0x88d0320) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4462
#38 0xb5f701aa in QApplication::notify (this=0xbf9a0fd0, receiver=0x86e2d88, e=0x88d0320) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:3862
#39 0xb746abae in KApplication::notify (this=0xbf9a0fd0, receiver=0x86e2d88, event=0x88d0320) at /local/git/KDE/libs/kdelibs/kdeui/kernel/kapplication.cpp:311
#40 0xb6bf1d8f in QCoreApplication::notifyInternal (this=0xbf9a0fd0, receiver=0x86e2d88, event=0x88d0320) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:787
#41 0xb6bf5691 in QCoreApplication::sendEvent (receiver=0x86e2d88, event=0x88d0320) at ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:215
#42 0xb6bf2e28 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x805dd58) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1428
#43 0xb6bf2ae5 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1321
#44 0xb6c26c20 in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:220
#45 0xb6c25d82 in postEventSourceDispatch (s=0x80f8f70) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#46 0xb564b509 in g_main_dispatch (context=0x80f8ee0) at gmain.c:2440
#47 g_main_context_dispatch (context=0x80f8ee0) at gmain.c:3013
#48 0xb564bd10 in g_main_context_iterate (context=0x80f8ee0, block=1, dispatch=1, self=0x80f6f20) at gmain.c:3091
#49 0xb564bfce in g_main_context_iteration (context=0x80f8ee0, may_block=1) at gmain.c:3154
#50 0xb6c26548 in QEventDispatcherGlib::processEvents (this=0x80f1818, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:422
#51 0xb603ba98 in QGuiEventDispatcherGlib::processEvents (this=0x80f1818, flags=...) at /local/git/Qt/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:204
#52 0xb6befaed in QEventLoop::processEvents (this=0xbf9a0ecc, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:149
#53 0xb6befc31 in QEventLoop::exec (this=0xbf9a0ecc, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:201
#54 0xb6bf247a in QCoreApplication::exec () at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1064
#55 0xb5f6fddc in QApplication::exec () at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:3736
#56 0xb12af6ee in kdemain (argc=2, argv=0x80bdbc8) at /local/git/KDE/base/kde-baseapps/konqueror/src/konqmain.cpp:227
#57 0x0804ddb8 in launch (argc=2, _name=0x80c5fe4 "/local/kde4/bin/konqueror", args=0x80c6007 "", cwd=0x0, envc=0, envs=0x80c600b "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x80c600f "duo;1311019238;784315;21505_TIME895261096") at /local/git/KDE/libs/kdelibs/kinit/kinit.cpp:734
#58 0x0804ee1d in handle_launcher_request (sock=8, who=0x8053834 "launcher") at /local/git/KDE/libs/kdelibs/kinit/kinit.cpp:1226
#59 0x0804f55d in handle_requests (waitForPid=0) at /local/git/KDE/libs/kdelibs/kinit/kinit.cpp:1419
#60 0x08050e58 in main (argc=4, argv=0xbf9a1834, envp=0xbf9a1848) at /local/git/KDE/libs/kdelibs/kinit/kinit.cpp:1907

Reported using DrKonqi
Comment 1 Dawit Alemayehu 2011-11-15 06:49:52 UTC
*** Bug 278848 has been marked as a duplicate of this bug. ***
Comment 2 Dawit Alemayehu 2011-11-22 00:02:07 UTC
You are hitting a Q_ASSERT at line 419 in khtml/kmultipart/kmultipart.cpp. No clue why that assert is put there since the condition that causes the crash is immediately checked before proceeding.
Comment 3 Dawit Alemayehu 2011-11-22 00:03:13 UTC
(In reply to comment #2)
> You are hitting a Q_ASSERT at line 419 in khtml/kmultipart/kmultipart.cpp. No
> clue why that assert is put there since the condition that causes the crash is
> immediately checked before proceeding.

Oh and that also means this crash is never in the release builds. Only those that compile in debug mode can see it.
Comment 4 Jekyll Wu 2012-05-29 00:40:07 UTC
*** Bug 296826 has been marked as a duplicate of this bug. ***