Skip to content
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

"Attempt to free unreferenced scalar" with nested %SIG-handlers calls #10466

Closed
p5pRT opened this issue Jun 28, 2010 · 6 comments
Closed

"Attempt to free unreferenced scalar" with nested %SIG-handlers calls #10466

p5pRT opened this issue Jun 28, 2010 · 6 comments

Comments

@p5pRT
Copy link

p5pRT commented Jun 28, 2010

Migrated from rt.perl.org#76248 (status was 'resolved')

Searchable as RT76248$

@p5pRT
Copy link
Author

p5pRT commented Jun 28, 2010

From @moonlibs

Created by @moonlibs

$ perl5.10.0 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} = sub { kill USR1 => $$; }; $SIG{USR1} = sub { exit }; kill INT => $$;'
Attempt to free unreferenced scalar​: SV 0x800d76bb8 at -e line 1.

$ perl5.12.0 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} = sub { kill USR1 => $$; }; $SIG{USR1} = sub { exit }; kill INT => $$;'
Attempt to free unreferenced scalar​: SV 0x800e72660 at -e line 1.

$ perl5.13.2 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} = sub { kill USR1 => $$; }; $SIG{USR1} = sub { exit }; kill INT => $$;'
Attempt to free unreferenced scalar​: SV 0x800e76660 at -e line 1.

Perl Info

Flags:
    category=core
    severity=low

Site configuration information for perl 5.12.0:

Configured by mons at Fri May  7 14:44:18 MSD 2010.

Summary of my perl5 (revision 5 version 12 subversion 0) configuration:
   
  Platform:
    osname=freebsd, osvers=7.1-release-p2, archname=amd64-freebsd
    uname='freebsd veda.park.rambler.ru 7.1-release-p2 freebsd 7.1-release-p2 #0: thu feb 12 22:34:21 msk 2009 root@veda.park.rambler.ru:usrobjusrsrcsysdevel amd64 '
    config_args='-des -Dprefix=/home/mons -Duse64bitint -DDEBUG_LEAKING_SCALARS -DDEBUGGING -Dinc_version_list=none -Dccflags=-O2 -march=athlon64 -fomit-frame-pointer -pipe -ggdb -g3 -Doptimize=-O2 -g3'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-O2 -march=athlon64 -fomit-frame-pointer -pipe -ggdb -g3 -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING -fno-strict-aliasing -fstack-protector -I/usr/local/include',
    optimize='-O2 -g3',
    cppflags='-O2 -march=athlon64 -fomit-frame-pointer -pipe -ggdb -g3 -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING -fno-strict-aliasing -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.2.1 20070719  [FreeBSD]', 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='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags ='-Wl,-E  -fstack-protector -L/usr/local/lib'
    libpth=/usr/lib /usr/local/lib
    libs=-lgdbm -lm -lcrypt -lutil -lc
    perllibs=-lm -lcrypt -lutil -lc
    libc=, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib -fstack-protector'

Locally applied patches:
    


@INC for perl 5.12.0:
    /home/mons/perl/perl-ex
    /home/mons/lib/perl5/site_perl/5.12.0/amd64-freebsd
    /home/mons/lib/perl5/site_perl/5.12.0
    /home/mons/lib/perl5/5.12.0/amd64-freebsd
    /home/mons/lib/perl5/5.12.0
    .


Environment for perl 5.12.0:
    HOME=/home/mons
    LANG=en_US.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/mons/home-bin:/home/mons/bin:/home/mons/flex/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/mons/bin
    PERL5LIB=/home/mons/perl/perl-ex
    PERL_BADLANG (unset)
    SHELL=/usr/local/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Jun 30, 2010

From @avar

On Mon, Jun 28, 2010 at 22​:59, mons@​cpan.org <perlbug-followup@​perl.org> wrote​:

$ perl5.10.0 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} = sub { kill USR1 =&gt; $$; }; $SIG{USR1} = sub { exit };  kill INT =&gt; $$;'
Attempt to free unreferenced scalar​: SV 0x800d76bb8 at -e line 1.

$ perl5.12.0 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} = sub { kill USR1 =&gt; $$; }; $SIG{USR1} = sub { exit };  kill INT =&gt; $$;'
Attempt to free unreferenced scalar​: SV 0x800e72660 at -e line 1.

$ perl5.13.2 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} = sub { kill USR1 =&gt; $$; }; $SIG{USR1} = sub { exit };  kill INT =&gt; $$;'
Attempt to free unreferenced scalar​: SV 0x800e76660 at -e line 1.

[Please do not change anything below this line]

No such error in blead for me.

@p5pRT
Copy link
Author

p5pRT commented Jun 30, 2010

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

@p5pRT
Copy link
Author

p5pRT commented Jun 30, 2010

From perl@profvince.com

On Mon, Jun 28, 2010 at 22​:59, mons@​cpan.org <perlbug-followup@​perl.org> wrote​:

$ perl5.10.0 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} = sub { kill USR1 =&gt; $$; }; $SIG{USR1} = sub { exit }; kill INT =&gt; $$;'
Attempt to free unreferenced scalar​: SV 0x800d76bb8 at -e line 1.

$ perl5.12.0 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} = sub { kill USR1 =&gt; $$; }; $SIG{USR1} = sub { exit }; kill INT =&gt; $$;'
Attempt to free unreferenced scalar​: SV 0x800e72660 at -e line 1.

$ perl5.13.2 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} = sub { kill USR1 =&gt; $$; }; $SIG{USR1} = sub { exit }; kill INT =&gt; $$;'
Attempt to free unreferenced scalar​: SV 0x800e76660 at -e line 1.

[Please do not change anything below this line]
No such error in blead for me

It seems like it only happens with non-threaded perls :

$ perl5.12.1-thr-64 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM}
= sub { kill USR1 => $$; }; $SIG{USR1} = sub { exit }; kill INT =&gt; $$;'
$ perl5.12.1-64 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} =
sub { kill USR1 => $$; }; $SIG{USR1} = sub { exit }; kill INT =&gt; $$;'
Attempt to free unreferenced scalar​: SV 0xd88148 at -e line 1.

Vincent.

@p5pRT
Copy link
Author

p5pRT commented Nov 1, 2010

From @iabyn

On Wed, Jun 30, 2010 at 04​:44​:32PM +0200, Vincent Pit wrote​:

On Mon, Jun 28, 2010 at 22​:59, mons@​cpan.org <perlbug-followup@​perl.org> wrote​:

$ perl5.10.0 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} = sub { kill USR1 =&gt; $$; }; $SIG{USR1} = sub { exit }; kill INT =&gt; $$;'
Attempt to free unreferenced scalar​: SV 0x800d76bb8 at -e line 1.

$ perl5.12.0 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} = sub { kill USR1 =&gt; $$; }; $SIG{USR1} = sub { exit }; kill INT =&gt; $$;'
Attempt to free unreferenced scalar​: SV 0x800e72660 at -e line 1.

$ perl5.13.2 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} = sub { kill USR1 =&gt; $$; }; $SIG{USR1} = sub { exit }; kill INT =&gt; $$;'
Attempt to free unreferenced scalar​: SV 0x800e76660 at -e line 1.

[Please do not change anything below this line]
No such error in blead for me

It seems like it only happens with non-threaded perls :

$ perl5.12.1-thr-64 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM}
= sub { kill USR1 => $$; }; $SIG{USR1} = sub { exit }; kill INT =&gt; $$;'
$ perl5.12.1-64 -E '$SIG{INT} = sub { kill TERM => $$ }; $SIG{TERM} =
sub { kill USR1 => $$; }; $SIG{USR1} = sub { exit }; kill INT =&gt; $$;'
Attempt to free unreferenced scalar​: SV 0xd88148 at -e line 1.

Now fixed with 0c4d3b5

--
Music lesson​: a symbiotic relationship whereby a pupil's embellishments
concerning the amount of practice performed since the last lesson are
rewarded with embellishments from the teacher concerning the pupil's
progress over the corresponding period.

@p5pRT
Copy link
Author

p5pRT commented Nov 1, 2010

@iabyn - Status changed from 'open' to 'resolved'

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

No branches or pull requests

1 participant