Bug 67965 - konqueror with tab crashes when klipper is running
Summary: konqueror with tab crashes when klipper is running
Status: RESOLVED DUPLICATE of bug 61412
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-11-12 07:25 UTC by Jacob
Modified: 2003-11-13 14:25 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jacob 2003-11-12 07:25:02 UTC
Version:            (using KDE KDE 3.1.4)
Installed from:    Gentoo Packages
Compiler:          gcc (GCC) 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r2, propolice) 
OS:          Linux

I was using konqueror (konq), and alt-tabbed to konsole, then alt-tabbed
back and konq was gone.  No crash handler, konq is just gone.
Soon after this happened again; after some experimentation this seemed
to happen if
   1. klipper was running
   2. All konq windows were using tabs
   3. Focus changed from an application on another desktop to konq
   4. konq was in web browsing mode

The simplest reproduction is to start konq, open a new tab, switch
to some application on another desktop, switch back.

Because of the nature of the error (see below), I killed klipper.
If klipper is not running, I cannot reproduce a crash.

The output is similar to the following:

%zork:~/$ konqueror /www/start/index.html
libGL error: InitDriver failed
QClipboard: internal error, qt_xclb_wait_for_event recursed
zone still contained 134 blocks

Other notes:
    Sometimes it takes a couple tries to get the crash, but never very long

    libGL is disabled as it was freezing my machine awhile ago

    I wasn't seeing this in 3.1.2, I just updated this weekend

    As is implied, I do have the ability to alt-tab across desktops.
        But I can use the taskbar to change back to konq and it still
        crashes, so I doubt it matters.

    I still saw the problem in a version of konqueror I compiled without
        Gentoo's patches (one of which involves tabs)

I'll see if I can produce a backtrace shortly (I'm submitting this bug
report with konq, so...)
Comment 1 Jacob 2003-11-12 08:25:26 UTC
Not much luck with the backtracking; I'm open to suggestions in that area.

First some more notes:
    I forgot to mention, the "system tray" where the klipper icon lives
        is disabled on my panel; not sure if this matters.

    Clicking on the pager doesn't seem to trigger the bug, even though
        clicking on the appropriate task in the task bar does.


At any rate, I rebuilt without Gentoo patches and with -g.  Apparantly it's
an exit, so no quick way to get a backtrace; I imagine this is also why I'm
not getting the crash handler.

I stepped the best I could and backtraced some.  After setting up the window
with tabs, one of the steps triggered the bug.


zork:/root/build/kdebase-3.1.4/konqueror% gdb ./.libs/konqueror
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
(gdb) break main
Breakpoint 1 at 0x8048520
(gdb) run /www/start/index.html
Starting program: /root/build/kdebase-3.1.4/konqueror/.libs/konqueror /www/start/index.html
Breakpoint 1 at 0x400531a5
[New Thread 16384 (LWP 28271)]
[Switching to Thread 16384 (LWP 28271)]

Breakpoint 1, 0x400531a5 in main () from /usr/kde/3.1/lib/konqueror.so
(gdb) s
Single stepping until exit from function main,
which has no line number information.
libGL error: InitDriver failed

Program received signal SIGINT, Interrupt.
0x41344632 in select () from /lib/libc.so.6
(gdb) step
Single stepping until exit from function select,
which has no line number information.

Program received signal SIGINT, Interrupt.
0x41344632 in select () from /lib/libc.so.6
(gdb) bt
#0  0x41344632 in select () from /lib/libc.so.6
#1  0x40fde034 in __JCR_LIST__ () from /usr/qt/3/lib/libqt-mt.so.3
#2  0x40b54046 in QEventLoop::enterLoop() () from /usr/qt/3/lib/libqt-mt.so.3
#3  0x40b53ee8 in QEventLoop::exec() () from /usr/qt/3/lib/libqt-mt.so.3
#4  0x40b410d1 in QApplication::exec() () from /usr/qt/3/lib/libqt-mt.so.3
#5  0x400535b7 in main () from /usr/kde/3.1/lib/konqueror.so
#6  0x412897a7 in __libc_start_main () from /lib/libc.so.6
(gdb) step
Single stepping until exit from function select,
which has no line number information.
0x40aee1bf in QEventLoop::processEvents(unsigned) () from /usr/qt/3/lib/libqt-mt.so.3
(gdb) step
Single stepping until exit from function _ZN10QEventLoop13processEventsEj,
which has no line number information.
0x40b54046 in QEventLoop::enterLoop() () from /usr/qt/3/lib/libqt-mt.so.3
(gdb) step
Single stepping until exit from function _ZN10QEventLoop9enterLoopEv,
which has no line number information.

Program received signal SIGINT, Interrupt.
0x41344632 in select () from /lib/libc.so.6
(gdb) bt
#0  0x41344632 in select () from /lib/libc.so.6
#1  0x40fde034 in __JCR_LIST__ () from /usr/qt/3/lib/libqt-mt.so.3
#2  0x40b54046 in QEventLoop::enterLoop() () from /usr/qt/3/lib/libqt-mt.so.3
#3  0x40b53ee8 in QEventLoop::exec() () from /usr/qt/3/lib/libqt-mt.so.3
#4  0x40b410d1 in QApplication::exec() () from /usr/qt/3/lib/libqt-mt.so.3
#5  0x400535b7 in main () from /usr/kde/3.1/lib/konqueror.so
#6  0x412897a7 in __libc_start_main () from /lib/libc.so.6
(gdb) step
Single stepping until exit from function select,
which has no line number information.
0x40aee1bf in QEventLoop::processEvents(unsigned) () from /usr/qt/3/lib/libqt-mt.so.3
(gdb) step
Single stepping until exit from function _ZN10QEventLoop13processEventsEj,
which has no line number information.
0x40b54046 in QEventLoop::enterLoop() () from /usr/qt/3/lib/libqt-mt.so.3
(gdb) step
Single stepping until exit from function _ZN10QEventLoop9enterLoopEv,
which has no line number information.
QClipboard: internal error, qt_xclb_wait_for_event recursed
zone still contained 137 blocks

Program exited with code 01.
(gdb) bt
No stack.

Comment 2 Jacob 2003-11-12 08:50:30 UTC
One more note.  I did some more testing, and found that my initial description
(2. in the report) is inaccurate.  I think 2. and 3. can be combined as:

Change focus from an application in desktop A to a konqueror window with tabs
in desktop B, where A does not equal B.

So not all konq windows need to have tabs, just the one you're switching to.
This works even if you alt-tab from a konq window with no tabs to another
konq window with tabs, provided they are on different desktops.

I'm willing to experiment more if someone gives me some direction, but for
now I think I'll just avoid the bug (by not running klipper).
Comment 3 richard 2003-11-13 03:57:15 UTC
I'm running KDE 3.1.93 from Gentoo packages, and just had a similar crash (SIGABRT) when starting a new instance of konqueror:

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 27708)]
0x4124e768 in waitpid () from /lib/libpthread.so.0
#0  0x4124e768 in waitpid () from /lib/libpthread.so.0
#1  0x4086d150 in __JCR_LIST__ () from /usr/kde/3.2/lib/libkdecore.so.4
#2  0x407b2feb in KCrash::defaultCrashHandler(int) (sig=6) at kcrash.cpp:246
#3  0x4124d453 in __pthread_sighandler () from /lib/libpthread.so.0
#4  <signal handler called>
#5  0x413b8ff1 in kill () from /lib/libc.so.6
#6  0x4124aa60 in pthread_kill () from /lib/libpthread.so.0
#7  0x4124ad5b in raise () from /lib/libpthread.so.0
#8  0x413b8da2 in raise () from /lib/libc.so.6
#9  0x413ba35c in abort () from /lib/libc.so.6
#10 0x40f792ef in qFatal(char const*, ...) (
    msg=0x410525a0 "QClipboard: internal error, qt_xclb_wait_for_event recursed") at tools/qglobal.cpp:559
#11 0x40b59437 in qt_xclb_wait_for_event(_XDisplay*, unsigned long, int, _XEvent*, int) (dpy=0x8068d58, win=75497740, type=31, event=0xbfffd7e0, timeout=5000)
    at kernel/qclipboard_x11.cpp:454
#12 0x40b5c52b in QClipboardWatcher::getDataInFormat(unsigned long) const (
    this=0x830a0a0, fmtatom=360) at kernel/qclipboard_x11.cpp:1381
#13 0x40b5ba7c in QClipboardWatcher::format(int) const (this=0x830a0a0, n=0)
    at kernel/qclipboard_x11.cpp:1249
#14 0x40c2be6c in QMimeSource::provides(char const*) const (this=0x830a0a0, 
    mimeType=0x41c4b8f2 "text/plain") at kernel/qmime.cpp:134
#15 0x41c2c649 in KonqMainWindow::slotClipboardDataChanged() (this=0x81255d0)
    at konq_mainwindow.cc:2967
#16 0x41c2c4ea in KonqMainWindow::eventFilter(QObject*, QEvent*) (
    this=0x81255d0, obj=0x81fd260, ev=0xbfffde20) at konq_mainwindow.cc:2908
#17 0x40c3a9da in QObject::activate_filters(QEvent*) (this=0x81fd260, 
    e=0xbfffde20) at kernel/qobject.cpp:902
#18 0x40c3a857 in QObject::event(QEvent*) (this=0x81fd260, e=0xbfffde20)
    at kernel/qobject.cpp:735
#19 0x40c7f6d3 in QWidget::event(QEvent*) (this=0x81fd260, e=0xbfffde20)
    at kernel/qwidget.cpp:4408
#20 0x40d28518 in QLineEdit::event(QEvent*) (this=0x81fd260, e=0xbfffde20)
    at widgets/qlineedit.cpp:1406
#21 0x40bcd1f7 in QApplication::internalNotify(QObject*, QEvent*) (
    this=0xbffff040, receiver=0x81fd260, e=0xbfffde20)
    at kernel/qapplication.cpp:2582
#22 0x40bcce69 in QApplication::notify(QObject*, QEvent*) (this=0xbffff040, 
    receiver=0x81fd260, e=0xbfffde20) at kernel/qapplication.cpp:2470
#23 0x4072565e in KApplication::notify(QObject*, QEvent*) (this=0xbffff040, 
    receiver=0x81fd260, event=0xbffff040) at kapplication.cpp:509
#24 0x40047696 in QApplication::sendEvent(QObject*, QEvent*) (receiver=0x0, 
    event=0x6) at qapplication.h:490
#25 0x40c7cc20 in QWidget::setFocus() (this=0x81fd260)
    at kernel/qwidget.cpp:3099
#26 0x40bcec07 in QApplication::setActiveWindow(QWidget*) (this=0xbffff040, 
    act=0x81255d0) at kernel/qapplication.cpp:3463
#27 0x40b4c9aa in QApplication::x11ProcessEvent(_XEvent*) (this=0xbffff040, 
    event=0xbfffe1e0) at kernel/qapplication_x11.cpp:3669
#28 0x40b69801 in QEventLoop::processEvents(unsigned) (this=0x80d8f60, 
    flags=15) at kernel/qeventloop_x11.cpp:192
#29 0x40b59507 in qt_xclb_wait_for_event(_XDisplay*, unsigned long, int, _XEvent*, int) (dpy=0x8068d58, win=75497740, type=31, event=0xbfffe300, timeout=5000)
    at kernel/qclipboard_x11.cpp:479
#30 0x40b5c52b in QClipboardWatcher::getDataInFormat(unsigned long) const (
    this=0x830a0a0, fmtatom=360) at kernel/qclipboard_x11.cpp:1381
#31 0x40b5ba7c in QClipboardWatcher::format(int) const (this=0x830a0a0, n=0)
    at kernel/qclipboard_x11.cpp:1249
#32 0x40c2be6c in QMimeSource::provides(char const*) const (this=0x830a0a0, 
    mimeType=0x41c4b8f2 "text/plain") at kernel/qmime.cpp:134
#33 0x41c2c649 in KonqMainWindow::slotClipboardDataChanged() (this=0x81255d0)
    at konq_mainwindow.cc:2967
#34 0x41c2c4ea in KonqMainWindow::eventFilter(QObject*, QEvent*) (
    this=0x81255d0, obj=0x81fd260, ev=0xbfffe940) at konq_mainwindow.cc:2908
#35 0x40c3a9da in QObject::activate_filters(QEvent*) (this=0x81fd260, 
    e=0xbfffe940) at kernel/qobject.cpp:902
#36 0x40c3a857 in QObject::event(QEvent*) (this=0x81fd260, e=0xbfffe940)
    at kernel/qobject.cpp:735
#37 0x40c7f6d3 in QWidget::event(QEvent*) (this=0x81fd260, e=0xbfffe940)
    at kernel/qwidget.cpp:4408
#38 0x40d28518 in QLineEdit::event(QEvent*) (this=0x81fd260, e=0xbfffe940)
    at widgets/qlineedit.cpp:1406
#39 0x40bcd1f7 in QApplication::internalNotify(QObject*, QEvent*) (
    this=0xbffff040, receiver=0x81fd260, e=0xbfffe940)
    at kernel/qapplication.cpp:2582
#40 0x40bcce69 in QApplication::notify(QObject*, QEvent*) (this=0xbffff040, 
    receiver=0x81fd260, e=0xbfffe940) at kernel/qapplication.cpp:2470
#41 0x4072565e in KApplication::notify(QObject*, QEvent*) (this=0xbffff040, 
    receiver=0x81fd260, event=0xbffff040) at kapplication.cpp:509
#42 0x40047696 in QApplication::sendEvent(QObject*, QEvent*) (receiver=0x0, 
    event=0x6) at qapplication.h:490
#43 0x40c7cc20 in QWidget::setFocus() (this=0x81fd260)
    at kernel/qwidget.cpp:3099
#44 0x40bcec07 in QApplication::setActiveWindow(QWidget*) (this=0xbffff040, 
    act=0x81255d0) at kernel/qapplication.cpp:3463
#45 0x40b4c9aa in QApplication::x11ProcessEvent(_XEvent*) (this=0xbffff040, 
    event=0xbfffed00) at kernel/qapplication_x11.cpp:3669
#46 0x40b69801 in QEventLoop::processEvents(unsigned) (this=0x80d8f60, flags=4)
    at kernel/qeventloop_x11.cpp:192
#47 0x40be6651 in QEventLoop::enterLoop() (this=0x80d8f60)
    at kernel/qeventloop.cpp:198
#48 0x40be656a in QEventLoop::exec() (this=0x80d8f60)
    at kernel/qeventloop.cpp:145
#49 0x40bcd399 in QApplication::exec() (this=0xbffff040)
    at kernel/qapplication.cpp:2705
#50 0x41be0043 in kdemain (argc=0, argv=0x0) at konq_main.cc:162
#51 0x408b1916 in kdeinitmain (argc=0, argv=0x0) at konqueror_dummy.cc:2
#52 0x0804e1b2 in launch (argc=2, _name=0x806095c "konqueror", 
    args=0x805fb70 "\\\t\006\b", cwd=0x0, envc=1, envs=0x8060980 "", 
    reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x0)
    at kinit.cpp:597
#53 0x08050326 in handle_launcher_request (sock=7) at kinit.cpp:1094
#54 0x0804f1fb in handle_requests (waitForPid=0) at kinit.cpp:1265
#55 0x0804d537 in main (argc=3, argv=0xbffff704, envp=0x0) at kinit.cpp:1686

This happened while I was running another instance under valgrind, so system load may have something to do with it.
Comment 4 Stephan Kulow 2003-11-13 14:25:55 UTC

*** This bug has been marked as a duplicate of 61412 ***