Hi, While running gdb-6.4 on Fedora Core 3 for multithread application we encountered following problem: ----------------------------------------------------------------------- GNU gdb 6.4 Copyright 2005 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"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) r Starting program: /home/girish/gdbl/build-6.4/multithread [Thread debugging using libthread_db enabled] [New Thread -151132480 (LWP 10793)] Thread 0 [New Thread -151135312 (LWP 10796)] Thread 1 Starting thread 1 [New Thread -161625168 (LWP 10797)] Starting thread 0 Finishing thread [Thread -151135312 (LWP 10796) exited] Finishing thread [Thread -161625168 (LWP 10797) exited] Program exited normally. Couldn't get registers: No such process. (gdb) q The program is running. Exit anyway? (y or n) y ------------------------------------------------------------ This problem was also seen on powerpc board. This problem occurs since gdb tries to remove thread_event breakpoint after the thread has exited and tries to read the address space since the breakpoint is still marked as updated. In the attached patch we mark the thread_event breakpoint as "not inserted" before calling thread_mourn_inferior. Is this the right way? If yes do we also need to do the same thing when target has been terminated by a signal? -Girish