DBI seg fault in err_hash.
dnfm opened this issue · comments
I'm seeing the following in a seg fault from some code after a prove t/*.t in a project I'm working on. It appears to be after everything's finished running right before it exits (perhaps during destruction?)
segfault at c ip 00007fd84d6812ad sp 00007fff24597de0 error 4 in DBI.so[7fd84d674000+21000]
Here's what I got out of gdb:
Program terminated with signal 11, Segmentation fault.
#0 err_hash (imp_xxh=0xaf5fff38, imp_xxh=0xaf5fff38) at DBI.xs:864
864 if (SvOK(err_sv)) {
(gdb) bt
#0 err_hash (imp_xxh=0xaf5fff38, imp_xxh=0xaf5fff38) at DBI.xs:864
#1 0x00007fd84d6880ed in XS_DBI_dispatch (cv=0x3df4ac8) at DBI.xs:3551
#2 0x00007fd859801879 in Perl_pp_entersub () from /usr/local/gsgperl/tax-cbs/5.32.0/lib/perl5/x86_64-linux/CORE/libperl.so
#3 0x00007fd859758142 in Perl_call_sv () from /usr/local/gsgperl/tax-cbs/5.32.0/lib/perl5/x86_64-linux/CORE/libperl.so
#4 0x00007fd859805fc1 in S_curse () from /usr/local/gsgperl/tax-cbs/5.32.0/lib/perl5/x86_64-linux/CORE/libperl.so
#5 0x00007fd85980699d in Perl_sv_clear () from /usr/local/gsgperl/tax-cbs/5.32.0/lib/perl5/x86_64-linux/CORE/libperl.so
#6 0x00007fd859806ca0 in Perl_sv_free2 () from /usr/local/gsgperl/tax-cbs/5.32.0/lib/perl5/x86_64-linux/CORE/libperl.so
#7 0x00007fd859807681 in Perl_sv_clean_objs () from /usr/local/gsgperl/tax-cbs/5.32.0/lib/perl5/x86_64-linux/CORE/libperl.so
#8 0x00007fd85975ad5b in perl_destruct () from /usr/local/gsgperl/tax-cbs/5.32.0/lib/perl5/x86_64-linux/CORE/libperl.so
#9 0x0000000000400d0a in main (argc=19, argv=0x7fff24598658, env=0x7fff245986f8) at perlmain.c:138
(gdb) p err_sv
$1 = (SV *) 0x0
Unfortunately, the code is from a massive closed-source project, so I can't provide a small use-case to trigger it, but if there's anything else I can reasonably do to help, let me know.
This sounds like a dupe of #51.