Hi all,
Steffen Mueller wrote:
perl -Iblib/lib -Iblib/arch -MWx -e1
panic: free from wrong pool during global destruction.
The same happens for make test, of course.
Now, I'm entirely stuck here. I have no idea how to debug this issue, my
C debugging skills are sub-par. I'd love to hear how to get around this
initial obstacle, but I'd even prefer to learn how to debug these issues
myself. Any ideas how?
I have some more data:
perl -MWx -e '$ENV{foo}="bar";'
crashes with:
panic: realloc from wrong pool at -e line 1.
panic: free from wrong pool during global destruction.
The former (realloc) error is coming from that ENV assignment for sure.
If I run it in a larger app, a line with an ENV assignment is reported
to be the culprit of the first panic.
So the issue seems to be related to what Mattia mentioned in the old
thread I mentioned in my previous mail. Maybe the Configure flag that is
supposed to disable direct ENV manipulation doesn't work correctly? This
is what I get from perl -V:
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Commit id: 40edd7616a55c8335ed4178a5c0ad56ea437030f
Platform:
osname=linux, osvers=2.6.27-11-generic,
archname=x86_64-linux-thread-multi
uname='linux l3tsee 2.6.27-11-generic #1 smp wed apr 1 20:53:41 utc
2009 x86_64 gnulinux '
config_args='-Dprefix=/home/tsee/bleadperl/install_maint_5.10
-DDEBUGGING -Dusethreads -Duse64bitall -Dusedevel
-DDEBUG_LEAKING_SCALARS -DPERL_USE_SAFE_PUTENV -de'
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=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -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 -DDEBUGGING
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.3.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='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64
libs=-lnsl -lgdbm -ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.8.90.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.8.90'
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'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
PERL_TRACK_MEMPOOL PERL_USE_DEVEL USE_64_BIT_ALL
USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_REENTRANT_API
Built under linux
Compiled at Apr 15 2009 09:38:37
%ENV:
PERL5LIB="/home/tsee/src/Steffen/perl5lib"
@INC:
/home/tsee/src/Steffen/perl5lib
/home/tsee/bleadperl/install_maint_5.10/lib/5.10.0/x86_64-linux-thread-multi
/home/tsee/bleadperl/install_maint_5.10/lib/5.10.0
/home/tsee/bleadperl/install_maint_5.10/lib/site_perl/5.10.0/x86_64-linux-thread-multi
/home/tsee/bleadperl/install_maint_5.10/lib/site_perl/5.10.0
.
Best regards,
Steffen