This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Crash in gdbserver on ppc405 - what vintage of libthread_db isrecommended?


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)





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]