Bug#960352: perl: crashes from perl in deallocation routines

Jiri Palecek jpalecek at web.de
Mon May 11 23:22:03 BST 2020


Package: perl
Version: 5.30.0-10
Severity: normal

Dear Maintainer,

I've discovered several crash dumps made by perl in my
/var/crash. However, I cannot debug them further since perl doesn't have
debug symbols in Debian. I could try to reproduce it under valgrind, but
without debug symbols this would be fruitless. The backtraces are like
this:

Core was generated by `/usr/bin/perl t/Pool01.t'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00516406 in Perl_op_free ()
(gdb) bt
#0  0x00516406 in Perl_op_free ()
#1  0x005733bc in Perl_cv_undef_flags ()
#2  0x00573822 in Perl_cv_undef ()
#3  0x005df2fa in Perl_sv_clear ()
#4  0x005dfa9e in Perl_sv_free2 ()
#5  0x00611e79 in Perl_free_tmps ()
#6  0x00539c52 in perl_destruct ()
#7  0xb79bf5ea in ?? () from /usr/lib/i386-linux-gnu/perl/5.30/auto/threads/threads.so
#8  0xb79c14ec in ?? () from /usr/lib/i386-linux-gnu/perl/5.30/auto/threads/threads.so
#9  0x005d9b98 in Perl_pp_entersub ()
#10 0x005cfec9 in Perl_runops_standard ()
#11 0x0053542c in Perl_call_sv ()
#12 0x00538493 in Perl_call_list ()
#13 0x00539de2 in perl_destruct ()
#14 0x005123fe in main ()

Or this, similar:

Core was generated by `/usr/bin/perl t/Pool02.t'.
Program terminated with signal SIGABRT, Aborted.
#0  0xb7f3cbad in __kernel_vsyscall ()
(gdb) bt
#0  0xb7f3cbad in __kernel_vsyscall ()
#1  0xb7c278b2 in __libc_signal_restore_set (set=0xbfa36a0c) at ../sysdeps/unix/sysv/linux/internal-signals.h:84
#2  __GI_raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:48
#3  0xb7c10309 in __GI_abort () at abort.c:79
#4  0xb7c6aa3c in __libc_message (action=<optimized out>, fmt=<optimized out>) at ../sysdeps/posix/libc_fatal.c:181
#5  0xb7c72b2d in malloc_printerr (str=str at entry=0xb7d7f7bc "munmap_chunk(): invalid pointer") at malloc.c:5339
#6  0xb7c72ddb in munmap_chunk (p=<optimized out>) at malloc.c:2830
#7  0x0051656e in Perl_Slab_Free ()
#8  0x00517287 in Perl_op_free ()
#9  0x0051742f in Perl_op_free ()
#10 0x005743bc in Perl_cv_undef_flags ()
#11 0x00574822 in Perl_cv_undef ()
#12 0x005e02fa in Perl_sv_clear ()
#13 0x005e0a9e in Perl_sv_free2 ()
#14 0x00612e79 in Perl_free_tmps ()
#15 0x0053ac52 in perl_destruct ()
#16 0xb799f5ea in ?? () from /usr/lib/i386-linux-gnu/perl/5.30/auto/threads/threads.so
#17 0xb79a14ec in ?? () from /usr/lib/i386-linux-gnu/perl/5.30/auto/threads/threads.so
#18 0x005dab98 in Perl_pp_entersub ()
#19 0x005d0ec9 in Perl_runops_standard ()
#20 0x0053642c in Perl_call_sv ()
#21 0x00539493 in Perl_call_list ()
#22 0x0053ade2 in perl_destruct ()
#23 0x005133fe in main ()

Problem is, I'm not 100% sure I can reproduce these crashes.

Could you look at this and maybe advise me how to debug it?

Regards
    Jiri Palecek

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: i386 (i686)
Foreign Architectures: amd64

Kernel: Linux 5.5.0-rc5-686-pae (SMP w/2 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=cs_CZ, LC_CTYPE=cs_CZ (charmap=ISO-8859-2), LANGUAGE= (charmap=ISO-8859-2)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages perl depends on:
ii  dpkg               1.20.1~2.gbp7298ec
ii  libperl5.30        5.30.0-10
ii  perl-base          5.30.0-10
ii  perl-modules-5.30  5.30.0-10

Versions of packages perl recommends:
ii  netbase  6.1

Versions of packages perl suggests:
ii  libb-debug-perl              1.26-1
pn  liblocale-codes-perl         <none>
pn  libtap-harness-archive-perl  <none>
ii  libterm-readline-gnu-perl    1.36-2+b1
ii  make                         4.2.1-1.3
ii  perl-doc                     5.30.0-10

-- no debconf information




More information about the Perl-maintainers mailing list