FW: Localizing %SIG in Safe.pm 2.{35,36,37} crashes POE::Wheel::Run ...
Markus Jansen <[email protected]> Tue, 16 Jul 2013 16:00:41 +0000
| Newsgroups | gmane.comp.lang.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