Subject: | Segfault during t/threads.t on 5.12.5 |
I just installed a debugging perl 5.12.5 with:
$ perlbrew install perl-5.12.5 --as perl-5.12.5-debug --notest -Doptimize="-g3 -Wall -Wextra -O2" -DDEBUGGING -DPERL_TRACK_MEMPOOL -DDEBUG_LEAKING_SCALARS_FORK_DUMP -DDEBUG_LEAKING_SCALARS -Accflags="-DPURIFY -DPERL_POISON" -DDEBUG_LEAKING_SCALARS_ABORT -Dusethreads
However, trying to install D:CC with that gives me a segfault on threads.t. gdb's bt is:
(gdb) run -Iblib/lib -Iblib/arch t/threads.t
Starting program: /home/hugmeir/perl5/perlbrew/perls/perl-5.12.5-debug/bin/perl -Iblib/lib -Iblib/arch t/threads.t
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
1..3
[New Thread 0x7ffff643e700 (LWP 8622)]
ok 1
[New Thread 0x7ffff4fd7700 (LWP 8631)]
ok 2
[Thread 0x7ffff4fd7700 (LWP 8631) exited]
[Thread 0x7ffff643e700 (LWP 8622) exited]
Program received signal SIGSEGV, Segmentation fault.
0x00000000004c1212 in S_anonymise_cv (my_perl=my_perl@entry=0x8c0d40,
stash=stash@entry=0x0, val=0x7ffff01397f0) at hv.c:1496
1496 if ((SV *)CvGV(cv) == val) {
(gdb) bt
#0 0x00000000004c1212 in S_anonymise_cv (my_perl=my_perl@entry=0x8c0d40,
stash=stash@entry=0x0, val=0x7ffff01397f0) at hv.c:1496
#1 0x00000000004c1e4e in S_hfreeentries (my_perl=my_perl@entry=0x8c0d40,
hv=hv@entry=0x7ffff0186238) at hv.c:1691
#2 0x00000000004c62ff in Perl_hv_undef (my_perl=my_perl@entry=0x8c0d40,
hv=hv@entry=0x7ffff0186238) at hv.c:1863
#3 0x00000000004e9063 in Perl_sv_clear (my_perl=my_perl@entry=0x8c0d40,
sv=sv@entry=0x7ffff0186238) at sv.c:5791
#4 0x00000000004e9919 in Perl_sv_free2 (sv=0x7ffff0186238, my_perl=0x8c0d40)
at sv.c:5985
#5 Perl_sv_free2 (my_perl=0x8c0d40, sv=0x7ffff0186238) at sv.c:5966
#6 0x00000000004dd537 in S_visit (my_perl=0x8c0d40,
f=0x4ea270 <do_clean_all>, flags=0, mask=0) at sv.c:440
#7 0x00000000004ddb89 in Perl_sv_clean_all (my_perl=0x8c0d40,
my_perl@entry=0x7ffff01397f0) at sv.c:587
#8 0x000000000043e78a in perl_destruct (my_perl=my_perl@entry=0x8c0d40)
at perl.c:1075
#9 0x00007ffff6a6e0b6 in S_ithread_clear (my_perl=my_perl@entry=0x894010,
thread=thread@entry=0x8c4bf0) at threads.xs:225
#10 0x00007ffff6a6eed0 in XS_threads_join (my_perl=0x894010,
cv=<optimized out>) at threads.xs:1259
#11 0x00000000004da891 in Perl_pp_entersub (my_perl=0x894010) at pp_hot.c:2869
#12 0x00000000004a6146 in Perl_runops_debug (my_perl=0x894010) at dump.c:2049
#13 0x000000000044403c in S_run_body (oldscope=1, my_perl=0x7ffff01397f0)
at perl.c:2308
#14 perl_run (my_perl=0x894010) at perl.c:2233
#15 0x0000000000420177 in main (argc=4, argv=0x7fffffffde88,
env=0x7fffffffdeb0) at perlmain.c:117
This was on Ubuntu 13.04, gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1).