aboutsummaryrefslogtreecommitdiff
path: root/gdb/ChangeLog
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2014-08-21 20:36:20 +0200
committerJan Kratochvil <jan.kratochvil@redhat.com>2014-08-21 20:36:20 +0200
commit22fd09ae995556cc1b898afe3d5901eb161d1102 (patch)
tree5ff6539a93ea414391cf51270809fc75ee807b04 /gdb/ChangeLog
parent656e8868f333de49bf22e10112392ca404e5eb67 (diff)
downloadgdb-22fd09ae995556cc1b898afe3d5901eb161d1102.zip
gdb-22fd09ae995556cc1b898afe3d5901eb161d1102.tar.gz
gdb-22fd09ae995556cc1b898afe3d5901eb161d1102.tar.bz2
Fix 'gcore' with exited threads
Program received signal SIGABRT, Aborted. [...] (gdb) gcore foobar Couldn't get registers: No such process. (gdb) info threads [...] (gdb) gcore foobar Saved corefile foobar (gdb) gcore tries to access the exited thread: [Thread 0x7ffff7fce700 (LWP 6895) exited] ptrace(PTRACE_GETREGS, 6895, 0, 0x7fff18167dd0) = -1 ESRCH (No such process) Without the TRY_CATCH protection testsuite FAILs for: gcore .../gdb/testsuite/gdb.threads/gcore-thread0.test Cannot find new threads: debugger service failed (gdb) FAIL: gdb.threads/gcore-thread.exp: save a zeroed-threads corefile + core .../gdb/testsuite/gdb.threads/gcore-thread0.test ".../gdb/testsuite/gdb.threads/gcore-thread0.test" is not a core dump: File format not recognized (gdb) FAIL: gdb.threads/gcore-thread.exp: core0file: re-load generated corefile (bad file format) Maybe the TRY_CATCH could be more inside update_thread_list(). Similar update_thread_list() call is IMO missing in procfs_make_note_section() but I do not have where to verify that change. gdb/ChangeLog 2014-08-21 Jan Kratochvil <jan.kratochvil@redhat.com> * linux-tdep.c (linux_corefile_thread_callback): Ignore THREAD_EXITED. (linux_make_corefile_notes): call update_thread_list, protected against exceptions. gdb/testsuite/ChangeLog 2014-08-21 Jan Kratochvil <jan.kratochvil@redhat.com> * gdb.threads/gcore-stale-thread.c: New file. * gdb.threads/gcore-stale-thread.exp: New file.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r--gdb/ChangeLog6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index bf7f618..e8f652f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2014-08-21 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * linux-tdep.c (linux_corefile_thread_callback): Ignore THREAD_EXITED.
+ (linux_make_corefile_notes): call update_thread_list, protected against
+ exceptions.
+
2014-08-21 Pedro Alves <palves@redhat.com>
* infcmd.c (attach_command): Remove comment.