FW: Localizing %SIG in Safe.pm 2.{35,36,37} crashes POE::Wheel::Run ...

[email protected] (Markus Jansen) Tue, 16 Jul 2013 16:00:41 +0000
Newsgroups perl.poe
Message-ID <[email protected]>
Hi,

FYI ... hope none of you wastes time with this really nasty trap ...

Best regards,
	Markus

-----Original Message-----
From: Markus Jansen=20
Sent: Tuesday, July 16, 2013 5:57 PM
To: [email protected]
Cc: Markus Jansen
Subject: Localizing %SIG in Safe.pm 2.{35,36,37} crashes POE::Wheel::Run ..=
.


This is a bug report for perl from [email protected], generated wi=
th the help of perlbug 1.39 running under perl 5.18.0.


-----------------------------------------------------------------
[Please describe your issue here]

Dear Perl5 Porters,

localizing %SIG in Safe.pm 2.35 (on CPAN, 2.{35,36,37} in Perl core) may be=
 a great step for security, but it unfortunatately spoils POE::Wheel::Run (=
basically POE and all other asynchronous frameworks dealing with external p=
rocesses).

The symptom experienced is that your application might sooner or later cras=
h (reliably when using POE::Component::Resolver upon exiting a Sidecar subp=
rocess) with the following famous last words:

	Signal SIGCHLD received, but no signal handler set.

Please consider a version (also on CPAN) of Safe.pm which has e.g. the loca=
lization of %SIG as a switchable feature.

Best regards,
	Markus



[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=3Dlibrary
    severity=3Dcritical
    module=3DSafe
---
Site configuration information for perl 5.18.0:

Configured by ericsson at Fri Jul 12 19:17:48 CEST 2013.

Summary of my perl5 (revision 5 version 18 subversion 0) configuration:
  =20
  Platform:
    osname=3Dlinux, osvers=3D2.6.16.60-0.42.10-smp, archname=3Dx86_64-linux=
-thread-multi
    uname=3D'linux sekix562 2.6.16.60-0.42.10-smp #1 smp tue apr 27 05:11:2=
7 utc 2010 x86_64 x86_64 x86_64 gnulinux '
    config_args=3D'-d -e -O -D cc=3Dgcc -D prefix=3D/vobs/cc/CCA-perl01/per=
l5_Linux_x64__________sixtyfive_char_path/prod -D usemultiplicity -U use500=
5threads -D usedl -D useshrplib -D libperl=3Dlibcmacperl.so -U usemymalloc =
-D cf_by=3Dericsson -D [email protected] -D perladmin=
[email protected] -D uselargefiles -D usethreads -D useithrea=
ds -D use64bitall -D ldcc=3DCC -D optimize=3D-O3 -D locincpth=3D/vobs/cc/CC=
A-perl01/perl5_Linux_x64__________sixtyfive_char_path/plib/include /vobs/cc=
/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/plib/apache/includ=
e -D loclibpth=3D/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_cha=
r_path/plib/lib /vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char=
_path/plib/apache/lib -D lddlflags=3D-shared -lpthread -Wl,-L/vobs/cc/CCA-p=
erl01/perl5_Linux_x64__________sixtyfive_char_path/prod/lib/5.18.0/x86_64-l=
inux-thread-multi/CORE -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_Linux_x64______=
____sixtyfive_char_path/prod/lib/5.18.0
 /x86_64-linux-thread-multi/CORE -Wl,-L/vobs/cc/CCA-perl01/perl5_Linux_x64_=
_________sixtyfive_char_path/plib/lib -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_=
Linux_x64__________sixtyfive_char_path/plib/lib -Wl,-L/vobs/cc/CCA-perl01/p=
erl5_Linux_x64__________sixtyfive_char_path/plib/apache/lib -Wl,-rpath,/vob=
s/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/plib/apache/li=
b -Wl,--enable-new-dtags -D ldflags=3D-lpthread -Wl,-L/vobs/cc/CCA-perl01/p=
erl5_Linux_x64__________sixtyfive_char_path/prod/lib/5.18.0/x86_64-linux-th=
read-multi/CORE -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_Linux_x64__________six=
tyfive_char_path/prod/lib/5.18.0/x86_64-linux-thread-multi/CORE -Wl,-L/vobs=
/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/plib/lib -Wl,-r=
path,/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/plib/=
lib -Wl,-L/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/=
plib/apache/lib -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_Linux_x64__________six=
tyfive_char_path/
 plib/apache/lib -Wl,--enable-new-dtags -D ccdlflags=3D-Bdynamic -Wl,-L/vob=
s/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/prod/lib/5.18.=
0/x86_64-linux-thread-multi/CORE -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_Linux=
_x64__________sixtyfive_char_path/prod/lib/5.18.0/x86_64-linux-thread-multi=
/CORE -Wl,-L/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_pat=
h/plib/lib -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfiv=
e_char_path/plib/lib -Wl,-L/vobs/cc/CCA-perl01/perl5_Linux_x64__________six=
tyfive_char_path/plib/apache/lib -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_Linux=
_x64__________sixtyfive_char_path/plib/apache/lib -D ldlibpthname=3DLD_LIBR=
ARY_PATH -D cccdlflags=3D-fPIC -D dlsrc=3Ddl_dlopen.xs -D ccflags=3D-O2 -D_=
REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -pthread -DPERL_IMPLICIT_CONTEX=
T -DPERL_USE_SAFE_PUTENV -m64 -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=
=3D64 -fPIC -D so=3Dso -D libswanted=3Dnsl dl m crypt pthread c'
    hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine
    useithreads=3Ddefine, usemultiplicity=3Ddefine
    useperlio=3Ddefine, d_sfio=3Dundef, uselargefiles=3Ddefine, usesocks=3D=
undef
    use64bitint=3Ddefine, use64bitall=3Ddefine, uselongdouble=3Dundef
    usemymalloc=3Dn, bincompat5005=3Dundef
  Compiler:
    cc=3D'gcc', ccflags =3D'-D_REENTRANT -D_GNU_SOURCE -O2 -D_REENTRANT -D_=
GNU_SOURCE -DTHREADS_HAVE_PIDS -pthread -DPERL_IMPLICIT_CONTEXT -DPERL_USE_=
SAFE_PUTENV -m64 -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -fPIC -=
fno-strict-aliasing -fstack-protector -I/vobs/cc/CCA-perl01/perl5_Linux_x64=
__________sixtyfive_char_path/plib/include -I/vobs/cc/CCA-perl01/perl5_Linu=
x_x64__________sixtyfive_char_path/plib/apache/include -D_LARGEFILE_SOURCE =
-D_FILE_OFFSET_BITS=3D64',
    optimize=3D'-O3',
    cppflags=3D'-D_REENTRANT -D_GNU_SOURCE -O2 -D_REENTRANT -D_GNU_SOURCE -=
DTHREADS_HAVE_PIDS -pthread -DPERL_IMPLICIT_CONTEXT -DPERL_USE_SAFE_PUTENV =
-m64 -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -fPIC -fno-strict-a=
liasing -fstack-protector -I/vobs/cc/CCA-perl01/perl5_Linux_x64__________si=
xtyfive_char_path/plib/include -I/vobs/cc/CCA-perl01/perl5_Linux_x64_______=
___sixtyfive_char_path/plib/apache/include'
    ccversion=3D'', gccversion=3D'4.1.2 20070115 (SUSE Linux)', gccosandver=
s=3D''
    intsize=3D4, longsize=3D8, ptrsize=3D8, doublesize=3D8, byteorder=3D123=
45678
    d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine, longdblsize=
=3D16
    ivtype=3D'long', ivsize=3D8, nvtype=3D'double', nvsize=3D8, Off_t=3D'of=
f_t', lseeksize=3D8
    alignbytes=3D8, prototype=3Ddefine
  Linker and Libraries:
    ld=3D'gcc', ldflags =3D'-lpthread -Wl,-L/vobs/cc/CCA-perl01/perl5_Linux=
_x64__________sixtyfive_char_path/prod/lib/5.18.0/x86_64-linux-thread-multi=
/CORE -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_cha=
r_path/prod/lib/5.18.0/x86_64-linux-thread-multi/CORE -Wl,-L/vobs/cc/CCA-pe=
rl01/perl5_Linux_x64__________sixtyfive_char_path/plib/lib -Wl,-rpath,/vobs=
/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/plib/lib -Wl,-L=
/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/plib/apach=
e/lib -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_cha=
r_path/plib/apache/lib -Wl,--enable-new-dtags -fstack-protector'
    libpth=3D/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_pa=
th/plib/lib /vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_pat=
h/plib/apache/lib /lib/../lib64 /usr/lib/../lib64 /lib /usr/lib /usr/local/=
lib /lib64 /usr/lib64 /usr/local/lib64
    libs=3D-lnsl -ldl -lm -lcrypt -lpthread -lc
    perllibs=3D-lnsl -ldl -lm -lcrypt -lpthread -lc
    libc=3D/lib/libc-2.4.so, so=3Dso, useshrplib=3Dtrue, libperl=3Dlibcmacp=
erl.so
    gnulibc_version=3D'2.4'
  Dynamic Linking:
    dlsrc=3Ddl_dlopen.xs, dlext=3Dso, d_dlsymun=3Dundef, ccdlflags=3D'-Bdyn=
amic -Wl,-L/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path=
/prod/lib/5.18.0/x86_64-linux-thread-multi/CORE -Wl,-rpath,/vobs/cc/CCA-per=
l01/perl5_Linux_x64__________sixtyfive_char_path/prod/lib/5.18.0/x86_64-lin=
ux-thread-multi/CORE -Wl,-L/vobs/cc/CCA-perl01/perl5_Linux_x64__________six=
tyfive_char_path/plib/lib -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_Linux_x64___=
_______sixtyfive_char_path/plib/lib -Wl,-L/vobs/cc/CCA-perl01/perl5_Linux_x=
64__________sixtyfive_char_path/plib/apache/lib -Wl,-rpath,/vobs/cc/CCA-per=
l01/perl5_Linux_x64__________sixtyfive_char_path/plib/apache/lib'
    cccdlflags=3D'-fPIC', lddlflags=3D'-shared -lpthread -Wl,-L/vobs/cc/CCA=
-perl01/perl5_Linux_x64__________sixtyfive_char_path/prod/lib/5.18.0/x86_64=
-linux-thread-multi/CORE -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_Linux_x64____=
______sixtyfive_char_path/prod/lib/5.18.0/x86_64-linux-thread-multi/CORE -W=
l,-L/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/plib/l=
ib -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_p=
ath/plib/lib -Wl,-L/vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_c=
har_path/plib/apache/lib -Wl,-rpath,/vobs/cc/CCA-perl01/perl5_Linux_x64____=
______sixtyfive_char_path/plib/apache/lib -Wl,--enable-new-dtags -fstack-pr=
otector'

Locally applied patches:
   =20

---
@INC for perl 5.18.0:
    /vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/prod/l=
ib/site_perl/5.18.0/x86_64-linux-thread-multi
    /vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/prod/l=
ib/site_perl/5.18.0
    /vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/prod/l=
ib/5.18.0/x86_64-linux-thread-multi
    /vobs/cc/CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/prod/l=
ib/5.18.0
    .

---
Environment for perl 5.18.0:
    HOME=3D/home/eedmja
    LANG=3Den_US.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=3D/tmp/_cc_CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path=
/prod/bin:/tmp/_cc_CCA-perl01/perl5_Linux_x64__________sixtyfive_char_path/=
plib/bin:/bin:/usr/bin:/sbin:/usr/sbin:/opt/gnome/bin:/opt/kde3/bin:/usr/bi=
n/X11:/home/eedmja/bin:/opt/rational/clearcase/bin
    PERL_BADLANG (unset)
    SHELL=3D/bin/tcsh