On Thu, Oct 08, 2015 at 05:43:11AM -0700, Carlin Bingham wrote: > Doesn't seem to happen if the main program thread is still running when > the thread exits. > > > use v6; > > Thread.start({ > my $fh = open('/dev/urandom'); > say $fh.read(16); > say "alive"; > }); > > say "main program ending";
ASAN suggests that it's a "regular" SEGV - ie there are no bad memory accesses leading up to the crash: $ ./perl6-m -Ilib 126297 main program ending Buf[uint8]:0x<76 35 16 81 97 9f 8c 3f 77 f7 d4 02 00 ff bb 47> alive ASAN:SIGSEGV ================================================================= ==17783==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fc605dfa929 sp 0x7fff1a3952e0 bp 0x7fff1a395310 T0) #0 0x7fc605dfa928 in MVM_gc_root_add_temps_to_worklist src/gc/roots.c:171 #1 0x7fc605dff068 in MVM_gc_collect src/gc/collect.c:103 #2 0x7fc605df36fa in run_gc src/gc/orchestrate.c:292 #3 0x7fc605df404f in MVM_gc_enter_from_allocator src/gc/orchestrate.c:427 #4 0x7fc605da9ab7 in try_join src/core/threads.c:156 #5 0x7fc605daa136 in MVM_thread_join_foreground src/core/threads.c:243 #6 0x7fc605fd01e9 in MVM_vm_exit src/moar.c:263 #7 0x401a82 in main src/main.c:198 #8 0x7fc605563d5c in __libc_start_main (/lib64/libc.so.6+0x1ed5c) #9 0x401058 (/home/nicholas/Sandpit/moar-san/bin/moar+0x401058) AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV src/gc/roots.c:171 MVM_gc_root_add_temps_to_worklist ==17783==ABORTING Nicholas Clark