We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
This is a bug report for perl from [email protected], generated with the help of perlbug 1.41 running under perl 5.31.10.
[Please describe your issue here]
While fuzzing perl v5.31.9-70-g0c96aa4b7b built with afl and run under libdislocator, I found the following program
for(0){format= @ my%{format= @ sub l; @ my%{format= @ sub l000l0u0; @ sub l000l0u0{t f l}
to cause an assertion failure
perl: pad.c:2341: Perl_pad_fixup_inner_anons: Assertion `SvTYPE(cv) == SVt_PVCV' failed.
GDB stack trace is:
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007ffff7c24535 in __GI_abort () at abort.c:79 #2 0x00007ffff7c2440f in __assert_fail_base (fmt=0x7ffff7d86ee0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5555559c2ee9 "SvTYPE(cv) == SVt_PVCV", file=0x5555559c2dcb "pad.c", line=2341, function=) at assert.c:92 #3 0x00007ffff7c32102 in __GI___assert_fail (assertion=0x5555559c2ee9 "SvTYPE(cv) == SVt_PVCV", file=0x5555559c2dcb "pad.c", line=2341, function=0x5555559c4370 <PRETTY_FUNCTION.19244> "Perl_pad_fixup_inner_anons") at assert.c:101 #4 0x000055555567f919 in Perl_pad_fixup_inner_anons (padlist=0x555555c34300, old_cv=0x555555c29dd8, new_cv=0x555555c29d78) at pad.c:2341 #5 0x00005555555c8e60 in Perl_newMYSUB (floor=325, o=0x555555c33f88, proto=0x0, attrs=0x0, block=0x555555c349f0) at op.c:10944 #6 0x0000555555670eaf in Perl_yyparse (gramtype=258) at perly.y:308 #7 0x00005555555f1557 in S_parse_body (env=0x0, xsinit=0x5555555a220f <xs_init>) at perl.c:2579 #8 0x00005555555ef81b in perl_parse (my_perl=0x555555c03260, xsinit=0x5555555a220f <xs_init>, argc=2, argv=0x7fffffffe1b8, env=0x0) at perl.c:1870 #9 0x00005555555a214d in main (argc=2, argv=0x7fffffffe1b8, env=0x7fffffffe1d0) at perlmain.c:132
Bisect points to the following commit, which suggests that the previous fix was not complete:
commit 95c0a76 Author: Father Chrysostomos [email protected] Date: Sat Sep 10 07:27:43 2016 -0700
pad.c:pad_fixup_inner_anons: Add assertions These would have made it easier to track down the bug fixed by the previous commit.
[Please do not change anything below this line] Flags: category=core severity=low Site configuration information for perl 5.31.10:
Configured by root at Fri Mar 13 17:15:02 MSK 2020.
Summary of my perl5 (revision 5 version 31 subversion 10) configuration: Commit id: 0c96aa4 Platform: osname=linux osvers=4.19.0-8-amd64 archname=x86_64-linux uname='linux dorothy 4.19.0-8-amd64 #1 smp debian 4.19.98-1 (2020-01-26) x86_64 gnulinux ' config_args='-de -Dusedevel -Doptimize=-O2' hint=recommended useposix=true d_sigaction=define useithreads=undef usemultiplicity=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='cc' ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2' optimize='-O2' cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include' ccversion='' gccversion='8.3.0' 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='cc' ldflags =' -fstack-protector-strong -L/usr/local/lib' libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/8/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=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc libc=libc-2.28.so so=so useshrplib=false libperl=libperl.a gnulibc_version='2.28' Dynamic Linking: dlsrc=dl_dlopen.xs dlext=so d_dlsymun=undef ccdlflags='-Wl,-E' cccdlflags='-fPIC' lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'
@inc for perl 5.31.10: lib /usr/local/lib/perl5/site_perl/5.31.10/x86_64-linux /usr/local/lib/perl5/site_perl/5.31.10 /usr/local/lib/perl5/5.31.10/x86_64-linux /usr/local/lib/perl5/5.31.10
Environment for perl 5.31.10: HOME=/home/afl LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_CTYPE=en_US.UTF-8 LC_TIME=C LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/home/afl/perlbrew/bin:/home/afl/perlbrew/perls/perl-5.30.0-dbg/bin:/opt/local/bin:/usr/texbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PERLBREW_HOME=/home/afl/.perlbrew PERLBREW_MANPATH=/home/afl/perlbrew/perls/perl-5.30.0-dbg/man PERLBREW_PATH=/home/afl/perlbrew/bin:/home/afl/perlbrew/perls/perl-5.30.0-dbg/bin PERLBREW_PERL=perl-5.30.0-dbg PERLBREW_ROOT=/home/afl/perlbrew PERLBREW_SHELLRC_VERSION=0.88 PERLBREW_VERSION=0.88 PERL_BADLANG (unset)
The text was updated successfully, but these errors were encountered:
No branches or pull requests
This is a bug report for perl from [email protected],
generated with the help of perlbug 1.41 running under perl 5.31.10.
[Please describe your issue here]
While fuzzing perl v5.31.9-70-g0c96aa4b7b built with afl and run
under libdislocator, I found the following program
to cause an assertion failure
perl: pad.c:2341: Perl_pad_fixup_inner_anons: Assertion `SvTYPE(cv) == SVt_PVCV' failed.
GDB stack trace is:
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff7c24535 in __GI_abort () at abort.c:79
#2 0x00007ffff7c2440f in __assert_fail_base (fmt=0x7ffff7d86ee0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=0x5555559c2ee9 "SvTYPE(cv) == SVt_PVCV", file=0x5555559c2dcb "pad.c", line=2341, function=) at assert.c:92
#3 0x00007ffff7c32102 in __GI___assert_fail (assertion=0x5555559c2ee9 "SvTYPE(cv) == SVt_PVCV", file=0x5555559c2dcb "pad.c", line=2341,
function=0x5555559c4370 <PRETTY_FUNCTION.19244> "Perl_pad_fixup_inner_anons") at assert.c:101
#4 0x000055555567f919 in Perl_pad_fixup_inner_anons (padlist=0x555555c34300, old_cv=0x555555c29dd8, new_cv=0x555555c29d78) at pad.c:2341
#5 0x00005555555c8e60 in Perl_newMYSUB (floor=325, o=0x555555c33f88, proto=0x0, attrs=0x0, block=0x555555c349f0) at op.c:10944
#6 0x0000555555670eaf in Perl_yyparse (gramtype=258) at perly.y:308
#7 0x00005555555f1557 in S_parse_body (env=0x0, xsinit=0x5555555a220f <xs_init>) at perl.c:2579
#8 0x00005555555ef81b in perl_parse (my_perl=0x555555c03260, xsinit=0x5555555a220f <xs_init>, argc=2, argv=0x7fffffffe1b8, env=0x0) at perl.c:1870
#9 0x00005555555a214d in main (argc=2, argv=0x7fffffffe1b8, env=0x7fffffffe1d0) at perlmain.c:132
Bisect points to the following commit, which suggests that the previous fix was not complete:
commit 95c0a76
Author: Father Chrysostomos [email protected]
Date: Sat Sep 10 07:27:43 2016 -0700
[Please do not change anything below this line]
Flags:
category=core
severity=low
Site configuration information for perl 5.31.10:
Configured by root at Fri Mar 13 17:15:02 MSK 2020.
Summary of my perl5 (revision 5 version 31 subversion 10) configuration:
Commit id: 0c96aa4
Platform:
osname=linux
osvers=4.19.0-8-amd64
archname=x86_64-linux
uname='linux dorothy 4.19.0-8-amd64 #1 smp debian 4.19.98-1 (2020-01-26) x86_64 gnulinux '
config_args='-de -Dusedevel -Doptimize=-O2'
hint=recommended
useposix=true
d_sigaction=define
useithreads=undef
usemultiplicity=undef
use64bitint=define
use64bitall=define
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
bincompat5005=undef
Compiler:
cc='cc'
ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2'
optimize='-O2'
cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
ccversion=''
gccversion='8.3.0'
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='cc'
ldflags =' -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/8/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=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=libc-2.28.so
so=so
useshrplib=false
libperl=libperl.a
gnulibc_version='2.28'
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=so
d_dlsymun=undef
ccdlflags='-Wl,-E'
cccdlflags='-fPIC'
lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'
@inc for perl 5.31.10:
lib
/usr/local/lib/perl5/site_perl/5.31.10/x86_64-linux
/usr/local/lib/perl5/site_perl/5.31.10
/usr/local/lib/perl5/5.31.10/x86_64-linux
/usr/local/lib/perl5/5.31.10
Environment for perl 5.31.10:
HOME=/home/afl
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=en_US.UTF-8
LC_TIME=C
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=/home/afl/perlbrew/bin:/home/afl/perlbrew/perls/perl-5.30.0-dbg/bin:/opt/local/bin:/usr/texbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PERLBREW_HOME=/home/afl/.perlbrew
PERLBREW_MANPATH=/home/afl/perlbrew/perls/perl-5.30.0-dbg/man
PERLBREW_PATH=/home/afl/perlbrew/bin:/home/afl/perlbrew/perls/perl-5.30.0-dbg/bin
PERLBREW_PERL=perl-5.30.0-dbg
PERLBREW_ROOT=/home/afl/perlbrew
PERLBREW_SHELLRC_VERSION=0.88
PERLBREW_VERSION=0.88
PERL_BADLANG (unset)
The text was updated successfully, but these errors were encountered: