Bug 48211 - tabbed browsing crashes when key shortcut is used in Konqueror
Summary: tabbed browsing crashes when key shortcut is used in Konqueror
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: HI grave
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
: 48920 49131 49150 49386 51097 (view as bug list)
Depends on:
Blocks:
 
Reported: 2002-09-23 21:36 UTC by Dave B.
Modified: 2004-07-07 13:35 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Backtrace (not much debug-info though...) (3.29 KB, text/plain)
2004-07-07 13:35 UTC, Branislav
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dave B. 2002-09-23 21:36:16 UTC
Version:           unknown (using KDE 3.0.8 (KDE 3.1 beta2))
Installed from:    compiled sources
Compiler:          gcc version 3.2
OS:          Linux (i686) release 2.4.19-gentoo-r9

Here is how I was able to verify this:

Open a link in a new tab [I use MMB for this].  Open in a new tab from that page.  Open in another new tab from that page.  Open in another new tab from that page.

Now, right click on the last tab and hit close tab.  Then use the shortcut key to close the rest of the tabs.  Once you get to the 2nd last tab or the last tab, konq will reliably for crash.  This is compiled from yesterdays cvs [09/22/02].  But it has been happening for me for quite a while. The combination I use to close tabs is ctrl-w.

Note: if I just close all the tabs with ctrl-w, it will not crash.  Same goes for right clicking and selecting close tab.  Once those two variations get in the mix, then Konqueror will crash presently.

Expected behavior: Close tab without crashing.

Here is the backtrace:

[New Thread 1024 (LWP 25591)]
0x410fa5e9 in wait4 () from /lib/libc.so.6
#0  0x410fa5e9 in wait4 () from /lib/libc.so.6
#1  0x41179770 in __DTOR_END__ () from /lib/libc.so.6
#2  0x40f0ccb3 in waitpid () from /lib/libpthread.so.0
#3  0x406bc990 in KCrash::defaultCrashHandler(int) ()
   from /usr/local/kde-unstable/lib/libkdecore.so.4
#4  0x40f0ac32 in pthread_sighandler () from /lib/libpthread.so.0
#5  <signal handler called>
#6  0x417bfb7d in KonqViewManager::removeTab(KonqFrameBase*) ()
   from /usr/local/kde-unstable/lib/konqueror.so
#7  0x41792e8f in KonqMainWindow::slotRemoveTabPopup() ()
   from /usr/local/kde-unstable/lib/konqueror.so
#8  0x417a50b2 in KonqMainWindow::qt_invoke(int, QUObject*) ()
   from /usr/local/kde-unstable/lib/konqueror.so
#9  0x409d9553 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#10 0x40caf122 in QSignal::signal(QVariant const&) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#11 0x409f3728 in QSignal::activate() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#12 0x40ac072f in QPopupMenu::accelActivated(int) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#13 0x40cc49d8 in QPopupMenu::qt_invoke(int, QUObject*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#14 0x409d9553 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#15 0x409d9615 in QObject::activate_signal(int, int) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#16 0x40ca6393 in QAccel::activatedAmbiguously(int) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#17 0x40977494 in QAccelPrivate::activateAmbiguously(QAccelItem*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#18 0x40975f82 in QAccelManager::dispatchAccelEvent(QWidget*, QKeyEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#19 0x409758fe in qt_dispatchAccelEvent(QWidget*, QKeyEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#20 0x409266e1 in QETWidget::translateKeyEvent(_XEvent const*, bool) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#21 0x40922323 in QApplication::x11ProcessEvent(_XEvent*) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#22 0x409361a2 in QEventLoop::processNextEvent(unsigned, bool) ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#23 0x4098f9fb in QEventLoop::enterLoop() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#24 0x4098f93c in QEventLoop::exec() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#25 0x4097c001 in QApplication::exec() ()
   from /usr/local/qt-copy/lib/libqt-mt.so.3
#26 0x4177d2d7 in main () from /usr/local/kde-unstable/lib/konqueror.so
#27 0x0804cbdd in launch(int, char const*, char const*, char const*, int, char const*, bool, char const*, bool, char const*) ()
#28 0x0804d9c3 in handle_launcher_request(int) ()
#29 0x0804deac in handle_requests(int) ()
#30 0x0804ec8e in main ()
#31 0x4107712b in __libc_start_main () from /lib/libc.so.6
Comment 1 Dave B. 2002-09-23 21:37:30 UTC
Bah, I should've marked this as crash.  Ah well. 
Comment 2 John Firebaugh 2002-09-30 00:21:13 UTC
0x410e1609 in wait4 () from /lib/libc.so.6 
#0  0x410e1609 in wait4 () from /lib/libc.so.6 
#1  0x41156dd0 in __check_rhosts_file () from /lib/libc.so.6 
#2  0x40f7eeeb in waitpid () from /lib/libpthread.so.0 
#3  0x406a3e33 in KCrash::defaultCrashHandler (sig=11) 
    at /home/john/src/kde/kdelibs/kdecore/kcrash.cpp:235 
#4  0x40f7ca44 in pthread_sighandler () from /lib/libpthread.so.0 
#5  0x4106a518 in sigaction () from /lib/libc.so.6 
#6  0x412ba385 in KonqMainWindow::slotRemoveTabPopup (this=0x8102f08) 
    at /home/john/src/kde/kdebase/konqueror/konq_mainwindow.cc:2068 
#7  0x412cb549 in KonqMainWindow::qt_invoke (this=0x8102f08, _id=136,  
    _o=0xbfffed74) at konq_mainwindow.moc:524 
#8  0x40a1de1e in QObject::activate_signal (this=0x83264e8, clist=0x80abb18,  
    o=0xbfffed74) at kernel/qobject.cpp:2133 
#9  0x40d11402 in QSignal::signal (this=0x83264e8, t0=@0x8326510) 
    at .moc/debug-shared-mt/moc_qsignal.cpp:101 
#10 0x40a39424 in QSignal::activate (this=0x83264e8) at kernel/qsignal.cpp:205 
#11 0x40b0f305 in QPopupMenu::accelActivated (this=0x89401e0, id=-701) 
    at widgets/qpopupmenu.cpp:663 
#12 0x40d3323b in QPopupMenu::qt_invoke (this=0x89401e0, _id=44, _o=0xbfffeea4) 
    at .moc/debug-shared-mt/moc_qpopupmenu.cpp:189 
#13 0x40a1de1e in QObject::activate_signal (this=0x83892d8, clist=0x85ca7f0,  
    o=0xbfffeea4) at kernel/qobject.cpp:2133 
#14 0x40a1e002 in QObject::activate_signal (this=0x83892d8, signal=3,  
    param=-701) at kernel/qobject.cpp:2184 
#15 0x40d06e81 in QAccel::activatedAmbiguously (this=0x83892d8, t0=-701) 
    at .moc/debug-shared-mt/moc_qaccel.cpp:97 
#16 0x409b02a2 in QAccelPrivate::activateAmbiguously (this=0x8389380,  
    item=0x8a690e8) at kernel/qaccel.cpp:700 
#17 0x409af8d8 in QAccelManager::dispatchAccelEvent (this=0x8109688,  
    w=0x8851728, e=0xbffff144) at kernel/qaccel.cpp:379 
#18 0x409aed4b in qt_dispatchAccelEvent (w=0x8851728, e=0xbffff144) 
    at kernel/qaccel.cpp:186 
#19 0x40956bce in QETWidget::translateKeyEvent (this=0x8851728,  
    event=0xbffff400, grab=false) at kernel/qapplication_x11.cpp:5024 
#20 0x409531c3 in QApplication::x11ProcessEvent (this=0xbffff658,  
    event=0xbffff400) at kernel/qapplication_x11.cpp:3307 
#21 0x4096b0c0 in QEventLoop::processNextEvent (this=0x80a7730, flags=0,  
    canWait=true) at kernel/qeventloop_x11.cpp:171 
#22 0x409cbde8 in QEventLoop::enterLoop (this=0x80a7730) 
    at kernel/qeventloop.cpp:186 
#23 0x409cbd29 in QEventLoop::exec (this=0x80a7730) 
    at kernel/qeventloop.cpp:136 
#24 0x409b4c01 in QApplication::exec (this=0xbffff658) 
    at kernel/qapplication.cpp:2360 
#25 0x412a91c4 in main (argc=2, argv=0x805bd00) 
    at /home/john/src/kde/kdebase/konqueror/konq_main.cc:130 
#26 0x0804daa7 in launch (argc=2, _name=0x8065204 "konqueror",  
    args=0x8065217 "\001", cwd=0x0, envc=1, envs=0x8065228 "",  
    reset_env=false, tty=0x0, avoid_loops=false,  
    startup_id_str=0x806522c "debian;1033338249;888610;28956") 
    at /home/john/src/kde/kdelibs/kinit/kinit.cpp:547 
#27 0x0804eb97 in handle_launcher_request (sock=17) 
    at /home/john/src/kde/kdelibs/kinit/kinit.cpp:1023 
#28 0x0804f351 in handle_requests (waitForPid=0) 
    at /home/john/src/kde/kdelibs/kinit/kinit.cpp:1189 
#29 0x08050560 in main (argc=1, argv=0xbffffc14, envp=0xbffffc1c) 
    at /home/john/src/kde/kdelibs/kinit/kinit.cpp:1534 
 
Comment 3 Dave B. 2002-10-03 12:28:45 UTC
I've found out that just right clicking on the tab and then not choosing an
action [ie click on the webpage, desktop, another app, etc] will also crash
konqueror. This is a major show stopper for 3.1 imho.  
Comment 4 Stephan Kulow 2002-10-03 12:31:08 UTC
Subject: Re:  tabbed browsing crashes when key shortcut is used in Konqueror

On Donnerstag, 3. Oktober 2002 12:28, Dave B. wrote:
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.
>
> http://bugs.kde.org/show_bug.cgi?id=48211
>
>
>
>
> ------- Additional Comments From googleplex@wi.rr.com  2002-10-03 12:28
> ------- I've found out that just right clicking on the tab and then not
> choosing an action [ie click on the webpage, desktop, another app, etc]
> will also crash konqueror. This is a major show stopper for 3.1 imho.
There are no minor show stoppers :)

I can't reproduce that

Greetings, Stephan

Comment 5 Andrzej 2002-10-09 09:33:27 UTC
  Same problem here like in first bug report. 
I'm using cvs kde from 10/02/02 (qt, arts, kdelibs, kdebase, kdeutils and 
kdeadmin)  
 
Greetings 
Comment 6 John Firebaugh 2002-10-09 17:53:48 UTC
*** Bug 48920 has been marked as a duplicate of this bug. ***
Comment 7 Stephan Kulow 2002-10-15 10:01:48 UTC
*** Bug 49131 has been marked as a duplicate of this bug. ***
Comment 8 Stephan Kulow 2002-10-15 10:08:13 UTC
*** Bug 49150 has been marked as a duplicate of this bug. ***
Comment 9 Stephan Kulow 2002-10-19 17:10:25 UTC
*** Bug 49386 has been marked as a duplicate of this bug. ***
Comment 10 Stephan Kulow 2002-10-22 17:58:51 UTC
right, another grave HI bug. 
Comment 11 Stephan Kulow 2002-10-23 15:15:03 UTC
anyone of you: can you reproduce this with qt-copy too? I can only 
reproduce it with qt 3.0.5 _and_ gcc 3.2, but not with my other system 
that uses qt 3.1 beta and gcc 2.95 (you all use gcc 3.2) 
Comment 12 Dave B. 2002-10-23 16:18:44 UTC
I was using qt-copy 3.1 beta and gcc 3.2. Also qt 3.0.5 and gcc 3.2 gave the
same result.

Hmm. I'll have to install slackware 8.1 to test that.  I'll leave a comment with
results.
Comment 13 Dave B. 2002-10-24 01:01:46 UTC
Well.. qt-copy, arts, kdelibs, & kdebase from todays cvs compiled fine for me.  Using   
konqueror right now and I'm not able to reproduce any kinds of crashes.   Just opened 14 new 
tabs with ctrl-shift-n, right click, close tab, then ctrl-w the rest. Middle clicked to open in new 
window 5 times, same. Hasn't crashed yet. 
 
I'm using gcc 2.95 for the compiler under slackware 8.1.  Its working just fine with this 
version. 
 
so, I'd say you are right, it is a gcc 3.2 issue.    
Comment 14 Stephan Kulow 2002-10-25 20:35:54 UTC
I just build the latest CVS with gcc 3.2 and can't reproduce the crash 
at all. I think, the bug was triggered by the kaccel changes, that have 
been fixed meanwhile. 
 
The Qt used was 3.0.6, so I don't think it's related to qt-copy. 
Comment 15 Dirk Mueller 2002-11-24 01:53:14 UTC
*** Bug 51097 has been marked as a duplicate of this bug. ***
Comment 16 Dave B. 2002-11-24 04:44:42 UTC
Whoops.

I thought I posted something extra on here.

Yeah, its no longer crashing with QT 3.1.0 + KDE 3.1 rc3... updating qt fixed it
all under gcc 3.2.  

Its been great the last month, so I think this can be marked resolved.
Comment 17 Branislav 2004-07-07 13:35:26 UTC
Created attachment 6585 [details]
Backtrace (not much debug-info though...)

It's marked as solved but it looks like it only hid a while from us so to
strike back at any time. Well, seems like it's time has come ;)

Steps to reproduce:
--------------------
1. Open a new Konqui window and visit a website with at least a few links on it
(e.g. http://www.heise.de/)
2. Open the first 4 - 6 links in new tabs (default for me is "background tabs"
and "insert after current tab", but this shouldn't matter at all)
3. Close the most right tab using the context menu (right click and choose
"close tab")
4. Now start closing the other tabs with keyboard shortcut STRG+SHIFT+W
(CTRL+SHIFT+W). After the second or third one it will crash painfully, taking
every other instance of it into the deeps of /dev/null... Well, at least
seperately opened konquis don't crash, but that's normal I guess...

Expected result:
-----------------
Should close open tabs till no one is left

Explanation:
-------------
Well, the funny thing about it is, that the default shortcut for closing a tab
seems to be "CNTR+W", but because the other shortcuts to open, duplicate,
detach etc. a tab are a combination of "CNTR+SHIFT+foo", I intuitively used
"CNTR+SHIFT+W" instead of the defined one. That means I closed the tabs with
CNTR+SHIFT+W, but the shortcut defined was CNTR+W.

Variations:
------------
There are various modifications of this procedure where it won't crash at all.

- (step 3) If you don't close the tab using the context menu but clicking on
the "close current tab" button right on the tab bar or using the menu (Window
-> Close current tab), it won't crash
- If you define "CNTR+SHIFT+W" to be either the alternative or even the primary
shortcut, it won't crash too.

And before I figured out a way to reproduce the crash, I didn't use the mouse
at all to close any tabs. I just surfed around and every now and then konqi
crashed while trying to close it with "CNTR+SHIFT+W", no matter if there where
still 15 tabs open in the window or which tab I was closing (left / right /
middle one). And it happened quite a few times a day.


System specs:
--------------
Linux 2.6.7-gentoo-r6 i686 AMD Duron(tm) processor AuthenticAMD
gcc (GCC) 3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2, pie-8.7.6)
GNU C Library stable release version 2.3.3, by Roland McGrath et al.
Available extensions:
	GNU libio by Per Bothner
	crypt add-on version 2.1 by Michael Glad and others
	NPTL 0.61 by Ulrich Drepper
	BIND-8.2.3-T5B
	NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Thread-local storage support included.
Qt: 3.3.2
KDE: 3.2.3
Konqueror: 3.2.3