Open p5pRT opened 7 years ago
This is a bug report for perl from rbalint@ubuntu.com\, generated with the help of perlbug 1.40 running under perl 5.24.1.
When building nama Perl crashes in tests.
Originally reported to Debian BTS: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839218
On Fri\, 30 Sep 2016 10:09:01 +0100 Chris Lamb \lamby@​debian\.org wrote:
Source: nama Version: 1.208-1 Severity: serious Justification: fails to build from source User: reproducible-builds@lists.alioth.debian.org Usertags: ftbfs X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org
Dear Maintainer\,
nama fails to build from source in unstable/amd64:
[..]
ok 57 - set JACK client as input sax: JACK source port is sax_in. Make connections manually.
Track sax: source set to JACK manual port sax_in Failed 69/126 subtests t/13_io.t ....... 1..1 ok 1 - use Audio::Nama::IO; ok
Test Summary Report ------------------- t/12_nama.t (Wstat: 139 Tests: 57 Failed: 0) Non-zero wait status: 139 Parse errors: Bad plan. You planned 126 tests but ran 57. Files=7\, Tests=91\, 5 wallclock secs ( 0.03 usr 0.01 sys + 2.29 cusr 0.43 csys = 2.76 CPU) Result: FAIL Failed 1/7 test programs. 0/91 subtests failed. Makefile:930: recipe for target 'test_dynamic' failed make[1]: *** [test_dynamic] Error 255 make[1]: Leaving directory '/home/lamby/temp/cdt.20160930095107.55GhkE5sL3.db.nama/nama-1.208' dh_auto_test: make -j1 test TEST_VERBOSE=1 returned exit code 2 debian/rules:4: recipe for target 'build' failed make: *** [build] Error 2
[..]
This looks like a problem in Perl itself possibly causing random crashes elsewhere\, too.
Reproduction with the perl-debug package shows the internal assertion:
sudo apt-get install perl-debug sudo apt-get build-dep nama apt source nama cd nama-* dpkg-buildpackage ... ok 57 - set JACK client as input sax: JACK source port is sax_in. Make connections manually.
Track sax: source set to JACK manual port sax_in Failed 69/126 subtests t/13_io.t ....... 1..1 ok 1 - use Audio::Nama::IO; ok ..
PERL_DL_NONLAZY=1 PERL_USE_UNSAFE_INC=1 "/usr/bin/debugperl" \ "-MExtUtils::Command::MM" "-MTest::Harness" "-e" " test_harness(1\, \ 'inc'\, 'blib/lib'\, 'blib/arch')" t/12_nama.t
...
ok 57 - set JACK client as input sax: JACK source port is sax_in. Make connections manually. Track sax: source set to JACK manual port sax_in debugperl: sv.c:6438: Perl_sv_clear: Assertion `SvTYPE(sv) != (svtype)SVTYPEMASK' failed. Failed 69/126 subtests ...
Address Sanitizer shows the crash with non-debug perl:
==13877==ERROR: AddressSanitizer: SEGV on unknown address 0x00ff00000012 (pc 0x559191b15fd8 bp 0x62100013f578 sp 0x7fffaa838b00 T0) #0 0x559191b15fd7 (/usr/bin/perl+0xd9fd7) #1 0x559191b1616d in Perl_sv_unmagic (/usr/bin/perl+0xda16d) #2 0x559191b1513a in Perl_sv_clear (/usr/bin/perl+0xd913a) #3 0x559191b15a8f in Perl_sv_free2 (/usr/bin/perl+0xd9a8f) #4 0x559191b4624e in Perl_leave_scope (/usr/bin/perl+0x10a24e) #5 0x559191b49707 (/usr/bin/perl+0x10d707) #6 0x559191b4ebab in Perl_die_unwind (/usr/bin/perl+0x112bab) #7 0x559191aea518 in Perl_vcroak (/usr/bin/perl+0xae518) #8 0x559191aeafb3 in Perl_croak (/usr/bin/perl+0xaefb3) #9 0x559191b1d592 in Perl_sv_setsv_flags (/usr/bin/perl+0xe1592) #10 0x559191b08ca9 in Perl_pp_sassign (/usr/bin/perl+0xccca9) #11 0x559191b08605 in Perl_runops_standard (/usr/bin/perl+0xcc605) #12 0x559191a8e6c8 in perl_run (/usr/bin/perl+0x526c8) #13 0x559191a6787c in main (/usr/bin/perl+0x2b87c) #14 0x7fa31be502b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0) #15 0x559191a678b9 in _start (/usr/bin/perl+0x2b8b9)
AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV (/usr/bin/perl+0xd9fd7) ==13877==ABORTING Dubious\, test returned 1 (wstat 256\, 0x100) Failed 69/126 subtests
Niko Tyni found a workaround\, but Perl itself would still be buggy:
While I haven't made it to the bottom of this yet\, I note that there's this code in lib/Audio/Nama/Effect.pm:
my $perl\_version = $^V; my \($minor\_version\) = $perl\_version =~ /^v5\\\.\(\\d\+\)/; my @​new\_list = grep \{ $\_ ne $id \} @​ops\_list; \#say "new\_list​: @​new\_list"; if \($minor\_version \<= 14\) \{ $track\->\{ops\} = \[ @​new\_list \] \} else \{ @​\{ $track\->\{ops\} \} = @​new\_list \}
and if I patch that to take the \<= 14 code path\, the segfault goes away here and all tests pass. What's the history behind this version check?
Funny story\, it was added to work around a segfault in older perl: https://github.com/bolangi/nama/commit/8ecdbd5ad0b8ac67b7e4adab2ee1100fbf29aa1f
The line looks very much like a corner case for the assignment reimplementation:
https://github.com/Perl/perl5/commit/a5f48505593c7e1ca478de383e24d5cc2541f3ca
re-implement OPpASSIGN_COMMON mechanism
This commit almost completely replaces the current mechanism for detecting and handing common vars in list assignment\, e.g. ...
The issue was also reported against nama\, but I could not find a way to reassign it to perl: https://rt.cpan.org/Public/Bug/Display.html?id=109852
Flags: category=core severity=high
Site configuration information for perl 5.24.1:
Configured by Debian Project at Thu Mar 16 11:11:46 UTC 2017.
Summary of my perl5 (revision 5 version 24 subversion 1) configuration: Platform: osname=linux\, osvers=3.16.0\, archname=x86_64-linux-gnu-thread-multi uname='linux localhost 3.16.0 #1 smp debian 3.16.0 x86_64 gnulinux ' config_args='-Dusethreads -Duselargefiles -Dcc=x86_64-linux-gnu-gcc -Dcpp=x86_64-linux-gnu-cpp -Dld=x86_64-linux-gnu-gcc -Dccflags=-DDEBIAN -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/perl-fHa8XZ/perl-5.24.1=. -fstack-protector-strong -Wformat -Werror=format-security -Dldflags= -Wl\,-z\,relro -Dlddlflags=-shared -Wl\,-z\,relro -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.24 -Darchlib=/usr/lib/x86_64-linux-gnu/perl/5.24 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/x86_64-linux-gnu/perl5/5.24 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.24.1 -Dsitearch=/usr/local/lib/x86_64-linux-gnu/perl/5.24.1 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dusesitecustomize -Duse64bitint -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -Uversiononly -DDEBUGGING=-g -Doptimize=-O2 -dEs -Duseshrplib -Dlibperl=libperl.so.5.24.1' hint=recommended\, useposix=true\, d_sigaction=define useithreads=define\, usemultiplicity=define use64bitint=define\, use64bitall=define\, uselongdouble=undef usemymalloc=n\, bincompat5005=undef Compiler: cc='x86_64-linux-gnu-gcc'\, ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'\, optimize='-O2 -g'\, cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include' ccversion=''\, gccversion='6.3.0 20170221'\, gccosandvers='' intsize=4\, longsize=8\, ptrsize=8\, doublesize=8\, byteorder=12345678\, doublekind=3 d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16\, longdblkind=3 ivtype='long'\, ivsize=8\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8 alignbytes=8\, prototype=define Linker and Libraries: ld='x86_64-linux-gnu-gcc'\, ldflags =' -fstack-protector-strong -L/usr/local/lib' libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt perllibs=-ldl -lm -lpthread -lc -lcrypt libc=libc-2.24.so\, so=so\, useshrplib=true\, libperl=libperl.so.5.24 gnulibc_version='2.24' Dynamic Linking: dlsrc=dl_dlopen.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags='-Wl\,-E' cccdlflags='-fPIC'\, lddlflags='-shared -L/usr/local/lib -fstack-protector-strong'
Locally applied patches: DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN. DEBPKG:debian/db_file_ver - https://bugs.debian.org/340047 Remove overly restrictive DB_File version check. DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information. DEBPKG:debian/enc2xs_inc - https://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories. DEBPKG:debian/errno_ver - https://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes. DEBPKG:debian/libperl_embed_doc - https://bugs.debian.org/186778 Note that libperl-dev package is required for embedded linking DEBPKG:fixes/respect_umask - Respect umask during installation DEBPKG:debian/writable_site_dirs - Set umask approproately for site install directories DEBPKG:debian/extutils_set_libperl_path - EU:MM: set location of libperl.a under /usr/lib DEBPKG:debian/no_packlist_perllocal - Don't install .packlist or perllocal.pod for perl or vendor DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets. DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor. DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy. DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable. DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian DEBPKG:debian/prune_libs - https://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need. DEBPKG:fixes/net_smtp_docs - [rt.cpan.org #36038] https://bugs.debian.org/100195 Document the Net::SMTP 'Port' option DEBPKG:debian/perlivp - https://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local DEBPKG:debian/deprecate-with-apt - https://bugs.debian.org/747628 Point users to Debian packages of deprecated core modules DEBPKG:debian/squelch-locale-warnings - https://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts DEBPKG:debian/skip-upstream-git-tests - Skip tests specific to the upstream Git repository DEBPKG:debian/patchlevel - https://bugs.debian.org/567489 List packaged patches for 5.24.1-2 in patchlevel.h DEBPKG:debian/skip-kfreebsd-crash - https://bugs.debian.org/628493 [perl #96272] Skip a crashing test case in t/op/threads.t on GNU/kFreeBSD DEBPKG:fixes/document_makemaker_ccflags - https://bugs.debian.org/628522 [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags} DEBPKG:debian/find_html2text - https://bugs.debian.org/640479 Configure CPAN::Distribution with correct name of html2text DEBPKG:debian/perl5db-x-terminal-emulator.patch - https://bugs.debian.org/668490 Invoke x-terminal-emulator rather than xterm in perl5db.pl DEBPKG:debian/cpan-missing-site-dirs - https://bugs.debian.org/688842 Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable DEBPKG:fixes/memoize_storable_nstore - [rt.cpan.org #77790] https://bugs.debian.org/587650 Memoize::Storable: respect 'nstore' option not respected DEBPKG:debian/regen-skip - Skip a regeneration check in unrelated git repositories DEBPKG:debian/makemaker-pasthru - https://bugs.debian.org/758471 Pass LD settings through to subdirectories DEBPKG:debian/makemaker-manext - https://bugs.debian.org/247370 Make EU::MakeMaker honour MANnEXT settings in generated manpage headers DEBPKG:debian/devel-ppport-reproducibility - https://bugs.debian.org/801523 Sort the list of XS code files when generating RealPPPort.xs DEBPKG:debian/encode-unicode-bom-doc - https://bugs.debian.org/798727 Document Debian backport of Encode::Unicode fix DEBPKG:debian/kfreebsd-softupdates - https://bugs.debian.org/796798 Work around Debian Bug#796798 DEBPKG:fixes/autodie-scope - https://bugs.debian.org/798096 Fix a scoping issue with "no autodie" and the "system" sub DEBPKG:fixes/crosscompile-no-targethost - [23695c0] [perl #127234] Fix the Configure escape with usecrosscompile but no targethost DEBPKG:fixes/memoize-pod - [rt.cpan.org #89441] Fix POD errors in Memoize DEBPKG:fixes/ok-pod - Added encoding for pod. DEBPKG:debian/hurd-softupdates - https://bugs.debian.org/822735 Fix t/op/stat.t failures on hurd DEBPKG:fixes/nntp_docs - https://bugs.debian.org/51962 Net::NNTP: Correct innd/nnrpd confusion in relation to Reader option DEBPKG:fixes/math_complex_doc_great_circle - https://bugs.debian.org/697567 [rt.cpan.org #114104] Math::Trig: clarify definition of great_circle_midpoint DEBPKG:fixes/math_complex_doc_see_also - https://bugs.debian.org/697568 [rt.cpan.org #114105] Math::Trig: add missing SEE ALSO DEBPKG:fixes/math_complex_doc_angle_units - https://bugs.debian.org/731505 [rt.cpan.org #114106] Math::Trig: document angle units DEBPKG:fixes/cpan_web_link - https://bugs.debian.org/367291 CPAN: Add link to main CPAN web site DEBPKG:fixes/time_piece_doc - https://bugs.debian.org/817925 Time::Piece: Improve documentation for add_months and add_years DEBPKG:fixes/perlbug-refactor - https://bugs.debian.org/822463 [perl #128020] perlbug: Refactor duplicated file reading code DEBPKG:fixes/perlbug-linewrap - https://bugs.debian.org/822463 [perl #128020] perlbug: wrap overly long lines DEBPKG:fixes/hurd_sigaction - https://bugs.debian.org/825016 [d54f4ed] ext/POSIX/t/sigaction.t: Skip uid and pid tests on GNU/Hurd DEBPKG:fixes/hurd_hints - [4694301] https://bugs.debian.org/825020 [perl #128279] Modify hints for Hurd per Debian ticket 825020. DEBPKG:fixes/extutils-parsexs-reproducibility - [perl #128517] https://bugs.debian.org/829296 Make the output of ExtUtils::ParseXS reproducible DEBPKG:debian/CVE-2016-1238/sitecustomize-in-etc - Look for sitecustomize.pl in /etc/perl rather than sitelib on Debian systems DEBPKG:debian/CVE-2016-1238/test-suite-without-dot - [perl #127810] Patch unit tests to explicitly insert "." into @INC when needed. DEBPKG:debian/CVE-2016-1238/eumm-without-dot - [perl #127810] Add PERL_USE_UNSAFE_INC support to EU::MM for fortify_inc support. DEBPKG:debian/CVE-2016-1238/cpan-without-dot - [perl #127810] Set PERL_USE_UNSAFE_INC for cpan usage DEBPKG:debian/document_inc_removal - Document in perlvar that we remove '.' from @INC by default DEBPKG:fixes/extutils_makemaker_reproducible - https://bugs.debian.org/835815 https://bugs.debian.org/834190 Make perllocal.pod files reproducible DEBPKG:debian/CVE-2016-1238/remove-inc-test - Remove test for '.' in @INC as it might not be DEBPKG:debian/customized - Update customized.dat for files patched in Debian DEBPKG:fixes/file_path_hurd_errno - File-Path: Fix test failure in Hurd due to hard-coded ENOENT DEBPKG:debian/hppa_op_optimize_workaround - https://bugs.debian.org/838613 Temporarily lower the optimization of op.c on hppa due to gcc-6 problems DEBPKG:fixes/test-builder-warning - https://bugs.debian.org/840968 Silence a 'used only once' warning in Test::Builder DEBPKG:fixes/longdblinf-randomness - [dd68853] [perl #130133] https://bugs.debian.org/844752 Configure: fix garbage filtering with 80-bit long doubles DEBPKG:debian/installman-utf8 - https://bugs.debian.org/840211 Generate man pages with UTF-8 characters DEBPKG:fixes/list_assign_leak - [1050723] [perl #130766] https://bugs.debian.org/855064 avoid a leak in list assign from/to magic values DEBPKG:fixes/perlfunc_inc_doc - [a03e9f8] https://bugs.debian.org/839536 [perl #130832] Documentation fixes for '.' possibly no longer being in @INC
@INC for perl 5.24.1: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base
Environment for perl 5.24.1: HOME=/home/rbalint LANG=C LANGUAGE (unset) LC_ADDRESS=hu_HU.UTF-8 LC_ALL=en_US.UTF-8 LC_IDENTIFICATION=hu_HU.UTF-8 LC_MEASUREMENT=hu_HU.UTF-8 LC_MONETARY=hu_HU.UTF-8 LC_NAME=hu_HU.UTF-8 LC_NUMERIC=hu_HU.UTF-8 LC_PAPER=hu_HU.UTF-8 LC_TELEPHONE=hu_HU.UTF-8 LC_TIME=hu_HU.UTF-8 LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/usr/lib/ccache:/home/rbalint/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games PERL_BADLANG (unset) SHELL=/bin/bash
Apparently my original report was too detailed\, pasting the interesting parts:
When building nama Perl crashes in tests.
Originally reported to Debian BTS: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839218
This looks like a problem in Perl itself possibly causing random crashes elsewhere\, too.
Reproduction with the perl-debug package shows the internal assertion:
sudo apt-get install perl-debug sudo apt-get build-dep nama apt source nama cd nama-* dpkg-buildpackage ... ok 57 - set JACK client as input sax: JACK source port is sax_in. Make connections manually.
Track sax: source set to JACK manual port sax_in Failed 69/126 subtests t/13_io.t ....... 1..1 ok 1 - use Audio::Nama::IO; ok ..
PERL_DL_NONLAZY=1 PERL_USE_UNSAFE_INC=1 "/usr/bin/debugperl" \ "-MExtUtils::Command::MM" "-MTest::Harness" "-e" " test_harness(1\, \ 'inc'\, 'blib/lib'\, 'blib/arch')" t/12_nama.t
...
ok 57 - set JACK client as input sax: JACK source port is sax_in. Make connections manually. Track sax: source set to JACK manual port sax_in debugperl: sv.c:6438: Perl_sv_clear: Assertion `SvTYPE(sv) != (svtype)SVTYPEMASK' failed. Failed 69/126 subtests ...
Address Sanitizer shows the crash with non-debug perl:
==13877==ERROR: AddressSanitizer: SEGV on unknown address 0x00ff00000012 (pc 0x559191b15fd8 bp 0x62100013f578 sp 0x7fffaa838b00 T0) #0 0x559191b15fd7 (/usr/bin/perl+0xd9fd7) #1 0x559191b1616d in Perl_sv_unmagic (/usr/bin/perl+0xda16d) #2 0x559191b1513a in Perl_sv_clear (/usr/bin/perl+0xd913a) #3 0x559191b15a8f in Perl_sv_free2 (/usr/bin/perl+0xd9a8f) #4 0x559191b4624e in Perl_leave_scope (/usr/bin/perl+0x10a24e) #5 0x559191b49707 (/usr/bin/perl+0x10d707) #6 0x559191b4ebab in Perl_die_unwind (/usr/bin/perl+0x112bab) #7 0x559191aea518 in Perl_vcroak (/usr/bin/perl+0xae518) #8 0x559191aeafb3 in Perl_croak (/usr/bin/perl+0xaefb3) #9 0x559191b1d592 in Perl_sv_setsv_flags (/usr/bin/perl+0xe1592) #10 0x559191b08ca9 in Perl_pp_sassign (/usr/bin/perl+0xccca9) #11 0x559191b08605 in Perl_runops_standard (/usr/bin/perl+0xcc605) #12 0x559191a8e6c8 in perl_run (/usr/bin/perl+0x526c8) #13 0x559191a6787c in main (/usr/bin/perl+0x2b87c) #14 0x7fa31be502b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0) #15 0x559191a678b9 in _start (/usr/bin/perl+0x2b8b9)
AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV (/usr/bin/perl+0xd9fd7) ==13877==ABORTING Dubious\, test returned 1 (wstat 256\, 0x100) Failed 69/126 subtests
The RT System itself - Status changed from 'new' to 'open'
Niko Tyni found a workaround\, but Perl itself would still be buggy:
While I haven't made it to the bottom of this yet\, I note that there's this code in lib/Audio/Nama/Effect.pm:
my $perl\_version = $^V; my \($minor\_version\) = $perl\_version =~ /^v5\\\.\(\\d\+\)/; my @​new\_list = grep \{ $\_ ne $id \} @​ops\_list; \#say "new\_list​: @​new\_list"; if \($minor\_version \<= 14\) \{ $track\->\{ops\} = \[ @​new\_list \] \} else \{ @​\{ $track\->\{ops\} \} = @​new\_list \}
and if I patch that to take the \<= 14 code path\, the segfault goes away here and all tests pass. What's the history behind this version check?
Funny story\, it was added to work around a segfault in older perl: https://github.com/bolangi/nama/commit/8ecdbd5ad0b8ac67b7e4adab2ee1100fbf29aa1f
The line looks very much like a corner case for the assignment reimplementation:
https://github.com/Perl/perl5/commit/a5f48505593c7e1ca478de383e24d5cc2541f3ca
re-implement OPpASSIGN_COMMON mechanism
This commit almost completely replaces the current mechanism for detecting and handing common vars in list assignment\, e.g. ...
The issue was also reported against nama\, but I could not find a way to reassign it to perl: https://rt.cpan.org/Public/Bug/Display.html?id=109852
On Fri\, Mar 24\, 2017 at 07:41:40AM -0700\, Balint Reczey wrote:
ok 57 - set JACK client as input sax: JACK source port is sax_in. Make connections manually. Track sax: source set to JACK manual port sax_in debugperl: sv.c:6438: Perl_sv_clear: Assertion `SvTYPE(sv) != (svtype)SVTYPEMASK' failed. Failed 69/126 subtests
I reduced this down to
my $a = [ 0\, 1 ];
sub f {
my $arg = shift;
my @a1 = @$a;
@$a = @a1;
return();
}
map{ f($_) } @$a;
which gives
panic: attempt to copy freed scalar 55aa6f0921c0 to 55aa6f092bb0 at - line 4. debugperl: sv.c:6438: Perl_sv_clear: Assertion `SvTYPE(sv) != (svtype)SVTYPEMASK' failed. zsh: abort (core dumped) debugperl
So another stack-not-refcounted issue?
-- Niko Tyni ntyni@debian.org
Niko Tyni wrote:
So another stack-not-refcounted issue?
Yes.
-zefram
Migrated from rt.perl.org#131054 (status was 'open')
Searchable as RT131054$