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

Reply via email to