Greetings, I am observing intermittent hangs and crashes in Lrs-race test case on Ubuntu Precise variant, using current trunk (65ac86741606e1d87aef75755c699e4fa6884230).
for j in $(seq 1 100); do alarm 10 make check-TESTS TESTS=Lrs-race &> /dev/null || echo $j; done 10 43 64 77 80 96 That is, 6% of executions either crash or hang. Of the 6, 2 were hangs, and 4 were SIGSEGVs. Here is a sample crash: Program terminated with signal SIGSEGV, Segmentation fault. #0 rs_new (c=0x2ae1a7227240, cache=0x2ae1a683f258 <local_addr_space+88>) at ../../libunwind-pristine/src/dwarf/Gparser.c:648 648 if (tmp->coll_chain >= DWARF_UNW_CACHE_SIZE) (gdb) bt #0 rs_new (c=0x2ae1a7227240, cache=0x2ae1a683f258 <local_addr_space+88>) at ../../libunwind-pristine/src/dwarf/Gparser.c:648 #1 _ULx86_64_dwarf_find_save_locs (c=0x2ae1a7227240) at ../../libunwind-pristine/src/dwarf/Gparser.c:893 #2 0x00002ae1a6637889 in _ULx86_64_dwarf_step (c=0x2ae1a7227240) at ../../libunwind-pristine/src/dwarf/Gstep.c:34 #3 0x00002ae1a6633a45 in _ULx86_64_step (cursor=0x2ae1a7227240) at ../../libunwind-pristine/src/x86_64/Gstep.c:71 #4 0x00002ae1a6634488 in trace_init_addr (rsp=47148660063968, rbp=0, rip=4203294, cfa=47148660063968, cursor=0x2ae1a7227240, f=0x2ae1a64638e0) at ../../libunwind-pristine/src/x86_64/Gtrace.c:248 #5 trace_lookup (rsp=47148660063968, rbp=0, rip=4203294, cfa=47148660063968, cache=<optimized out>, cursor=0x2ae1a7227240) at ../../libunwind-pristine/src/x86_64/Gtrace.c:330 #6 _ULx86_64_tdep_trace (cursor=0x2ae1a7227240, buffer=<optimized out>, size=0x2ae1a7227dfc) at ../../libunwind-pristine/src/x86_64/Gtrace.c:447 #7 0x00002ae1a663266b in unw_backtrace (buffer=0x2ae1a7227e30, size=20) at ../../libunwind-pristine/src/mi/backtrace.c:69 #8 0x0000000000401b44 in foo_98 () at ../../libunwind-pristine/tests/Lrs-race.c:1032 #9 0x000000000040231f in bar (p=<optimized out>) at ../../libunwind-pristine/tests/Lrs-race.c:1439 #10 0x00002ae1a6851e9a in start_thread (arg=0x2ae1a7228700) at pthread_create.c:308 #11 0x00002ae1a6b5b3fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 (gdb) p index $1 = 44 ',' (gdb) p cache->hash[index] $2 = 120 (gdb) p tmp $3 = (dwarf_reg_state_t *) 0x2ae1a7d3f338 (gdb) p *tmp Cannot access memory at address 0x2ae1a7d3f338 Please let me know if you can't repro, or need additional details. Looks like this has already been reported here as well: http://savannah.nongnu.org/bugs/?39294 Thanks, -- Paul Pluzhnikov _______________________________________________ Libunwind-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/libunwind-devel
