I'm using Red Hat x86 Linux 6.2. I'm using a sourceware gdb that I checked out and built from scratch yesterday. I'm debugging a gcj-compiled Java program that uses several shared libraries. I'm using today's gcj. If I set a breakpoint in one of the shared libraries, then gdb will sometimes crash when re-running my program. Stack trace plus some additional info appended. Tom Program received signal SIGSEGV, Segmentation fault. strcmp (p1=0x0, p2=0x8ea14ac "/x1/egcs/install/lib/libjserv.so.0") at ../sysdeps/generic/strcmp.c:38 38 ../sysdeps/generic/strcmp.c: No such file or directory. (gdb) bt #0 strcmp (p1=0x0, p2=0x8ea14ac "/x1/egcs/install/lib/libjserv.so.0") at ../sysdeps/generic/strcmp.c:38 #1 0x80b2a87 in symbol_add_stub (arg=0x8ea1078) at ../../src/gdb/solib.c:1162 #2 0x80d91a3 in catch_errors (func=0x80b2a48 , args=0x8ea1078, errstring=0x8265100 "Error while reading shared library symbols:\n", mask=6) at ../../src/gdb/top.c:611 #3 0x80b2de6 in solib_add (pattern=0x0, from_tty=0, target=0x0) at ../../src/gdb/solib.c:1431 #4 0x80a06e3 in handle_inferior_event (ecs=0xbffff1a8) at ../../src/gdb/infrun.c:2448 #5 0x809f9ca in wait_for_inferior () at ../../src/gdb/infrun.c:1291 #6 0x809f86c in proceed (addr=4294967295, siggnal=TARGET_SIGNAL_0, step=0) at ../../src/gdb/infrun.c:1085 #7 0x80f2982 in child_create_inferior ( exec_file=0x8334c20 "/x2/tromey/netsrc/java/ApacheJServ-1.1.2/src/java/.libs/jserv-real-gij", allargs=0x8c8bbb8 "org.apache.jserv.JServ Dbg.properties", env=0x83289b0) at ../../src/gdb/inftarg.c:495 #8 0x80b58e6 in linuxthreads_create_inferior ( exec_file=0x8334c20 "/x2/tromey/netsrc/java/ApacheJServ-1.1.2/src/java/.libs/jserv-real-gij", allargs=0x8c8bbb8 "org.apache.jserv.JServ Dbg.properties", env=0x83289b0) at ../../src/gdb/linux-thread.c:1606 #9 0x80c37a1 in find_default_create_inferior ( exec_file=0x8334c20 "/x2/tromey/netsrc/java/ApacheJServ-1.1.2/src/java/.libs/jserv-real-gij", allargs=0x8c8bbb8 "org.apache.jserv.JServ Dbg.properties", env=0x83289b0) at ../../src/gdb/target.c:1188 #10 0x809d513 in run_command (args=0x0, from_tty=1) at ../../src/gdb/infcmd.c:343 #11 0x80d9e03 in execute_command (p=0x8320c99 "", from_tty=1) at ../../src/gdb/top.c:1547 #12 0x80a8fd8 in command_handler (command=0x8320c98 "") at ../../src/gdb/event-top.c:515 #13 0x80a95f2 in command_line_handler (rl=0x9256670 "\210\024o\b\200\a") at ../../src/gdb/event-top.c:817 #14 0x8166c04 in rl_callback_read_char () at ../../src/readline/callback.c:114 #15 0x80a89e8 in rl_callback_read_char_wrapper (client_data=0x0) at ../../src/gdb/event-top.c:166 #16 0x80a8ecd in stdin_event_handler (error=0, client_data=0x0) at ../../src/gdb/event-top.c:422 #17 0x80f02b3 in handle_file_event (event_file_desc=0) at ../../src/gdb/event-loop.c:748 #18 0x80efdd9 in process_event () at ../../src/gdb/event-loop.c:383 #19 0x80efe15 in gdb_do_one_event (data=0x0) at ../../src/gdb/event-loop.c:420 #20 0x80d91a3 in catch_errors (func=0x80efdec , args=0x0, errstring=0x827a700 "", mask=6) at ../../src/gdb/top.c:611 #21 0x80efe33 in start_event_loop () at ../../src/gdb/event-loop.c:444 #22 0x80a8ab5 in cli_command_loop () at ../../src/gdb/event-top.c:196 #23 0x8081205 in captured_command_loop (data=0x0) at ../../src/gdb/main.c:104 #24 0x80d91a3 in catch_errors (func=0x80811f0 , args=0x0, errstring=0x824ccc2 "", mask=6) at ../../src/gdb/top.c:611 #25 0x8081c67 in captured_main (data=0xbffff770) at ../../src/gdb/main.c:749 #26 0x80d91a3 in catch_errors (func=0x8081234 , args=0xbffff770, errstring=0x824ccc2 "", mask=6) at ../../src/gdb/top.c:611 #27 0x8081c93 in main (argc=3, argv=0xbffff7c4) at ../../src/gdb/main.c:761 #28 0x4013c9cb in __libc_start_main (main=0x8081c6c
, argc=3, argv=0xbffff7c4, init=0x807fa84 <_init>, fini=0x824cb7c <_fini>, rtld_fini=0x4000ae60 <_dl_fini>, stack_end=0xbffff7bc) at ../sysdeps/generic/libc-start.c:92 (gdb) up #1 0x80b2a87 in symbol_add_stub (arg=0x8ea1078) at ../../src/gdb/solib.c:1162 (gdb) p so $1 = (struct so_list *) 0x8ea1078 (gdb) p *so $2 = { next = 0x8ea16d0, lm = { l_addr = 1073827840, l_name = 0x40014418 "X\236\005@`\236\005@h\236\005@", l_ld = 0x40082594, l_next = 0x400146d8, l_prev = 0x40013ed0, l_libname = 0x40014670, l_info = {0x0, 0x400825c4, 0x40082614, 0x4008260c, 0x400825e4, 0x400825ec, 0x400825f4, 0x0, 0x0, 0x0, 0x400825fc, 0x40082604, 0x400825d4, 0x400825dc, 0x400825cc, 0x0, 0x0, 0x4008262c, 0x40082634, 0x4008263c, 0x4008261c, 0x0, 0x0, 0x40082624, 0x0 , 0x4008264c, 0x40082644, 0x0 , 0x40082654, 0x0, 0x0, 0x0}, l_phdr = 0x40015034, l_entry = 1073975200, l_phnum = 3, l_searchlist = { r_list = 0x0, r_nlist = 0, r_duplist = 0x0, r_nduplist = 0 }, l_symbolic_searchlist = { r_list = 0x0, r_nlist = 0, r_duplist = 0x0, r_nduplist = 0 }, l_loader = 0x40013ed0, l_nbuckets = 1031, l_buckets = 0x4001509c, l_chain = 0x400160b8, l_opencount = 1, l_type = lt_library, l_relocated = 1, l_init_called = 0, l_init_running = 0, l_global = 1, l_reserved = 0, l_nversions = 6, l_versions = 0x403ded80, l_rpath_dirs = 0x0, l_reloc_result = 0x0, l_versyms = 0x4002a5b2, l_origin = 0x40014688 "ðC\001@¨H\001@", l_map_start = 1073827840, l_map_end = 1074276448, l_scope = {0x4001407c, 0x4001407c, 0x0, 0x0}, l_local_scope = {0x400145ec, 0x0}, l_dev = 2069, l_ino = 311379, l_phdr_allocated = 0 }, lmaddr = 1073824832, so_original_name = "/x1/egcs/install/lib/libjserv.so.0", '\000' , so_name = "/x1/egcs/install/lib/libjserv.so.0", '\000' , abfd = 0x8e7d330, lmend = 1074276448, symbols_loaded = 0 '\000', from_tty = 0 '\000', objfile = 0x915b590, sections = 0x8b2f3e0, sections_end = 0x8b2f560, textsection = 0x8b2f4b0 } (gdb) p so->objfile->name $3 = 0x0 (gdb) p so->so_name $4 = "/x1/egcs/install/lib/libjserv.so.0", '\000'