[Bug gdb/10833] GDB crashes on debugging multithreaded program on ARM SMP dual core system

blue.dragan+sourceware at gmail dot com sourceware-bugzilla@sourceware.org
Sat Sep 10 17:29:00 GMT 2011


http://sourceware.org/bugzilla/show_bug.cgi?id=10833

--- Comment #9 from ChrisD <blue.dragan+sourceware at gmail dot com> 2011-09-10 17:25:57 UTC ---
Hi Pedro, please find the requested output below. This was on a trivial C++
program. This is the most typical outcome. I agree this does not necessarily
have to be a gdb bug, since the crash *appears* to be in glibc. This run was
with glibc-2.11.3, but I've tried 2.13 before and it had the same outcome. No
other app I've tried crashes with SIGILL, therefore I suspect gdb must be doing
something that causes this crash, maybe it's just revealing a glibc bug? Again,
the crash disappears if I limit gdb to only one CPU.

$ gdb --args ./a
GNU gdb (Gentoo 7.3.1 p1) 7.3.1
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "armv7a-unknown-linux-gnueabi".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /home/chris/test/a...done.
(gdb) set debug infrun 1
(gdb) set debug lin-lwp 1
(gdb) b main
Breakpoint 1 at 0xf25c: file a.cpp, line 6.
(gdb) r
Starting program: /home/chris/test/a 
linux_nat_wait: [process 827]
LLW: waitpid 827 received Trace/breakpoint trap (stopped)
LLW: Candidate event Trace/breakpoint trap (stopped) in process 827.
LLW: trap ptid is process 827.
LLR: Preparing to resume process 827, 0, inferior_ptid process 827
RC: Not resuming sibling process 827 (not stopped)
LLR: PTRACE_CONT process 827, 0 (resume event thread)
linux_nat_wait: [process 827]
LLW: waitpid 827 received Trace/breakpoint trap (stopped)
LLW: Candidate event Trace/breakpoint trap (stopped) in process 827.
LLW: trap ptid is process 827.
infrun: proceed (addr=0x4004b8b0, signal=0, step=0)
infrun: resume (step=0, signal=0), trap_expected=0
LLR: Preparing to resume process 827, 0, inferior_ptid process 827
RC: Not resuming sibling process 827 (not stopped)
LLR: PTRACE_CONT process 827, 0 (resume event thread)
infrun: wait_for_inferior (treat_exec_as_sigtrap=0)
linux_nat_wait: [process -1]
LLW: waitpid 827 received Trace/breakpoint trap (stopped)
LLW: Candidate event Trace/breakpoint trap (stopped) in process 827.
LLW: trap ptid is process 827.
infrun: target_wait (-1, status) =
infrun:   827 [process 827],
infrun:   status->kind = stopped, signal = SIGTRAP
infrun: infwait_normal_state
infrun: TARGET_WAITKIND_STOPPED
infrun: stop_pc = 0x40059d64
bpstat_what: bp_shlib_event
infrun: BPSTAT_WHAT_SINGLE
infrun: no stepping, continue
infrun: resume (step=1, signal=0), trap_expected=1
LLR: Preparing to resume process 827, 0, inferior_ptid process 827
LLR: PTRACE_CONT process 827, 0 (resume event thread)
infrun: prepare_to_wait
linux_nat_wait: [process -1]
LLW: waitpid 827 received Trace/breakpoint trap (stopped)
LLW: Candidate event Trace/breakpoint trap (stopped) in process 827.
LLW: trap ptid is process 827.
infrun: target_wait (-1, status) =
infrun:   827 [process 827],
infrun:   status->kind = stopped, signal = SIGTRAP
infrun: infwait_normal_state
infrun: TARGET_WAITKIND_STOPPED
infrun: stop_pc = 0x4004e11c
infrun: software single step trap for process 827
infrun: no stepping, continue
infrun: resume (step=0, signal=0), trap_expected=0
LLR: Preparing to resume process 827, 0, inferior_ptid process 827
RC: Not resuming sibling process 827 (not stopped)
LLR: PTRACE_CONT process 827, 0 (resume event thread)
infrun: prepare_to_wait
linux_nat_wait: [process -1]
LLW: waitpid 827 received Illegal instruction (stopped)
LLW: Candidate event Illegal instruction (stopped) in process 827.
infrun: target_wait (-1, status) =
infrun:   827 [process 827],
infrun:   status->kind = stopped, signal = SIGILL
infrun: infwait_normal_state
infrun: TARGET_WAITKIND_STOPPED
infrun: stop_pc = 0x4004e11c
infrun: random signal 4

Program received signal SIGILL, Illegal instruction.
infrun: stop_stepping
0x4004e11c in ?? () from /lib/ld-linux.so.3
(gdb) bt
#0  0x4004e11c in ?? () from /lib/ld-linux.so.3
#1  0x4004e11c in ?? () from /lib/ld-linux.so.3
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the Gdb-prs mailing list