Bug 188276

Summary: find with '/' crashes konqueror
Product: [Applications] konqueror Reporter: Jacopo De Simoi <wilderkde>
Component: khtmlAssignee: Konqueror Developers <konq-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, auxsvr, germain
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jacopo De Simoi 2009-03-27 19:40:41 UTC
Version:            (using Devel)
OS:                Linux
Installed from:    Compiled sources

After checking out rev944751, konqueror crashes whenever I hit "/" to search text in the page and then press a key (to start searching).

bt:
Application: Konqueror (konqueror), signal SIGABRT
0x00007faa3dcfa7e1 in nanosleep () from /lib/libc.so.6
[Current thread is 0 (LWP 19432)]

Thread 3 (Thread 0x41ea2950 (LWP 31500)):
#0  0x00007faa4032b897 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007faa40599757 in QWaitCondition::wait () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007faa4058f55e in ?? () from /usr/lib64/qt4/libQtCore.so.4
#3  0x00007faa40598b00 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007faa40327047 in start_thread () from /lib/libpthread.so.0
#5  0x00007faa3dd2828d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x43bfc950 (LWP 31695)):
#0  0x00007faa4032b897 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007faa40599757 in QWaitCondition::wait () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007faa4058f55e in ?? () from /usr/lib64/qt4/libQtCore.so.4
#3  0x00007faa40598b00 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007faa40327047 in start_thread () from /lib/libpthread.so.0
#5  0x00007faa3dd2828d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7faa4308b700 (LWP 19432)):
[KCrash Handler]
#5  0x00007faa3dc983c5 in raise () from /lib/libc.so.6
#6  0x00007faa3dc9973e in abort () from /lib/libc.so.6
#7  0x00007faa3dc91b1f in __assert_fail () from /lib/libc.so.6
#8  0x00007faa34f3d8f2 in KHTMLFind::findTextNext (this=0x2fc1b28, reverse=false) at /home/jacopods/4.2/kdelibs/khtml/find/khtmlfind.cpp:288
#9  0x00007faa34ed1867 in KHTMLPart::findTextNext (this=0x2fcbb00, reverse=false) at /home/jacopods/4.2/kdelibs/khtml/khtml_part.cpp:3037
#10 0x00007faa34ebb5e8 in KHTMLView::findAhead (this=0x2e739d0, increase=true) at /home/jacopods/4.2/kdelibs/khtml/khtmlview.cpp:1978
#11 0x00007faa34ec1832 in KHTMLView::keyPressEvent (this=0x2e739d0, _ke=0x7fff4b0c6b00) at /home/jacopods/4.2/kdelibs/khtml/khtmlview.cpp:1767
#12 0x00007faa3fa863c6 in QWidget::event () from /usr/lib64/qt4/libQtGui.so.4
#13 0x00007faa3fd79276 in QFrame::event () from /usr/lib64/qt4/libQtGui.so.4
#14 0x00007faa3fdf5e5d in QAbstractScrollArea::event () from /usr/lib64/qt4/libQtGui.so.4
#15 0x00007faa3fdf93a2 in QScrollArea::event () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007faa34ebaa62 in KHTMLView::event (this=0x2e739d0, e=0x4be8) at /home/jacopods/4.2/kdelibs/khtml/khtmlview.cpp:586
#17 0x00007faa3fa3d09e in QApplicationPrivate::notify_helper () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007faa3fa43549 in QApplication::notify () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007faa414b69fb in KApplication::notify (this=0x7fff4b0c7b80, receiver=0x2e739d0, event=0x7fff4b0c6b00) at /home/jacopods/4.2/kdelibs/kdeui/kernel/kapplication.cpp:307
#20 0x00007faa4066e034 in QCoreApplication::notifyInternal () from /usr/lib64/qt4/libQtCore.so.4
#21 0x00007faa3fa8e89c in ?? () from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007faa3faba1e2 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#23 0x00007faa3fabbf8e in ?? () from /usr/lib64/qt4/libQtGui.so.4
#24 0x00007faa3fa9a4ab in QApplication::x11ProcessEvent () from /usr/lib64/qt4/libQtGui.so.4
#25 0x00007faa3fabd562 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#26 0x00007faa3c44a4d2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#27 0x00007faa3c44d7b5 in ?? () from /usr/lib/libglib-2.0.so.0
#28 0x00007faa3c44dcbb in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#29 0x00007faa4069595e in QEventDispatcherGlib::processEvents () from /usr/lib64/qt4/libQtCore.so.4
#30 0x00007faa3fabd34f in ?? () from /usr/lib64/qt4/libQtGui.so.4
#31 0x00007faa4066d335 in QEventLoop::processEvents () from /usr/lib64/qt4/libQtCore.so.4
#32 0x00007faa4066d4a6 in QEventLoop::exec () from /usr/lib64/qt4/libQtCore.so.4
#33 0x00007faa4066f75e in QCoreApplication::exec () from /usr/lib64/qt4/libQtCore.so.4
#34 0x00007faa42c7f1d8 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /home/jacopods/4.2/kdebase/apps/konqueror/src/konqmain.cpp:257
#35 0x00007faa3dc85b74 in __libc_start_main () from /lib/libc.so.6
#36 0x0000000000400829 in _start ()

Reverting the patch solves the issue.
Comment 1 Germain Garand 2009-03-27 23:17:20 UTC
SVN commit 945662 by ggarand:

remove wrong assert, triggered by the '/', gui-less find-as-you-type
feature.

BUG: 188276


 M  +0 -1      khtmlfind.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=945662
Comment 2 Germain Garand 2009-03-27 23:30:11 UTC
SVN commit 945668 by ggarand:

automatically merged revision 945662:
remove wrong assert, triggered by the '/', gui-less find-as-you-type
feature.

BUG: 188276

 M  +0 -1      khtmlfind.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=945668
Comment 3 Jacopo De Simoi 2009-03-27 23:35:07 UTC
Superfast fix, thanks!

This bug sneaked in right in time for 4.2.2 tagging - who should we bug to have it fixed before release? Dirk?
Comment 4 Germain Garand 2009-03-28 00:07:36 UTC
> Superfast fix, thanks!
that's thanks to your faster report ;)

> This bug sneaked in right in time for 4.2.2 tagging - who should we bug to
> have it fixed before release? Dirk?

I don't know if it's needed... it's a debug assert, it won't affect release builds.
Comment 5 auxsvr 2009-04-03 20:28:29 UTC
I think I hit this with 4.2.2, I can trigger it reliably with long webpages after pressing "/", entering phrase to search, then F3 several times:

Application: Konqueror (konqueror), signal SIGSEGV
[?1034h[Thread debugging using libthread_db enabled]
[Current thread is 1 (Thread 0xb5e2e700 (LWP 7806))]

Thread 1 (Thread 0xb5e2e700 (LWP 7806)):
[KCrash Handler]
#6  KHTMLFindBar::pattern (this=0x0) at /usr/src/debug/kdelibs-4.2.2/khtml/find/khtmlfindbar.cpp:105
#7  0xb3b7de1b in KHTMLFind::activate (this=0xb555e4c) at /usr/src/debug/kdelibs-4.2.2/khtml/find/khtmlfind.cpp:231
#8  0xb3b7f0e8 in KHTMLFind::findTextNext (this=0xb555e4c, reverse=false) at /usr/src/debug/kdelibs-4.2.2/khtml/find/khtmlfind.cpp:277
#9  0xb3b1bcfd in KHTMLPart::pFindTextNextInThisFrame (this=0xa6c3730, reverse=<value optimized out>) at /usr/src/debug/kdelibs-4.2.2/khtml/khtml_part.cpp:3042
#10 0xb3b7ee75 in KHTMLFind::findTextNext (this=0x94bc294, reverse=<value optimized out>) at /usr/src/debug/kdelibs-4.2.2/khtml/find/khtmlfind.cpp:435
#11 0xb3b1bd81 in KHTMLPart::findTextNext (this=0x879b478, reverse=<value optimized out>) at /usr/src/debug/kdelibs-4.2.2/khtml/khtml_part.cpp:3037
#12 0xb3b42018 in KHTMLPart::slotFindNext (this=0x879b478) at /usr/src/debug/kdelibs-4.2.2/khtml/khtml_part.cpp:2952
#13 0xb3b49068 in KHTMLPart::qt_metacall (this=0x879b478, _c=QMetaObject::InvokeMetaMethod, _id=41, _a=0xbf96d84c) at /usr/src/debug/kdelibs-4.2.2/build/khtml/khtml_part.moc:286
#14 0xb72fcc88 in QMetaObject::activate (sender=0x8c48fd0, from_signal_index=5, to_signal_index=6, argv=0xbf96d84c) at kernel/qobject.cpp:3069
#15 0xb72fd0c0 in QMetaObject::activate (sender=0x8c48fd0, m=0xb716f1c8, from_local_signal_index=1, to_local_signal_index=2, argv=0xbf96d84c) at kernel/qobject.cpp:3163
#16 0xb68f08e1 in QAction::triggered (this=0x8c48fd0, _t1=false) at .moc/release-shared/moc_qaction.cpp:236
#17 0xb68f1e5f in QAction::activate (this=0x8c48fd0, event=QAction::Trigger) at kernel/qaction.cpp:1160
#18 0xb68f495b in QAction::event (this=0x8c48fd0, e=0xbf96dc74) at kernel/qaction.cpp:1079
#19 0xb77c8579 in KAction::event (this=0x8c48fd0, event=0xbf96dc74) at /usr/src/debug/kdelibs-4.2.2/kdeui/actions/kaction.cpp:88
#20 0xb68f6eec in QApplicationPrivate::notify_helper (this=0x8056e70, receiver=0x8c48fd0, e=0xbf96dc74) at kernel/qapplication.cpp:4084
#21 0xb68ff1ae in QApplication::notify (this=0xbf96ec20, receiver=0x8c48fd0, e=0xbf96dc74) at kernel/qapplication.cpp:3631
#22 0xb78a3bcd in KApplication::notify (this=0xbf96ec20, receiver=0x8c48fd0, event=0xbf96dc74) at /usr/src/debug/kdelibs-4.2.2/kdeui/kernel/kapplication.cpp:307
#23 0xb72e69db in QCoreApplication::notifyInternal (this=0xbf96ec20, receiver=0x8c48fd0, event=0xbf96dc74) at kernel/qcoreapplication.cpp:602
#24 0xb6930308 in QShortcutMap::dispatchEvent (this=0x8056f10, e=0xbf96dffc) at ../../src/corelib/kernel/qcoreapplication.h:213
#25 0xb693220f in QShortcutMap::tryShortcutEvent (this=0x8056f10, o=0x8982ce8, e=0xbf96dffc) at kernel/qshortcutmap.cpp:369
#26 0xb6900450 in QApplication::notify (this=0xbf96ec20, receiver=0x8982ce8, e=0xbf96dffc) at kernel/qapplication.cpp:3673
#27 0xb78a3bcd in KApplication::notify (this=0xbf96ec20, receiver=0x8982ce8, event=0xbf96dffc) at /usr/src/debug/kdelibs-4.2.2/kdeui/kernel/kapplication.cpp:307
#28 0xb72e69db in QCoreApplication::notifyInternal (this=0xbf96ec20, receiver=0x8982ce8, event=0xbf96dffc) at kernel/qcoreapplication.cpp:602
#29 0xb68f7dce in qt_sendSpontaneousEvent (receiver=0x8982ce8, event=0xb717e601) at ../../src/corelib/kernel/qcoreapplication.h:216
#30 0xb6993750 in QKeyMapper::sendKeyEvent (keyWidget=0x8982ce8, grab=false, type=QEvent::KeyPress, code=16777266, modifiers={i = -1080630968}, text=@0xbf96e174, autorepeat=<value optimized out>, 
    count=<value optimized out>, nativeScanCode=69, nativeVirtualKey=65472, nativeModifiers=16) at kernel/qkeymapper_x11.cpp:1678
#31 0xb699593e in QKeyMapperPrivate::translateKeyEvent (this=0x8091980, keyWidget=0x8982ce8, event=0xbf96e7dc, grab=false) at kernel/qkeymapper_x11.cpp:1648
#32 0xb696ccee in QApplication::x11ProcessEvent (this=0xbf96ec20, event=0xbf96e7dc) at kernel/qapplication_x11.cpp:3434
#33 0xb69973ca in x11EventSourceDispatch (s=0x8059cc0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#34 0xb61b19a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#35 0xb61b5063 in ?? () from /usr/lib/libglib-2.0.so.0
#36 0xb61b5221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#37 0xb7312428 in QEventDispatcherGlib::processEvents (this=0x8054ae0, flags={i = -1080628840}) at kernel/qeventdispatcher_glib.cpp:323
#38 0xb6996ac5 in QGuiEventDispatcherGlib::processEvents (this=0x8054ae0, flags={i = -1080628792}) at kernel/qguieventdispatcher_glib.cpp:202
#39 0xb72e4ffa in QEventLoop::processEvents (this=0xbf96ea40, flags={i = -1080628728}) at kernel/qeventloop.cpp:149
#40 0xb72e543a in QEventLoop::exec (this=0xbf96ea40, flags={i = -1080628664}) at kernel/qeventloop.cpp:200
#41 0xb72e78e9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880
#42 0xb68f6d67 in QApplication::exec () at kernel/qapplication.cpp:3553
#43 0xb7feb9bf in kdemain (argc=2, argv=0xbf96ef74) at /usr/src/debug/kdebase-4.2.2/apps/konqueror/src/konqmain.cpp:257
#44 0x08048772 in main (argc=-1220680812, argv=0xb404dff4) at /usr/src/debug/kdebase-4.2.2/build/apps/konqueror/src/konqueror_dummy.cpp:3
Comment 6 Dario Andres 2009-04-09 14:50:51 UTC
@auxsvr: you crash looks more like bug 189201. Which may also be related to this