This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
ptrace PEEKTEXT IO error?!
- From: David Lecomber <david at allinea dot com>
- To: gdb <gdb at sources dot redhat dot com>
- Date: Wed, 05 Oct 2005 18:04:00 +0100
- Subject: ptrace PEEKTEXT IO error?!
Dear all,
I have a multithreaded code which is misbehaving in GDB (verified on
latest CVS). After threads are created, the target suddenly seems to
become unwriteable, and even unreadable in some bits.
(gdb) n
Single stepping until exit from function sleep,
which has no line number information.
main (argc=1, argv=0x7ffffffff3d8, environ=0x7ffffffff3e8) at hello.c:89
89 MPI_Init(&argc, &argv);
(gdb) n
[New Thread 32769 (LWP 18096)]
[New Thread 16386 (LWP 18097)]
[New Thread 32771 (LWP 18098)]
90 MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
(gdb) info threads
4 Thread 32771 (LWP 18098) 0x00002aaaab5f8bc9 in ioctl ()
from /lib64/libc.so.6
3 Thread 16386 (LWP 18097) 0x00002aaaab5f8bc9 in ioctl ()
from /lib64/libc.so.6
2 Thread 32769 (LWP 18096) 0x00002aaaab5f7829 in poll ()
from /lib64/libc.so.6
* 1 Thread 16384 (LWP 17994) main (argc=1, argv=0x7ffffffff3d8,
environ=0x7ffffffff3e8) at hello.c:90
(gdb) info address hello.c:90
No symbol "hello.c:90" in current context.
(gdb) info line
Line 90 of "hello.c" starts at address 0x402042 <main+316> and ends at
0x402056 <main+336>.
(gdb) n
Warning:
Cannot insert breakpoint 0.
Error accessing memory address 0x402056: Input/output error.
If I then strace the running GDB, I see the following errors (and a few
more ptrace errors)..
ptrace(PTRACE_PEEKTEXT, 17994, 0x407480, [0]) = -1 EIO (Input/output
error)
ptrace(PTRACE_POKEDATA, 17994, 0x407480, 0xffffffffffffccff) = -1 EIO
(Input/output error)
Anyone know what could be going on here? It's a 2.6.11 kernel, x86_64
based on Debian.
Cheers
David