Subject: | Intermittent segfault in parse_pre_blockend |
With a non-trivial class, I can trigger a segfault by changing a line from:
method something { }
to
method something { 123 }
however, this failure is intermittent: it sometimes compiles+runs cleanly.
(gdb) run
Starting program: /home/tom/perl5/perlbrew/perls/perl-5.30.2-debug/bin/perl -Ilib t/redis.t
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
Perl_padname_free (pn=0x41) at pad.c:2790
2790 if (!--PadnameREFCNT(pn)) {
(gdb) bt
#0 Perl_padname_free (pn=0x41) at pad.c:2790
#1 0x00007ffff566e011 in parse_pre_blockend (body=0x5555565f3f20) at lib/Object/Pad.xs:938
(gdb) frame 1
#1 0x00007ffff566e011 in parse_pre_blockend (body=0x5555565f3f20) at lib/Object/Pad.xs:938
938 PadnameREFCNT_dec(padnames[padix]);
Will try to trim down to a minimal test case and attach here.
cheers,
Tom