| Summary: | Crash using back button after opening a file in find result listing | ||
|---|---|---|---|
| Product: | [Applications] konqueror | Reporter: | Andrea Aime <aaime> |
| Component: | general | Assignee: | Konqueror Bugs <konqueror-bugs-null> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | crash | CC: | martin |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Other | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
--=.iBfA44cbTpKn5A
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Package: konqueror kfind
Version: KDE_3_0_2_RELEASE
OS: Linux 2.4.18
Hi
After a sleepless night I have patch for this bug :) It seems that "emit finished()" causes the crashes. What connects to this signal? I couldn't find anything significant. Backtrace shows that it causes openUrl to be called with some strange parameters. As far as I know commenting it out causes no side effects.
Change in libkonq also fixes strange behavior when find tool gets closed if back button is pushed.
Best regards
Tomaz Solc
Index: kfind/kfindpart.cpp
===================================================================
RCS file: /home/kde/kdebase/kfind/kfindpart.cppv
retrieving revision 1.4
diff -u -3 -p -r1.4 kfindpart.cpp
--- kfind/kfindpart.cpp25 Feb 2002 12:16:32 -00001.4
+++ kfind/kfindpart.cpp16 Aug 2002 10:18:31 -0000
@@ -1677 +1679 @@ void KFindPart::restoreKFindState( QData
*stream >> itemUrl;
addFile(new KFileItem(itemUrl""0)"");
}
- emit finished();
+ // why does this make konqueror crash?
+ //emit finished();
+ kdDebug(1202) << "KFindPart::restoreKFindState : would emit finished\n";
}
KFindPartBrowserExtension::KFindPartBrowserExtension( KFindPart *findPart )
Index: libkonq/konq_dirpart.cc
===================================================================
RCS file: /home/kde/kdebase/libkonq/konq_dirpart.ccv
retrieving revision 1.54
diff -u -3 -p -r1.54 konq_dirpart.cc
--- libkonq/konq_dirpart.cc25 Feb 2002 06:38:55 -00001.54
+++ libkonq/konq_dirpart.cc16 Aug 2002 10:18:33 -0000
@@ -2506 +25013 @@ void KonqDirPart::restoreNameFilter( QDa
void KonqDirPart::restoreState( QDataStream &stream )
{
+ if ( m_findPart )
+ {
+ delete m_findPart;
+ m_findPart = 0L;
+ emit findClosed( this );
+ }
+
// Warning: see comment in IconViewBrowserExtension::restoreState about order
//kdDebug(1203) << " -- void KonqDirPart::restoreState( QDataStream &stream )" << endl;
bool bFindPart;
@@ -46014 +46716 @@ bool KonqDirPart::closeURL()
bool KonqDirPart::openURL(const KURL& url)
{
- if ( m_findPart )
- {
- kdDebug(1203) << "KonqDirPart::openURL -> emit findClosed " << this << endl;
- delete m_findPart;
- m_findPart = 0L;
- emit findClosed( this );
- }
-
+// if ( m_findPart )
+// {
+// kdDebug(1203) << "KonqDirPart::openURL -> emit findClosed " << this << endl;
+//kdDebug(1203) << "KonqDirPart::openURL url: " << url.path() << endl;
+// delete m_findPart;
+// m_findPart = 0L;
+// emit findClosed( this );
+// }
+// moved to restore state
+
m_url = url;
emit aboutToOpenURL ();
--=.iBfA44cbTpKn5A
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
iD8DBQE9XNucsAlAlRhL9q8RAowNAKDL/tDgd973O4yMzHBjapoCAgepUwCgrEiQ
SXcwqeD1EkYWsdCOVtqQ5xU=
=nADD
-----END PGP SIGNATURE-----
--=.iBfA44cbTpKn5A--
*** Bug 42337 has been marked as a duplicate of this bug. *** *** This bug has been marked as a duplicate of 47503 *** this bug is still not fixed, i downloaded the latest version of konqueror just now, and it still does this. Jeff |
(*** This bug was imported into bugs.kde.org ***) Package: konqueror Version: KDE 3.0.5 CVS/CVSup/Snapshot Severity: normal Installed from: Compiled sources Compiler: Not Specified OS: Not Specified OS/Compiler notes: Not Specified I looked for a file containing a string using the find tool in Konqueror opened an html file in the results hit the back button. First I see a "Malformed URL" error in a message box then Konqueror crashes. Here's the backtrace: [New Thread 1024 (LWP 3883)] 0x410d1409 in wait4 () from /lib/libc.so.6 #0 0x410d1409 in wait4 () from /lib/libc.so.6 #1 0x4115098c in __check_rhosts_file () from /lib/libc.so.6 #2 0x40f77d56 in waitpid (pid=4875 stat_loc=0x0 options=0) at wrapsyscall.c:172 #3 0x407175c2 in KCrash::defaultCrashHandler () from /opt/kde3//lib/libkdecore.so.4 #4 0x40f755bb in pthread_sighandler (signo=11 ctx= {gs = 0 __gsh = 0 fs = 0 __fsh = 0 es = 43 __esh = 0 ds = 43 __dsh = 0 edi = 144227904 esi = 143635112 ebp = 3221214008 esp = 3221213952 ebx = 1077594252 edx = 745825639 ecx = 144786960 eax = 3221214032 trapno = 14 err = 4 eip = 1076354784 cs = 35 __csh = 0 eflags = 66050 esp_at_signal = 3221213952 ss = 43 __ssh = 0 fpstate = 0xbfffd080 oldmask = 2147483648 cr2 = 745825639}) at signals.c:97 #5 0x41044478 in killpg () from /lib/libc.so.6 #6 0x41527206 in KonqListView::determineIcon () from /opt/kde3//lib/kde3/konq_listview.so #7 0x4153e220 in KMimeTypeResolver<KonqBaseListViewItem KonqListView>::slotProcessMimeIcons () from /opt/kde3//lib/kde3/konq_listview.so #8 0x4020cf8c in KMimeTypeResolverHelper::qt_invoke () from /opt/kde3//lib/libkio.so.4 #9 0x40a26b24 in QObject::activate_signal () from /opt/qt3//lib/libqt-mt.so.3 #10 0x40a26a8e in QObject::activate_signal () from /opt/qt3//lib/libqt-mt.so.3 #11 0x40ce41c5 in QTimer::timeout () from /opt/qt3//lib/libqt-mt.so.3 #12 0x40a4113c in QTimer::event () from /opt/qt3//lib/libqt-mt.so.3 #13 0x409cf3f1 in QApplication::internalNotify () from /opt/qt3//lib/libqt-mt.so.3 #14 0x409cf297 in QApplication::notify () from /opt/qt3//lib/libqt-mt.so.3 #15 0x4066c4c9 in KApplication::notify () from /opt/kde3//lib/libkdecore.so.4 #16 0x4097c320 in qt_activate_timers () from /opt/qt3//lib/libqt-mt.so.3 #17 0x40979eac in QApplication::processNextEvent () from /opt/qt3//lib/libqt-mt.so.3 #18 0x409d07e1 in QApplication::enter_loop () from /opt/qt3//lib/libqt-mt.so.3 #19 0x40b71bfc in QDialog::exec () from /opt/qt3//lib/libqt-mt.so.3 #20 0x4050e117 in createKMessageBox () from /opt/kde3//lib/libkdeui.so.4 #21 0x40510a67 in KMessageBox::error () from /opt/kde3//lib/libkdeui.so.4 #22 0x40297096 in KDirLister::validURL () from /opt/kde3//lib/libkio.so.4 #23 0x40294fab in KDirLister::openURL () from /opt/kde3//lib/libkio.so.4 #24 0x415339d5 in KonqBaseListViewWidget::openURL () from /opt/kde3//lib/kde3/konq_listview.so #25 0x41527129 in KonqListView::doOpenURL () from /opt/kde3//lib/kde3/konq_listview.so #26 0x412185d6 in KonqDirPart::openURL () from /opt/kde3//lib/libkonq.so.4 #27 0x400724c8 in KParts::BrowserExtension::restoreState () from /opt/kde3//lib/libkparts.so.2 #28 0x4153d353 in ListViewBrowserExtension::restoreState () from /opt/kde3//lib/kde3/konq_listview.so #29 0x412b1f8e in KonqView::go () from /opt/kde3//lib/konqueror.so #30 0x41292a28 in KonqMainWindow::slotGoHistoryDelayed () from /opt/kde3//lib/konqueror.so #31 0x412a7e8d in KonqMainWindow::qt_invoke () from /opt/kde3//lib/konqueror.so #32 0x40a26b24 in QObject::activate_signal () from /opt/qt3//lib/libqt-mt.so.3 #33 0x40ce281d in QSignal::signal () from /opt/qt3//lib/libqt-mt.so.3 #34 0x40a3bae7 in QSignal::activate () from /opt/qt3//lib/libqt-mt.so.3 #35 0x40a412bf in QSingleShotTimer::event () from /opt/qt3//lib/libqt-mt.so.3 #36 0x409cf3f1 in QApplication::internalNotify () from /opt/qt3//lib/libqt-mt.so.3 #37 0x409cf297 in QApplication::notify () from /opt/qt3//lib/libqt-mt.so.3 #38 0x4066c4c9 in KApplication::notify () from /opt/kde3//lib/libkdecore.so.4 #39 0x4097c320 in qt_activate_timers () from /opt/qt3//lib/libqt-mt.so.3 #40 0x40979eac in QApplication::processNextEvent () from /opt/qt3//lib/libqt-mt.so.3 #41 0x409d07e1 in QApplication::enter_loop () from /opt/qt3//lib/libqt-mt.so.3 #42 0x40979618 in QApplication::exec () from /opt/qt3//lib/libqt-mt.so.3 #43 0x41279d3e in main () from /opt/kde3//lib/konqueror.so #44 0x0804cce5 in launch () #45 0x0804da08 in handle_launcher_request () #46 0x0804dee2 in handle_requests () #47 0x0804f3db in main () #48 0x41032280 in __libc_start_main () from /lib/libc.so.6 (Submitted via bugs.kde.org)