NetBSD Problem Report #46405

From hf@spg.tu-darmstadt.de  Thu May  3 15:49:23 2012
Return-Path: <hf@spg.tu-darmstadt.de>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
	by www.NetBSD.org (Postfix) with ESMTP id E8AF263B915
	for <gnats-bugs@gnats.NetBSD.org>; Thu,  3 May 2012 15:49:22 +0000 (UTC)
Message-Id: <201205031549.q43FnX5r026526@Gstoder.nt.e-technik.tu-darmstadt.de>
Date: Thu, 3 May 2012 17:49:33 +0200 (CEST)
From: Hauke Fath <hf@spg.tu-darmstadt.de>
Reply-To: Hauke Fath <hf@spg.tu-darmstadt.de>
To: gnats-bugs@gnats.NetBSD.org
Cc: Hauke Fath <hf@spg.tu-darmstadt.de>
Subject: perl5 assertion "SvTYPE(av) == SVt_PVAV" failed
X-Send-Pr-Version: 3.95

>Number:         46405
>Category:       pkg
>Synopsis:       perl5 assertion "SvTYPE(av) == SVt_PVAV" failed
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu May 03 15:50:00 +0000 2012
>Last-Modified:  Fri May 04 12:30:02 +0000 2012
>Originator:     Hauke Fath
>Release:        NetBSD 6.0_BETA
>Organization:
-- 
     The ASCII Ribbon Campaign                    Hauke Fath
()     No HTML/RTF in email	        Institut für Nachrichtentechnik
/\     No Word docs in email                     TU Darmstadt
     Respect for open standards              Ruf +49-6151-16-3281
>Environment:


System: NetBSD Gstoder 6.0_BETA NetBSD 6.0_BETA (MONOLITHIC) #0: Fri Apr 27 13:15:00 CEST 2012 hf@Hochstuhl:/var/obj/netbsd-builds/6/i386/sys/arch/i386/compile/MONOLITHIC i386
Architecture: i386
Machine: i386
>Description:

	For a while, rototilling pkgsrc with pkg_rolling-replace(8) on
	this machine has been blocked by Perl dumping core with the
	following

[...]
===> Creating toolchain wrappers for p5-Digest-SHA-5.71
===> Configuring for p5-Digest-SHA-5.71
=> Checking for portability problems in extracted files
assertion "SvTYPE(av) == SVt_PVAV" failed: file "av.c", line 730, function "Perl_av_len"
[1]   Abort trap (core dumped) /usr/bin/env USE...
*** Error code 134

Stop.
make: stopped in /amd/hochstuhl/public/pkgsrc/security/p5-Digest-SHA
*** Error code 1

	Building lang/perl5 with


Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/Makefile,v
retrieving revision 1.180
diff -u -r1.180 Makefile
--- Makefile    4 Mar 2012 10:26:57 -0000       1.180
+++ Makefile    3 May 2012 15:40:40 -0000
@@ -233,7 +233,8 @@
 .endif

 .if !empty(PKG_OPTIONS:Mdebug)
-CFLAGS+=               -DDEBUGGING
+CFLAGS+=               -DDEBUGGING -g3
+INSTALL_UNSTRIPPED=     yes
 .endif

 .if !empty(PKG_OPTIONS:Mmstats)


	gives me this, rather longish, stack trace:


% pwd
/var/obj/pkgsrc/security/p5-Digest-SHA/work/Digest-SHA-5.71
% gdb /usr/pkg/bin/perl perl.core 
GNU gdb (GDB) 7.3.1
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486--netbsdelf".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/pkg/bin/perl...done.
[New process 1]
Core was generated by `perl'.
Program terminated with signal 6, Aborted.
#0  0xbb931027 in _lwp_kill () from /usr/lib/libc.so.12
(gdb) bt
#0  0xbb931027 in _lwp_kill () from /usr/lib/libc.so.12
#1  0xbb930fe3 in raise () from /usr/lib/libc.so.12
#2  0xbb9307cd in abort () from /usr/lib/libc.so.12
#3  0xbb89a4e9 in __assert13 () from /usr/lib/libc.so.12
#4  0xbba84606 in Perl_av_len (my_perl=0xbb702800, av=0xbb70e1ac) at av.c:730
#5  0xbb9d042e in Perl_call_list (my_perl=0xbb702800, oldscope=23, paramList=0xbb70e1ac) at perl.c:4690
#6  0xbb826d2a in boot_Cwd () from /usr/pkg/lib/perl5/vendor_perl/5.14.0/i386-netbsd-thread-multi/auto/Cwd/Cwd.so
#7  0xbba96f03 in Perl_pp_entersub (my_perl=0xbb702800) at pp_hot.c:3046
#8  0xbba5907c in Perl_runops_debug (my_perl=0xbb702800) at dump.c:2266
#9  0xbb9cfd8a in Perl_call_sv (my_perl=0xbb702800, sv=0xbb61669c, flags=14) at perl.c:2649
#10 0xbb9d07bf in Perl_call_list (my_perl=0xbb702800, oldscope=14, paramList=0xbb7acf8c) at perl.c:4716
#11 0xbb9b08a5 in S_process_special_blocks (my_perl=0xbb702800, fullname=<optimized out>, gv=0xbb76bf3c, cv=0xbb61669c)
    at op.c:6462
#12 0xbb9c2ce9 in Perl_newATTRSUB (my_perl=0xbb702800, floor=309, o=0xbb653c40, proto=0x0, attrs=0x0, block=0xbb653c20)
    at op.c:6433
#13 0xbb9c3a96 in Perl_utilize (my_perl=0xbb702800, aver=1, floor=309, version=0x0, idop=0xbb6536a0, arg=<optimized out>)
    at op.c:4309
#14 0xbba1724d in Perl_yyparse (my_perl=0xbb702800, gramtype=258) at perly.y:361
#15 0xbbb0df8e in S_doeval (my_perl=0xbb702800, gimme=2, startop=0x0, outside=0x0, seq=385) at pp_ctl.c:3334
#16 0xbbb23dc8 in Perl_pp_require (my_perl=0xbb702800) at pp_ctl.c:3906
#17 0xbba5907c in Perl_runops_debug (my_perl=0xbb702800) at dump.c:2266
#18 0xbb9cfd8a in Perl_call_sv (my_perl=0xbb702800, sv=0xbb76b2ec, flags=14) at perl.c:2649
#19 0xbb9d07bf in Perl_call_list (my_perl=0xbb702800, oldscope=8, paramList=0xbb76b01c) at perl.c:4716
#20 0xbb9b08a5 in S_process_special_blocks (my_perl=0xbb702800, fullname=<optimized out>, gv=0xbb750bdc, cv=0xbb76b2ec)
    at op.c:6462
#21 0xbb9c2ce9 in Perl_newATTRSUB (my_perl=0xbb702800, floor=174, o=0xbb6534c0, proto=0x0, attrs=0x0, block=0xbb653480)
    at op.c:6433
#22 0xbb9c3a96 in Perl_utilize (my_perl=0xbb702800, aver=1, floor=174, version=0x0, idop=0xbb653120, arg=<optimized out>)
    at op.c:4309
#23 0xbba1724d in Perl_yyparse (my_perl=0xbb702800, gramtype=258) at perly.y:361
#24 0xbbb0df8e in S_doeval (my_perl=0xbb702800, gimme=2, startop=0x0, outside=0x0, seq=4294967264) at pp_ctl.c:3334
#25 0xbbb23dc8 in Perl_pp_require (my_perl=0xbb702800) at pp_ctl.c:3906
#26 0xbba5907c in Perl_runops_debug (my_perl=0xbb702800) at dump.c:2266
#27 0xbb9cfd8a in Perl_call_sv (my_perl=0xbb702800, sv=0xbb7509ac, flags=14) at perl.c:2649
#28 0xbb9d07bf in Perl_call_list (my_perl=0xbb702800, oldscope=2, paramList=0xbb750a2c) at perl.c:4716
#29 0xbb9b08a5 in S_process_special_blocks (my_perl=0xbb702800, fullname=<optimized out>, gv=0xbb750a0c, cv=0xbb7509ac)
    at op.c:6462
#30 0xbb9c2ce9 in Perl_newATTRSUB (my_perl=0xbb702800, floor=38, o=0xbb75ae80, proto=0x0, attrs=0x0, block=0xbb75aca0) at op.c:6433
#31 0xbb9c3a96 in Perl_utilize (my_perl=0xbb702800, aver=1, floor=38, version=0x0, idop=0xbb75ad00, arg=<optimized out>)
    at op.c:4309
#32 0xbba1724d in Perl_yyparse (my_perl=0xbb702800, gramtype=258) at perly.y:361
#33 0xbb9d559f in S_parse_body (my_perl=0xbb702800, env=0x0, xsinit=0x8048cf0 <xs_init>) at perl.c:2196
#34 0xbb9d7369 in perl_parse (my_perl=0xbb702800, xsinit=0x8048cf0 <xs_init>, argc=3, argv=0xbfbfda50, env=0x0) at perl.c:1615
#35 0x08048dff in main (argc=3, argv=0xbfbfda50, env=0xbfbfda60) at perlmain.c:118
(gdb) 

	This is on a four-way i5 machine. I cannot reproduce the issue
	on an older four-way Xeon machine with netbsd-6;
	pkg_tarup(8)ing the latter's perl and installing on the i5
	displays the same core dump, though.

	I have seen the assertion with other p5-* packages, so it is
	not genuine to p5-Digest-SHA.

	perl5 is not built with any funky gcc optimisation flags.

>How-To-Repeat:

	Build current perl5 and p5-* packages on i5 i386 netbsd-6 machine.

>Fix:

	No idea.

>Audit-Trail:
From: Manuel Bouyer <bouyer@antioche.eu.org>
To: gnats-bugs@NetBSD.org
Cc: pkg-manager@NetBSD.org, gnats-admin@NetBSD.org, pkgsrc-bugs@NetBSD.org
Subject: Re: pkg/46405: perl5 assertion "SvTYPE(av) == SVt_PVAV" failed
Date: Fri, 4 May 2012 10:34:31 +0200

 On Thu, May 03, 2012 at 03:50:00PM +0000, Hauke Fath wrote:
 > 
 > 	For a while, rototilling pkgsrc with pkg_rolling-replace(8) on
 > 	this machine has been blocked by Perl dumping core with the
 > 	following
 > 
 > [...]
 > ===> Creating toolchain wrappers for p5-Digest-SHA-5.71
 > ===> Configuring for p5-Digest-SHA-5.71
 > => Checking for portability problems in extracted files
 > assertion "SvTYPE(av) == SVt_PVAV" failed: file "av.c", line 730, function "Perl_av_len"
 > [1]   Abort trap (core dumped) /usr/bin/env USE...
 > *** Error code 134
 > 
 > Stop.
 > make: stopped in /amd/hochstuhl/public/pkgsrc/security/p5-Digest-SHA
 > *** Error code 1
 > 
 > 	Building lang/perl5 with
 > 
 > 
 > Index: Makefile
 > ===================================================================
 > RCS file: /cvsroot/pkgsrc/lang/perl5/Makefile,v
 > retrieving revision 1.180
 > diff -u -r1.180 Makefile
 > --- Makefile    4 Mar 2012 10:26:57 -0000       1.180
 > +++ Makefile    3 May 2012 15:40:40 -0000
 > @@ -233,7 +233,8 @@
 >  .endif
 >  
 >  .if !empty(PKG_OPTIONS:Mdebug)
 > -CFLAGS+=               -DDEBUGGING
 > +CFLAGS+=               -DDEBUGGING -g3
 > +INSTALL_UNSTRIPPED=     yes
 >  .endif
 >  
 >  .if !empty(PKG_OPTIONS:Mmstats)
 > 
 > 
 > 	gives me this, rather longish, stack trace:
 > 
 > 
 > % pwd
 > /var/obj/pkgsrc/security/p5-Digest-SHA/work/Digest-SHA-5.71
 > % gdb /usr/pkg/bin/perl perl.core 
 > GNU gdb (GDB) 7.3.1
 > Copyright (C) 2011 Free Software Foundation, Inc.
 > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 > This is free software: you are free to change and redistribute it.
 > There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
 > and "show warranty" for details.
 > This GDB was configured as "i486--netbsdelf".
 > For bug reporting instructions, please see:
 > <http://www.gnu.org/software/gdb/bugs/>...
 > Reading symbols from /usr/pkg/bin/perl...done.
 > [New process 1]
 > Core was generated by `perl'.
 > Program terminated with signal 6, Aborted.
 > #0  0xbb931027 in _lwp_kill () from /usr/lib/libc.so.12
 > (gdb) bt
 > #0  0xbb931027 in _lwp_kill () from /usr/lib/libc.so.12
 > #1  0xbb930fe3 in raise () from /usr/lib/libc.so.12
 > #2  0xbb9307cd in abort () from /usr/lib/libc.so.12
 > #3  0xbb89a4e9 in __assert13 () from /usr/lib/libc.so.12
 > #4  0xbba84606 in Perl_av_len (my_perl=0xbb702800, av=0xbb70e1ac) at av.c:730
 > #5  0xbb9d042e in Perl_call_list (my_perl=0xbb702800, oldscope=23, paramList=0xbb70e1ac) at perl.c:4690
 > #6  0xbb826d2a in boot_Cwd () from /usr/pkg/lib/perl5/vendor_perl/5.14.0/i386-netbsd-thread-multi/auto/Cwd/Cwd.so
 > #7  0xbba96f03 in Perl_pp_entersub (my_perl=0xbb702800) at pp_hot.c:3046
 > #8  0xbba5907c in Perl_runops_debug (my_perl=0xbb702800) at dump.c:2266
 > #9  0xbb9cfd8a in Perl_call_sv (my_perl=0xbb702800, sv=0xbb61669c, flags=14) at perl.c:2649
 > #10 0xbb9d07bf in Perl_call_list (my_perl=0xbb702800, oldscope=14, paramList=0xbb7acf8c) at perl.c:4716
 > #11 0xbb9b08a5 in S_process_special_blocks (my_perl=0xbb702800, fullname=<optimized out>, gv=0xbb76bf3c, cv=0xbb61669c)
 >     at op.c:6462
 > #12 0xbb9c2ce9 in Perl_newATTRSUB (my_perl=0xbb702800, floor=309, o=0xbb653c40, proto=0x0, attrs=0x0, block=0xbb653c20)
 >     at op.c:6433
 > #13 0xbb9c3a96 in Perl_utilize (my_perl=0xbb702800, aver=1, floor=309, version=0x0, idop=0xbb6536a0, arg=<optimized out>)
 >     at op.c:4309
 > #14 0xbba1724d in Perl_yyparse (my_perl=0xbb702800, gramtype=258) at perly.y:361
 > #15 0xbbb0df8e in S_doeval (my_perl=0xbb702800, gimme=2, startop=0x0, outside=0x0, seq=385) at pp_ctl.c:3334
 > #16 0xbbb23dc8 in Perl_pp_require (my_perl=0xbb702800) at pp_ctl.c:3906
 > #17 0xbba5907c in Perl_runops_debug (my_perl=0xbb702800) at dump.c:2266
 > #18 0xbb9cfd8a in Perl_call_sv (my_perl=0xbb702800, sv=0xbb76b2ec, flags=14) at perl.c:2649
 > #19 0xbb9d07bf in Perl_call_list (my_perl=0xbb702800, oldscope=8, paramList=0xbb76b01c) at perl.c:4716
 > #20 0xbb9b08a5 in S_process_special_blocks (my_perl=0xbb702800, fullname=<optimized out>, gv=0xbb750bdc, cv=0xbb76b2ec)
 >     at op.c:6462
 > #21 0xbb9c2ce9 in Perl_newATTRSUB (my_perl=0xbb702800, floor=174, o=0xbb6534c0, proto=0x0, attrs=0x0, block=0xbb653480)
 >     at op.c:6433
 > #22 0xbb9c3a96 in Perl_utilize (my_perl=0xbb702800, aver=1, floor=174, version=0x0, idop=0xbb653120, arg=<optimized out>)
 >     at op.c:4309
 > #23 0xbba1724d in Perl_yyparse (my_perl=0xbb702800, gramtype=258) at perly.y:361
 > #24 0xbbb0df8e in S_doeval (my_perl=0xbb702800, gimme=2, startop=0x0, outside=0x0, seq=4294967264) at pp_ctl.c:3334
 > #25 0xbbb23dc8 in Perl_pp_require (my_perl=0xbb702800) at pp_ctl.c:3906
 > #26 0xbba5907c in Perl_runops_debug (my_perl=0xbb702800) at dump.c:2266
 > #27 0xbb9cfd8a in Perl_call_sv (my_perl=0xbb702800, sv=0xbb7509ac, flags=14) at perl.c:2649
 > #28 0xbb9d07bf in Perl_call_list (my_perl=0xbb702800, oldscope=2, paramList=0xbb750a2c) at perl.c:4716
 > #29 0xbb9b08a5 in S_process_special_blocks (my_perl=0xbb702800, fullname=<optimized out>, gv=0xbb750a0c, cv=0xbb7509ac)
 >     at op.c:6462
 > #30 0xbb9c2ce9 in Perl_newATTRSUB (my_perl=0xbb702800, floor=38, o=0xbb75ae80, proto=0x0, attrs=0x0, block=0xbb75aca0) at op.c:6433
 > #31 0xbb9c3a96 in Perl_utilize (my_perl=0xbb702800, aver=1, floor=38, version=0x0, idop=0xbb75ad00, arg=<optimized out>)
 >     at op.c:4309
 > #32 0xbba1724d in Perl_yyparse (my_perl=0xbb702800, gramtype=258) at perly.y:361
 > #33 0xbb9d559f in S_parse_body (my_perl=0xbb702800, env=0x0, xsinit=0x8048cf0 <xs_init>) at perl.c:2196
 > #34 0xbb9d7369 in perl_parse (my_perl=0xbb702800, xsinit=0x8048cf0 <xs_init>, argc=3, argv=0xbfbfda50, env=0x0) at perl.c:1615
 > #35 0x08048dff in main (argc=3, argv=0xbfbfda50, env=0xbfbfda60) at perlmain.c:118
 > (gdb) 
 > 
 > 	This is on a four-way i5 machine. I cannot reproduce the issue
 > 	on an older four-way Xeon machine with netbsd-6;
 > 	pkg_tarup(8)ing the latter's perl and installing on the i5
 > 	displays the same core dump, though.
 > 
 > 	I have seen the assertion with other p5-* packages, so it is
 > 	not genuine to p5-Digest-SHA.
 > 
 > 	perl5 is not built with any funky gcc optimisation flags.

 I wonder if this is the same bug as perl bug 107480:
 https://rt.perl.org/rt3/Public/Bug/Display.html?id=107480

 -- 
 Manuel Bouyer <bouyer@antioche.eu.org>
      NetBSD: 26 ans d'experience feront toujours la difference
 --

From: Hauke Fath <hf@spg.tu-darmstadt.de>
To: gnats-bugs@NetBSD.org
Cc: pkg-manager@NetBSD.org, gnats-admin@NetBSD.org
Subject: Re: pkg/46405: perl5 assertion "SvTYPE(av) == SVt_PVAV" failed
Date: Fri, 4 May 2012 14:29:24 +0200

 At 15:50 Uhr +0000 03.05.2012, Hauke Fath wrote:
 >	perl5 is not built with any funky gcc optimisation flags.

 Playing with gcc optimisation (I tried -O and -O0) via hacks.mk does not
 make a difference, so it's probably not a code generation issue.

 -- 

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.