On Fri, Oct 17, 2014 at 03:08:12AM -0700, Christian Bartolomaeus via RT wrote: > Status update: Right now this is no longer a Null PMC access error on Parrot > but we get a segfault on Moar as well: > > $ perl6-m -e 'my $a ($b, $c); $b = 42;' > Segmentation fault
valgrind doesn't spot any undefined behaviour leading up to the SEGV: ==2246== Invalid read of size 8 ==2246== at 0x4F57A5E: MVM_interp_run (interp.c:1226) ==2246== by 0x502FBA3: MVM_vm_run_file (moar.c:208) ==2246== by 0x40110D: main (main.c:191) ==2246== Address 0x10 is not stack'd, malloc'd or (recently) free'd ==2246== ==2246== ==2246== Process terminating with default action of signal 11 (SIGSEGV): dumping core ==2246== Access not within mapped region at address 0x10 ==2246== at 0x4F57A5E: MVM_interp_run (interp.c:1226) ==2246== by 0x502FBA3: MVM_vm_run_file (moar.c:208) ==2246== by 0x40110D: main (main.c:191) It's this code (with line numbers): 1223 OP(assign): { 1224 MVMObject *cont = GET_REG(cur_op, 0).o; 1225 MVMObject *obj = GET_REG(cur_op, 2).o; 1226 const MVMContainerSpec *spec = STABLE(cont)->container_spec; 1227 cur_op += 4; 1228 if (spec) { 1229 spec->store(tc, cont, obj); 1230 } else { 1231 MVM_exception_throw_adhoc(tc, "Cannot assign to an immutable value"); 1232 } 1233 goto NEXT; I can't convince gdb to "like" the various local libraries on this machine (local updated compiler toolchain, but not debugger), so I can't verify which pointer is NULL. Nicholas Clark