Summary: | SearchBarPlugin seems to cause crashes | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | kavol <kavol> |
Component: | searchbarplugin | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | adawit, apkorte, carmack, ctibor.brancik, dawan, frank78ac, fyanardi, gatoso, gerrysw11, jakems, klaus.layer+kde, maksim, marcosrorizinf, ndbecker2, wshambaugh |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 4.6.0 | |
Sentry Crash Report: | |||
Attachments: | Possible fix |
Description
kavol
2009-09-24 15:37:01 UTC
Created attachment 37159 [details]
Possible fix
This is a possible fix for this bug, if you have time, can you please test the attached patch? This patch is to be applied to konq searchbar plugin directory. Thank you.
*** Bug 207783 has been marked as a duplicate of this bug. *** On that note, in SearchBarPlugin::HTMLDocLoaded you should be using ->document() and not ->htmlDocument(), since the latter will return a null node in case of XML, and then method accesses to it will throw an exception, aborting the program. *** Bug 209944 has been marked as a duplicate of this bug. *** *** Bug 210276 has been marked as a duplicate of this bug. *** *** Bug 210282 has been marked as a duplicate of this bug. *** *** Bug 210375 has been marked as a duplicate of this bug. *** *** Bug 210388 has been marked as a duplicate of this bug. *** *** Bug 210447 has been marked as a duplicate of this bug. *** *** Bug 210936 has been marked as a duplicate of this bug. *** *** Bug 210931 has been marked as a duplicate of this bug. *** *** Bug 212674 has been marked as a duplicate of this bug. *** A way to reproduce this would be very helpful... *** Bug 215452 has been marked as a duplicate of this bug. *** *** Bug 215502 has been marked as a duplicate of this bug. *** *** Bug 215616 has been marked as a duplicate of this bug. *** *** Bug 215686 has been marked as a duplicate of this bug. *** (In reply to comment #1) > This is a possible fix for this bug, if you have time, can you please test the > attached patch? This patch is to be applied to konq searchbar plugin directory. > Thank you. Probably the reporters are not building from source and cannot test your patch... Maybe you should just commit it (after considering comment 3)? Note that bug 208039 looks like another duplicate. *** Bug 218102 has been marked as a duplicate of this bug. *** *** Bug 218225 has been marked as a duplicate of this bug. *** *** Bug 223721 has been marked as a duplicate of this bug. *** This may be coincidentally fixed by r1029026/r1033738 *** Bug 224710 has been marked as a duplicate of this bug. *** Using 4.4.92 (openSUSE 11.2 RPMs) the search bar crashes silently when choosing one of the suggestions Still there on 4.4.93 but it's only specific websites, specifically, searching on "information tribunal decisions" entering the phrase causes no problems ut choosing as a suggestion causes the silent crash *** Bug 245394 has been marked as a duplicate of this bug. *** *** Bug 252633 has been marked as a duplicate of this bug. *** trunk r1181826 ==1296== Invalid read of size 1 ==1296== at 0x4029CBC: memmove (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==1296== by 0x4F02302: QListData::remove(int) (string3.h:59) ==1296== by 0x590A77D: QListModel::take(int) (qlist.h:473) ==1296== by 0x590A83E: QListWidget::takeItem(int) (qlistwidget.cpp:1423) ==1296== by 0xCCDAED2: SearchBarCombo::clearSuggestions() (searchbar.cpp:742) ==1296== by 0xCCD91AD: SearchBarPlugin::searchTextChanged(QString const&) (searchbar.cpp:511) ==1296== by 0xCCDBA34: SearchBarPlugin::qt_metacall(QMetaObject::Call, int, void**) (searchbar.moc:196) ==1296== by 0x4FE696C: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==1296== by 0x4FF6B1B: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272) ==1296== by 0x57733A4: QLineEdit::textEdited(QString const&) (moc_qlineedit.cpp:249) ==1296== by 0x4AA6B4D: KLineEdit::_k_slotCompletionBoxTextChanged(QString const&) (klineedit.cpp:1685) ==1296== by 0x4AA7A33: KLineEdit::qt_metacall(QMetaObject::Call, int, void**) (klineedit.moc:164) ==1296== by 0x4FE696C: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==1296== by 0x4FF6B1B: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272) ==1296== by 0x5908C44: QListWidget::currentTextChanged(QString const&) (moc_qlistwidget.cpp:240) ==1296== by 0x5908FFC: QListWidgetPrivate::_q_emitCurrentItemChanged(QModelIndex const&, QModelIndex const&) (qlistwidget.cpp:1120) ==1296== by 0x590C97E: QListWidget::qt_metacall(QMetaObject::Call, int, void**) (moc_qlistwidget.cpp:147) ==1296== by 0x4991B49: KListWidget::qt_metacall(QMetaObject::Call, int, void**) (klistwidget.moc:80) ==1296== by 0x4A83C78: KCompletionBox::qt_metacall(QMetaObject::Call, int, void**) (kcompletionbox.moc:108) ==1296== by 0x4FE696C: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==1296== by 0x4FF6B1B: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272) ==1296== by 0x58F5F4C: QItemSelectionModel::currentChanged(QModelIndex const&, QModelIndex const&) (moc_qitemselectionmodel.cpp:159) ==1296== by 0x58F60CB: QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) (qitemselectionmodel.cpp:1156) ==1296== by 0x5895F36: QAbstractItemView::setCurrentIndex(QModelIndex const&) (qabstractitemview.cpp:1007) ==1296== by 0x58A3C3E: QAbstractItemView::rowsAboutToBeRemoved(QModelIndex const&, int, int) (qabstractitemview.cpp:3227) ==1296== by 0x58C2948: QListView::rowsAboutToBeRemoved(QModelIndex const&, int, int) (qlistview.cpp:757) ==1296== by 0x589D66D: QAbstractItemView::qt_metacall(QMetaObject::Call, int, void**) (moc_qabstractitemview.cpp:236) ==1296== by 0x5A25DA1: QListView::qt_metacall(QMetaObject::Call, int, void**) (moc_qlistview.cpp:111) ==1296== by 0x590C641: QListWidget::qt_metacall(QMetaObject::Call, int, void**) (moc_qlistwidget.cpp:123) ==1296== by 0x4991B49: KListWidget::qt_metacall(QMetaObject::Call, int, void**) (klistwidget.moc:80) ==1296== by 0x4A83C78: KCompletionBox::qt_metacall(QMetaObject::Call, int, void**) (kcompletionbox.moc:108) ==1296== by 0x4FE696C: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==1296== by 0x4FF6B1B: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272) ==1296== by 0x5044DE4: QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex const&, int, int) (moc_qabstractitemmodel.cpp:188) ==1296== by 0x4FD7126: QAbstractItemModel::beginRemoveRows(QModelIndex const&, int, int) (qabstractitemmodel.cpp:2450) ==1296== by 0x590A718: QListModel::take(int) (qlistwidget.cpp:164) ==1296== by 0x590A83E: QListWidget::takeItem(int) (qlistwidget.cpp:1423) ==1296== by 0xCCDAED2: SearchBarCombo::clearSuggestions() (searchbar.cpp:742) ==1296== by 0xCCD91AD: SearchBarPlugin::searchTextChanged(QString const&) (searchbar.cpp:511) ==1296== by 0xCCDBA34: SearchBarPlugin::qt_metacall(QMetaObject::Call, int, void**) (searchbar.moc:196) ==1296== by 0x4FE696C: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==1296== by 0x4FF6B1B: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272) ==1296== by 0x57733A4: QLineEdit::textEdited(QString const&) (moc_qlineedit.cpp:249) ==1296== by 0x4AA6B4D: KLineEdit::_k_slotCompletionBoxTextChanged(QString const&) (klineedit.cpp:1685) ==1296== by 0x4AA7A33: KLineEdit::qt_metacall(QMetaObject::Call, int, void**) (klineedit.moc:164) ==1296== by 0x4FE696C: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==1296== by 0x4FF6B1B: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272) ==1296== by 0x5908C44: QListWidget::currentTextChanged(QString const&) (moc_qlistwidget.cpp:240) ==1296== by 0x5908FFC: QListWidgetPrivate::_q_emitCurrentItemChanged(QModelIndex const&, QModelIndex const&) (qlistwidget.cpp:1120) ==1296== by 0x590C97E: QListWidget::qt_metacall(QMetaObject::Call, int, void**) (moc_qlistwidget.cpp:147) ==1296== Address 0x12038578 is 0 bytes after a block of size 128 alloc'd ==1296== at 0x4028700: realloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==1296== by 0x4EDC312: qRealloc(void*, unsigned int) (qmalloc.cpp:65) ==1296== by 0x4F01E26: QListData::realloc(int) (qlist.cpp:221) ==1296== by 0x4F01EEB: QListData::append(int) (qlist.cpp:243) ==1296== by 0x4F01F72: QListData::append() (qlist.cpp:253) ==1296== by 0x4F0220F: QListData::insert(int) (qlist.cpp:305) ==1296== by 0x590AF6F: QListModel::insert(int, QListWidgetItem*) (qlist.h:584) ==1296== by 0xCCDADD4: SearchBarCombo::setSuggestionItems(QStringList const&) (searchbar.cpp:731) ==1296== by 0xCCDA450: SearchBarPlugin::addSearchSuggestion(QStringList const&) (searchbar.cpp:637) ==1296== by 0xCCDBA50: SearchBarPlugin::qt_metacall(QMetaObject::Call, int, void**) (searchbar.moc:197) ==1296== by 0x4FE696C: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==1296== by 0x4FF6B1B: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272) ==1296== by 0x43F14CC: KIO::SlaveInterface::finished() (slaveinterface.moc:171) ==1296== by 0x43EEA97: KIO::SlaveInterface::dispatch(int, QByteArray const&) (slaveinterface.cpp:173) ==1296== by 0x43EE739: KIO::SlaveInterface::dispatch() (slaveinterface.cpp:89) ==1296== by 0x43E4A17: KIO::Slave::gotInput() (slave.cpp:347) ==1296== by 0x43E5AFF: KIO::Slave::qt_metacall(QMetaObject::Call, int, void**) (slave.moc:82) ==1296== by 0x4FE696C: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==1296== by 0x4FF6B1B: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3272) ==1296== by 0x4316FF6: KIO::Connection::readyRead() (connection.moc:92) ==1296== by 0x4313D97: KIO::ConnectionPrivate::dequeue() (connection.cpp:82) ==1296== by 0x4316F83: KIO::Connection::qt_metacall(QMetaObject::Call, int, void**) (connection.moc:79) ==1296== by 0x4FE696C: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==1296== by 0x4FF1464: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:534) ==1296== by 0x4FF569E: QObject::event(QEvent*) (qobject.cpp:1211) ==1296== by 0x52F11A3: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4396) ==1296== by 0x52F9DD6: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3798) ==1296== by 0x49CB579: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:311) ==1296== by 0x4FE012D: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:732) ==1296== by 0x4FE3E6B: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:215) ==1296== by 0x4FE3FBB: QCoreApplication::sendPostedEvents(QObject*, int) (qcoreapplication.cpp:1266) ==1296== by 0x500E6D3: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qcoreapplication.h:220) ==1296== by 0x64CBB48: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.2400.1) ==1296== by 0x64CC34F: ??? (in /usr/lib/libglib-2.0.so.0.2400.1) ==1296== by 0x64CC60D: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.2400.1) ==1296== by 0x500E85A: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:415) ==1296== by 0x53A6199: QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qguieventdispatcher_glib.cpp:204) ==1296== by 0x4FDF40C: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149) ==1296== This bug should not affect anything newer than KDE v4.6 since the searchbar plugin has been ported to use the new abstracted interface and no longer accesses the html engines directly anymore. If anyone can duplicate this on KDE v4.6 and up, feel free to reopen this report. |