* Crash in gdbserver on ppc405 - what vintage of libthread_db is recommended?
@ 2002-07-13 15:17 Dan Kegel
2002-07-13 15:24 ` Daniel Jacobowitz
0 siblings, 1 reply; 3+ messages in thread
From: Dan Kegel @ 2002-07-13 15:17 UTC (permalink / raw)
To: gdb
I tried gdbserver on the ppc405 on a large multithreaded C++ program
compiled with g++3.0.2 or so. All I did was 'break main'
and 'cont', and gdbserver crashed. So I updated to last week's
snapshot (ftp://sources.redhat.com/pub/gdb/snapshots/current/gdb+dejagnu-weekly-CVS-20020709.tar.bz2),
built gdbserver for debugging, and reproduced the problem while debugging
gdbserver. Here's what popped up. Looks like the call to
td_ta_thr_iter is bombing. I'm using the libthread_db from Hard Hat 2.0,
dated about a year ago; perhaps I need to use a newer version?
Or is gdbserver itself misbehaving?
Program received signal SIGSEGV, Segmentation fault.
0x10008844 in linux_read_memory (memaddr=1275058749, myaddr=0x7fefeda8 "",
len=2094805880) at ../../../src/gdb/gdbserver/linux-low.c:1153
1153 = (PTRACE_XFER_TYPE *) alloca (count * sizeof (PTRACE_XFER_TYPE));
(gdb) bt
#0 0x10008844 in linux_read_memory (memaddr=1275058749, myaddr=0x7fefeda8 "",
len=2094805880) at ../../../src/gdb/gdbserver/linux-low.c:1153
#1 0x10005494 in read_inferior_memory (memaddr=1275058749, myaddr=0x7fefeda8 "",
len=2094805880) at ../../../src/gdb/gdbserver/target.c:63
#2 0x10009740 in ps_pdread (ph=0x1001c850, addr=1275058749, buf=0x7fefeda8,
size=2094805880) at ../../../src/gdb/gdbserver/proc-service.c:112
#3 0x0ffdd000 in td_thr_setgregs () from /lib/libthread_db.so.1
#4 0x0ffdd1c4 in td_thr_tsd () from /lib/libthread_db.so.1
#5 0x1000958c in thread_db_find_new_threads ()
at ../../../src/gdb/gdbserver/thread-db.c:308
#6 0x10009650 in thread_db_init () at ../../../src/gdb/gdbserver/thread-db.c:334
#7 0x10008bb8 in linux_look_up_symbols () at ../../../src/gdb/gdbserver/linux-low.c:1226
#8 0x10003ef4 in handle_query (own_buf=0x1001eee8 "qSymbol::")
at ../../../src/gdb/gdbserver/server.c:71
#9 0x100042e8 in main (argc=3, argv=0x7ffffe84)
at ../../../src/gdb/gdbserver/server.c:192
#10 0x0feb0dbc in ngettext () from /lib/libc.so.6
(gdb)
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: Crash in gdbserver on ppc405 - what vintage of libthread_db is recommended?
2002-07-13 15:17 Crash in gdbserver on ppc405 - what vintage of libthread_db is recommended? Dan Kegel
@ 2002-07-13 15:24 ` Daniel Jacobowitz
2002-07-15 17:33 ` Dan Kegel
0 siblings, 1 reply; 3+ messages in thread
From: Daniel Jacobowitz @ 2002-07-13 15:24 UTC (permalink / raw)
To: Dan Kegel; +Cc: gdb
I'll reiterate - I have about 99% confidence that your crash comes from
mismatched host and target libraries. This is far and away the most
frequent cause of problems, since libthread_db is not at all capable of
handling errors in mismatched symbol lookup.
I'm still trying to figure out ways to detect this. I'm almost leaning
towards using libelf or a simple clone to take checksums of on-disk
.text sections...
On Sat, Jul 13, 2002 at 04:00:43PM -0700, Dan Kegel wrote:
> I tried gdbserver on the ppc405 on a large multithreaded C++ program
> compiled with g++3.0.2 or so. All I did was 'break main'
> and 'cont', and gdbserver crashed. So I updated to last week's
> snapshot (ftp://sources.redhat.com/pub/gdb/snapshots/current/gdb+dejagnu-weekly-CVS-20020709.tar.bz2),
> built gdbserver for debugging, and reproduced the problem while debugging
> gdbserver. Here's what popped up. Looks like the call to
> td_ta_thr_iter is bombing. I'm using the libthread_db from Hard Hat 2.0,
> dated about a year ago; perhaps I need to use a newer version?
> Or is gdbserver itself misbehaving?
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x10008844 in linux_read_memory (memaddr=1275058749, myaddr=0x7fefeda8 "",
> len=2094805880) at ../../../src/gdb/gdbserver/linux-low.c:1153
> 1153 = (PTRACE_XFER_TYPE *) alloca (count * sizeof (PTRACE_XFER_TYPE));
> (gdb) bt
> #0 0x10008844 in linux_read_memory (memaddr=1275058749, myaddr=0x7fefeda8 "",
> len=2094805880) at ../../../src/gdb/gdbserver/linux-low.c:1153
> #1 0x10005494 in read_inferior_memory (memaddr=1275058749, myaddr=0x7fefeda8 "",
> len=2094805880) at ../../../src/gdb/gdbserver/target.c:63
> #2 0x10009740 in ps_pdread (ph=0x1001c850, addr=1275058749, buf=0x7fefeda8,
> size=2094805880) at ../../../src/gdb/gdbserver/proc-service.c:112
> #3 0x0ffdd000 in td_thr_setgregs () from /lib/libthread_db.so.1
> #4 0x0ffdd1c4 in td_thr_tsd () from /lib/libthread_db.so.1
> #5 0x1000958c in thread_db_find_new_threads ()
> at ../../../src/gdb/gdbserver/thread-db.c:308
> #6 0x10009650 in thread_db_init () at ../../../src/gdb/gdbserver/thread-db.c:334
> #7 0x10008bb8 in linux_look_up_symbols () at ../../../src/gdb/gdbserver/linux-low.c:1226
> #8 0x10003ef4 in handle_query (own_buf=0x1001eee8 "qSymbol::")
> at ../../../src/gdb/gdbserver/server.c:71
> #9 0x100042e8 in main (argc=3, argv=0x7ffffe84)
> at ../../../src/gdb/gdbserver/server.c:192
> #10 0x0feb0dbc in ngettext () from /lib/libc.so.6
> (gdb)
>
--
Daniel Jacobowitz Debian GNU/Linux Developer
MontaVista Software Carnegie Mellon University
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Crash in gdbserver on ppc405 - what vintage of libthread_db is recommended?
2002-07-13 15:24 ` Daniel Jacobowitz
@ 2002-07-15 17:33 ` Dan Kegel
0 siblings, 0 replies; 3+ messages in thread
From: Dan Kegel @ 2002-07-15 17:33 UTC (permalink / raw)
To: Daniel Jacobowitz; +Cc: gdb
Right again. Once I switched to
set solib-absolute-prefix /opt/hardhat/devkit/ppc/405/target
as you suggested, everything was fine.
Good luck figuring out how to detect this kind of misconfiguration,
it would be helpful.
- Dan
Daniel Jacobowitz wrote:
> I'll reiterate - I have about 99% confidence that your crash comes from
> mismatched host and target libraries. This is far and away the most
> frequent cause of problems, since libthread_db is not at all capable of
> handling errors in mismatched symbol lookup.
>
> I'm still trying to figure out ways to detect this. I'm almost leaning
> towards using libelf or a simple clone to take checksums of on-disk
> .text sections...
>
> On Sat, Jul 13, 2002 at 04:00:43PM -0700, Dan Kegel wrote:
>
>>I tried gdbserver on the ppc405 on a large multithreaded C++ program
>>compiled with g++3.0.2 or so. All I did was 'break main'
>>and 'cont', and gdbserver crashed. So I updated to last week's
>>snapshot (ftp://sources.redhat.com/pub/gdb/snapshots/current/gdb+dejagnu-weekly-CVS-20020709.tar.bz2),
>>built gdbserver for debugging, and reproduced the problem while debugging
>>gdbserver. Here's what popped up. Looks like the call to
>>td_ta_thr_iter is bombing. I'm using the libthread_db from Hard Hat 2.0,
>>dated about a year ago; perhaps I need to use a newer version?
>>Or is gdbserver itself misbehaving?
>>
>>Program received signal SIGSEGV, Segmentation fault.
>>0x10008844 in linux_read_memory (memaddr=1275058749, myaddr=0x7fefeda8 "",
>> len=2094805880) at ../../../src/gdb/gdbserver/linux-low.c:1153
>>1153 = (PTRACE_XFER_TYPE *) alloca (count * sizeof (PTRACE_XFER_TYPE));
>>(gdb) bt
>>#0 0x10008844 in linux_read_memory (memaddr=1275058749, myaddr=0x7fefeda8 "",
>> len=2094805880) at ../../../src/gdb/gdbserver/linux-low.c:1153
>>#1 0x10005494 in read_inferior_memory (memaddr=1275058749, myaddr=0x7fefeda8 "",
>> len=2094805880) at ../../../src/gdb/gdbserver/target.c:63
>>#2 0x10009740 in ps_pdread (ph=0x1001c850, addr=1275058749, buf=0x7fefeda8,
>> size=2094805880) at ../../../src/gdb/gdbserver/proc-service.c:112
>>#3 0x0ffdd000 in td_thr_setgregs () from /lib/libthread_db.so.1
>>#4 0x0ffdd1c4 in td_thr_tsd () from /lib/libthread_db.so.1
>>#5 0x1000958c in thread_db_find_new_threads ()
>> at ../../../src/gdb/gdbserver/thread-db.c:308
>>#6 0x10009650 in thread_db_init () at ../../../src/gdb/gdbserver/thread-db.c:334
>>#7 0x10008bb8 in linux_look_up_symbols () at ../../../src/gdb/gdbserver/linux-low.c:1226
>>#8 0x10003ef4 in handle_query (own_buf=0x1001eee8 "qSymbol::")
>> at ../../../src/gdb/gdbserver/server.c:71
>>#9 0x100042e8 in main (argc=3, argv=0x7ffffe84)
>> at ../../../src/gdb/gdbserver/server.c:192
>>#10 0x0feb0dbc in ngettext () from /lib/libc.so.6
>>(gdb)
>>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2002-07-16 0:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-07-13 15:17 Crash in gdbserver on ppc405 - what vintage of libthread_db is recommended? Dan Kegel
2002-07-13 15:24 ` Daniel Jacobowitz
2002-07-15 17:33 ` Dan Kegel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox