Skip to content

scope.c:529: Perl_save_clearsv: Assertion `(_svpad)->sv_flags & 0x00040000' failed. #12165

New issue

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

Closed
p5pRT opened this issue Jun 10, 2012 · 9 comments
Closed

Comments

@p5pRT
Copy link

p5pRT commented Jun 10, 2012

Migrated from rt.perl.org#113574 (status was 'rejected')

Searchable as RT113574$

@p5pRT
Copy link
Author

p5pRT commented Jun 10, 2012

From @daxim

Created by @daxim

crashes often under Devel​::REPL, gdb backtrace​:

$ gdb perl
GNU gdb (GDB) SUSE (7.3-41.1.2)
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 "x86_64-suse-linux".
For bug reporting instructions, please see​:
<http​://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/daxim/local/share/perlbrew/perls/perl-5.16.0/bin/perl...done.
(gdb) run `which re.pl`
Starting program​: /home/daxim/local/share/perlbrew/perls/perl-5.16.0/bin/perl `which re.pl`
$ use ClassLoader; my $f = Archive​::Any->new("/")
perl​: scope.c​:529​: Perl_save_clearsv​: Assertion `(_svpad)->sv_flags & 0x00040000' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff711bb25 in raise () from /lib64/libc.so.6
(gdb) bt full
#0 0x00007ffff711bb25 in raise () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007ffff711cf9b in abort () from /lib64/libc.so.6
No symbol table info available.
#2 0x00007ffff71149fe in __assert_fail_base () from /lib64/libc.so.6
No symbol table info available.
#3 0x00007ffff7114aa2 in __assert_fail () from /lib64/libc.so.6
No symbol table info available.
#4 0x0000000000550a6c in Perl_save_clearsv (my_perl=0x89c010, svp=<optimized out>) at scope.c​:529
  _svpad = <optimized out>
  offset = <optimized out>
  offset_shifted = <optimized out>
  __PRETTY_FUNCTION__ = "Perl_save_clearsv"
#5 0x00000000004f9dc1 in Perl_pp_padsv (my_perl=0x89c010) at pp_hot.c​:312
  sp = 0x246c690
  targ = 0x34b9648
#6 0x00000000004bebe8 in Perl_runops_debug (my_perl=0x89c010) at dump.c​:2119
No locals.
#7 0x0000000000441410 in Perl_call_sv (my_perl=0x89c010, sv=0x8d2b28, flags=13) at perl.c​:2705
  sp = <optimized out>
  myop = {op_next = 0x0, op_sibling = 0x0, op_ppaddr = 0, op_targ = 0, op_type = 0, op_opt = 0, op_latefree = 0, op_latefreed = 0, op_attached = 0, op_spare = 0,
  op_flags = 65 'A', op_private = 0 '\000', op_first = 0x0, op_other = 0x7fffffffd0b0}
  method_op = {op_next = 0x0, op_sibling = 0x80, op_ppaddr = 0, op_targ = 210453397510, op_type = 91, op_opt = 0, op_latefree = 0, op_latefreed = 0,
  op_attached = 0, op_spare = 0, op_flags = 0 '\000', op_private = 0 '\000', op_first = 0x7c00000077}
  oldmark = 0
  retval = 0
  oldscope = 4
  oldcatch = false
  ret = <optimized out>
  oldop = 0x0
  cur_env = {je_prev = 0x7fffffffd1b0, je_buf = {{__jmpbuf = {9251624, -8184946506956403117, 9050128, 140737488343216, 1, 0, 8184946505334525523,
  -8184947021819802029}, __mask_was_saved = 0, __saved_mask = {__val = {9251864, 18446744073709551615, 9027600, 0, 9029688, 9027600, 9251864, 5, 9251840, 1,
  9027600, 9288592, 5, 9251840, 1, 4330461}}}}, je_ret = 3, je_mustcatch = false}
  __PRETTY_FUNCTION__ = "Perl_call_sv"
#8 0x0000000000441f07 in Perl_call_list (my_perl=0x89c010, oldscope=2, paramList=0x8d2c30) at perl.c​:4782
  atsv = <optimized out>
  oldline = 3
  cv = 0x8d2b28
  len = 9251840
  ret = <optimized out>
  cur_env = {je_prev = 0x7fffffffd5d0, je_buf = {{__jmpbuf = {9027600, -8184945294299230637, 9251624, 2, 1, 0, 8184946505426800211, -8184947021518860717},
  __mask_was_saved = 0, __saved_mask = {__val = {9047120, 9047120, 0, 9251888, 9251624, 0, 9027600, 1, 0, 5143726, 0, 5281746, 9251840, 1, 0, 9029112}}}},
  je_ret = 0, je_mustcatch = false}
  __PRETTY_FUNCTION__ = "Perl_call_list"
#9 0x00000000004207e8 in S_process_special_blocks (my_perl=0x89c010, fullname=<optimized out>, gv=0x8d2c00, cv=0x8d2b28) at op.c​:6882
  oldscope = 2
  colon = <optimized out>
  name = <optimized out>
  __PRETTY_FUNCTION__ = "S_process_special_blocks"
#10 0x0000000000439228 in Perl_newATTRSUB_flags (my_perl=0x89c010, floor=37, o=<optimized out>, proto=<optimized out>, attrs=0x0, block=0x8dbea0, flags=0) at op.c​:6852
---Type <return> to continue, or q <return> to quit---
  gv = <optimized out>
  ps = <optimized out>
  ps_len = 0
  ps_utf8 = 0
  cv = 0x8d2b28
  const_sv = 0x0
  gv_fetch_flags = <optimized out>
  namlen = 5
  o_is_gv = <optimized out>
  name = <optimized out>
  __PRETTY_FUNCTION__ = "Perl_newATTRSUB_flags"
  has_name = <optimized out>
  name_is_utf8 = false
#11 0x000000000043a050 in Perl_newATTRSUB (my_perl=<optimized out>, floor=<optimized out>, o=<optimized out>, proto=<optimized out>, attrs=<optimized out>,
  block=<optimized out>) at op.c​:6499
No locals.
#12 0x000000000043a482 in Perl_utilize (my_perl=0x89c010, aver=1, floor=37, version=<optimized out>, idop=0x8dab70, arg=<optimized out>) at op.c​:4681
  pack = <optimized out>
  imop = <optimized out>
  veop = <optimized out>
  use_version = 0x0
#13 0x00000000004816b2 in Perl_yyparse (my_perl=0x89c010, gramtype=<optimized out>) at perly.y​:363
  yystate = <optimized out>
  yyn = 32
  yyresult = <optimized out>
  yytoken = 20
  parser = 0x8d6df0
  ps = 0x8d7330
  yyval = <optimized out>
  __PRETTY_FUNCTION__ = "Perl_yyparse"
#14 0x00000000004464df in S_parse_body (my_perl=0x89c010, env=0x0, xsinit=0x420280 <xs_init>) at perl.c​:2246
  rsfp = 0x8bcb20
  argc = <optimized out>
  argv = 0x7fffffffd810
  scriptname = <optimized out>
  dosearch = false
  c = <optimized out>
  doextract = <optimized out>
  cddir = <optimized out>
  linestr_sv = 0x0
  add_read_e_script = <optimized out>
  lex_start_flags = 0
  __PRETTY_FUNCTION__ = "S_parse_body"
#15 0x0000000000447eba in perl_parse (my_perl=0x89c010, xsinit=0x420280 <xs_init>, argc=2, argv=<optimized out>, env=0x0) at perl.c​:1633
  oldscope = 1
  ret = 0
  cur_env = {je_prev = 0x89c288, je_buf = {{__jmpbuf = {140737488345096, -8184946506956140973, 9024520, 0, 0, 0, 8184946505535852115, -8184947022552756653},
  __mask_was_saved = 0, __saved_mask = {__val = {0, 9083296, 0, 0, 9027600, 9027600, 9042000, 140737353799336, 140737488345088, 0, 0, 5281746,
  140737488345088, 4988007, 9027600, 9027600}}}}, je_ret = 0, je_mustcatch = false}
  __PRETTY_FUNCTION__ = "perl_parse"
---Type <return> to continue, or q <return> to quit---
#16 0x00000000004200db in main (argc=2, argv=0x7fffffffd808, env=0x7fffffffd820) at perlmain.c​:118
  exitstatus = <optimized out>
  i = <optimized out>

Perl Info

Flags:
    category=core
    severity=low

Site configuration information for perl 5.16.0:

Configured by daxim at Tue May 22 09:09:52 CEST 2012.

Summary of my perl5 (revision 5 version 16 subversion 0) configuration:
   
  Platform:
    osname=linux, osvers=3.1.10-1.9-desktop, archname=x86_64-linux-thread-multi-ld
    uname='linux champion 3.1.10-1.9-desktop #1 smp preempt thu apr 5 18:48:38 utc 2012 (4a97ec8) x86_64 x86_64 x86_64 gnulinux '
    config_args='-de -Dprefix=/home/daxim/local/share/perlbrew/perls/perl-5.16.0 -DDEBUGGING -Dusemorebits -Dusethreads [email protected] [email protected] -Accflags=-fPIC'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=define, uselongdouble=define
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -g',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.6.2', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='long double', nvsize=16, Off_t='off_t', lseeksize=8
    alignbytes=16, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
    libpth=/usr/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
    libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=/lib/libc-2.15.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.15'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector'

Locally applied patches:
    


@INC for perl 5.16.0:
    /home/daxim/local/share/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/x86_64-linux-thread-multi-ld
    /home/daxim/local/share/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0
    /home/daxim/local/share/perlbrew/perls/perl-5.16.0/lib/5.16.0/x86_64-linux-thread-multi-ld
    /home/daxim/local/share/perlbrew/perls/perl-5.16.0/lib/5.16.0
    .


Environment for perl 5.16.0:
    HOME=/home/daxim
    LANG=de_DE.UTF-8
    LANGUAGE=
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/daxim/local/share/perlbrew/bin:/home/daxim/local/share/perlbrew/perls/perl-5.16.0/bin:/home/daxim/local/bin:/opt/kde3/sbin:/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib64/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/lib/qt3/bin
    PERLBREW_BASHRC_VERSION=0.42
    PERLBREW_HOME=/home/daxim/.perlbrew
    PERLBREW_MANPATH=/home/daxim/local/share/perlbrew/perls/perl-5.16.0/man
    PERLBREW_PATH=/home/daxim/local/share/perlbrew/bin:/home/daxim/local/share/perlbrew/perls/perl-5.16.0/bin
    PERLBREW_PERL=perl-5.16.0
    PERLBREW_ROOT=/home/daxim/local/share/perlbrew
    PERLBREW_VERSION=0.42
    PERL_BADLANG (unset)
    SHELL=/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Jun 11, 2012

From @iabyn

On Sun, Jun 10, 2012 at 11​:04​:17AM -0700, Lars Dɪá´�á´�á´�á´�á´¡ 迪æ��æ�¯ wrote​:

crashes often under Devel​::REPL, gdb backtrace​:

Thanks for the report.

The assert and backtrace show that perl is somewhere in the middle of
executing a file loaded via 'use', and that it is just executing a
'my $foo' instruction, but has discovered that the 'foo' in the relevant
pad slot isn't marked as being a lexical var.

Other than that, there's not a lot more that can be deduced. Are you able
to supply a complete working test script that can reproduce the problem;
preferable one that is stripped down as far as possible, and that has as
few external dependencies as possible?

--
The Enterprise is involved in a bizarre time-warp experience which is in
some way unconnected with the Late 20th Century.
  -- Things That Never Happen in "Star Trek" #14

@p5pRT
Copy link
Author

p5pRT commented Jun 11, 2012

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Jun 12, 2012

From @daxim

I don't know how to strip this down. I already asked on #p5p for help,
but got warnocked.

  > perlbrew -n -v install perl-5.16.0 --as perl-RT113574 -DDEBUGGING
  -Dusemorebits -Dusethreads -Dcf_email=daxim@​cpan.org
  -Dperladmin=daxim@​cpan.org -Accflags=-fPIC

  > perlbrew switch perl-RT113574

  > cpanm -n Devel​::REPL ClassLoader Archive​::Any File​::Next
  B​::Keywords Term​::ReadLine​::Gnu

  > re.pl

  $ use ClassLoader; my $f = Archive​::Any->new("/")
  perl​: scope.c​:529​: Perl_save_clearsv​: Assertion `(_svpad)->sv_flags
  & 0x00040000' failed.
  Aborted

@p5pRT
Copy link
Author

p5pRT commented Jun 12, 2012

From @iabyn

On Mon, Jun 11, 2012 at 10​:09​:36PM +0200, Lars Dɪá´�á´�á´�á´�á´¡ 迪æ��æ�¯ wrote​:

I don't know how to strip this down. I already asked on #p5p for help,
but got warnocked.

Unless I'm missing something, you haven't supplied the re.pl test script
yet. Even not stripped down, that would be something to work with.

--
Atheism is a religion like not collecting stamps is a hobby

@p5pRT
Copy link
Author

p5pRT commented Jun 12, 2012

From @rurban

On Tue, Jun 12, 2012 at 7​:39 AM, Dave Mitchell <davem@​iabyn.com> wrote​:

On Mon, Jun 11, 2012 at 10​:09​:36PM +0200, Lars Dɪá´�á´�á´�á´�á´¡ 迪æ��æ�¯ wrote​:

I don't know how to strip this down. I already asked on #p5p for help,
but got warnocked.

Unless I'm missing something, you haven't supplied the re.pl test script
yet. Even not stripped down, that would be something to work with.

Devel​::REPL installs it.
It contains

use Devel​::REPL​::Script 'run'
--
Reini Urban
http​://cpanel.net/   http​://www.perl-compiler.org/

@p5pRT
Copy link
Author

p5pRT commented Oct 10, 2012

From @daxim

known bug in Devel​::LexAlias

https://rt.cpan.org/Ticket/Display.html?id=74862

@p5pRT
Copy link
Author

p5pRT commented Oct 10, 2012

From [Unknown Contact. See original ticket]

known bug in Devel​::LexAlias

https://rt.cpan.org/Ticket/Display.html?id=74862

@p5pRT
Copy link
Author

p5pRT commented Oct 10, 2012

@daxim - Status changed from 'open' to 'rejected'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant