Bug 138056 - Crash in debugger after "The gdb reply is: bla-bla-bla"
Summary: Crash in debugger after "The gdb reply is: bla-bla-bla"
Status: RESOLVED NOT A BUG
Alias: None
Product: kdevelop
Classification: Applications
Component: CPP Debugger (show other bugs)
Version: 3.3.93
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
: 133585 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-11-29 02:46 UTC by Gene
Modified: 2008-07-06 15:23 UTC (History)
2 users (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 Gene 2006-11-29 02:46:48 UTC
Version:            (using KDE KDE 3.5.4)
Installed from:    SuSE RPMs
OS:                Linux

KDevelop 3.3.93 (built from sources) often shows a dialog box saying "The gdb reply is: bla-bla-bla". After I close the dialog box Kdevelop crashes (see dump below). I often get this dialog box after adding a catchpoint in gdb window (i.e. catch throw). 

I have gdb 6.4 under OpenSuSE 10.1 installed on a multiprocessor x86_64 linux box. 


System configuration startup check disabled.

Using host libthread_db library "/lib64/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 47949752062208 (LWP 24747)]
[New Thread 1082132800 (LWP 24772)]
[KCrash handler]
#5  0x00002b9c2bbfaaa5 in raise () from /lib64/libc.so.6
#6  0x00002b9c2bbfbe60 in abort () from /lib64/libc.so.6
#7  0x00002b9c2b826d24 in __gnu_cxx::__verbose_terminate_handler ()
   from /usr/lib64/libstdc++.so.6
#8  0x00002b9c2b824e56 in std::set_unexpected ()
   from /usr/lib64/libstdc++.so.6
#9  0x00002b9c2b824e83 in std::terminate () from /usr/lib64/libstdc++.so.6
#10 0x00002b9c2b824f6a in __cxa_throw () from /usr/lib64/libstdc++.so.6
#11 0x00002b9c31617dd8 in GDBMI::TupleValue::operator[] (this=0x30a7f00, 
    variable=@0x7fff84da2820) at gdbmi.cpp:97
#12 0x00002b9c31379d86 in GDBDebugger::GDBController::announceWatchpointHit (
    this=0x1902d20) at gdbcontroller.cpp:729
#13 0x00002b9c3137f897 in GDBDebugger::GDBController::reloadProgramState (
    this=0x1902d20) at gdbcontroller.cpp:583
#14 0x00002b9c3137fb06 in GDBDebugger::GDBController::commandDone (
    this=0x1902d20) at gdbcontroller.cpp:1622
#15 0x00002b9c3138207a in GDBDebugger::GDBController::slotDbgStdout (
    this=0x1902d20, 
    buf=0x7fff84da2e80 "*stopped,thread-id=\"1\",frame={addr=\"0x00002b7320a44f10\",func=\"__cxa_throw\",args=[],from=\"/usr/lib64/libstdc++.so.6\"}\n(gdb) \n", buflen=124) at gdbcontroller.cpp:1608
#16 0x00002b9c3137bec2 in GDBDebugger::GDBController::qt_invoke (
    this=0x1902d20, _id=44, _o=0x7fff84da2de0) at gdbcontroller.moc:254
#17 0x00002b9c29a91a8c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#18 0x00002b9c28dedf83 in KProcess::receivedStdout ()
   from /opt/kde3/lib64/libkdecore.so.4
#19 0x00002b9c28dee04e in KProcess::childOutput ()
   from /opt/kde3/lib64/libkdecore.so.4
#20 0x00002b9c28dee059 in KProcess::slotChildOutput ()
   from /opt/kde3/lib64/libkdecore.so.4
#21 0x00002b9c28dee0ae in KProcess::qt_invoke ()
   from /opt/kde3/lib64/libkdecore.so.4
#22 0x00002b9c29a91a8c in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#23 0x00002b9c29a926cf in QObject::activate_signal ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#24 0x00002b9c29aac33b in QSocketNotifier::event ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#25 0x00002b9c29a3aa95 in QApplication::internalNotify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#26 0x00002b9c29a3b6c7 in QApplication::notify ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#27 0x00002b9c28eb21d8 in KApplication::notify ()
   from /opt/kde3/lib64/libkdecore.so.4
#28 0x00002b9c29a30a8c in QEventLoop::activateSocketNotifiers ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#29 0x00002b9c299f1440 in QEventLoop::processEvents ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#30 0x00002b9c29a4f7a1 in QEventLoop::enterLoop ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#31 0x00002b9c29a4f64a in QEventLoop::exec ()
   from /usr/lib/qt3/lib64/libqt-mt.so.3
#32 0x00000000004088dc in main (argc=3, argv=0x7fff84da3d68) at main.cpp:149
Comment 1 Gene 2007-01-03 23:42:47 UTC
In Kdevelop 3.3.94, the IDE doesn't crash anymore, but "catch throw" is still not handled correctly. 

After debugger stops after the exception is thrown an error dialog appears.
Comment 2 Jens Dagerbo 2007-01-03 23:51:26 UTC
Lowering severity to normal then..

Could you add some info describing reproduction steps in a bit more detail? Personally, I have no idea what a gdb catchpoint is, but I could still try to reproduce the problem, if I knew how..
Comment 3 Gene 2007-01-04 01:05:58 UTC
Steps for reproducing the bug:

1. Compile a C++ program with debug information. The program should have a least one "throw exception" statement.

2. Set a breakpoint at the beginning of the program.

3. After you hit the breakpoint go to the GDB tab. In "GDB cmd:" edit box enter "catch throw" (without quotes). 

4. Continue the program execution. When throw command is executed the debugger will stop and show an error window.

catch throw command is a breakpoint when throw is called: 
http://www.delorie.com/gnu/docs/gdb/gdb_31.html
Comment 4 Jens Dagerbo 2007-01-04 01:17:22 UTC
*** Bug 133585 has been marked as a duplicate of this bug. ***
Comment 5 Vladimir Prus 2007-01-05 09:11:37 UTC
Unfortunately, GDB/MI does not property support catchpoints. Unless I'll find some workaround, this might have to wait till gdb 6.7.
Comment 6 Andreas Pakulat 2007-02-06 00:14:21 UTC
Stefan, please read the report again, obviously there's no crash in stable KDevelop, just an error window popping up. So unless you can provide instructions how to crash kdevelop related to this bugreport, leave the severity as it is.
Comment 7 Andreas Pakulat 2008-07-06 15:23:04 UTC
apparently this is rather an upstream bug, so closing.