I've managed to find a test case for me that sounds much like the
problem described in this bug report.
It popped up for me while installing Task::Kensho during Makefile.PL.
Reducing that Makefile.PL to the simplest case that still fails gives me
this:
#!/usr/bin/perl
use strict;
use warnings;
use inc::Module::Install;
requires "Devel::NYTProf";
requires "Term::ProgressBar::Simple";
auto_install;
__END__
include /tmp/inc/Module/Install.pm
include inc/Module/Install/Metadata.pm
include inc/Module/Install/Base.pm
include inc/Module/Install/AutoInstall.pm
include inc/Module/Install/Include.pm
include inc/Module/AutoInstall.pm
*** Module::AutoInstall version 1.03
*** Checking for Perl dependencies...
[Core Features]
- Devel::NYTProf ...loaded. (3.01)
- Term::ProgressBar::Simple ...loaded. (0.03)
*** Module::AutoInstall configuration finished.
Segmentation fault
$ dmesg
perl[1637]: segfault at 0 ip 00007f44033d1844 sp 00007fffc3128450 error
4 in NYTProf.so[7f44033bd000+1a000]
Running under GDB gives me this:
gdb --args perl egx.pl
warning: Can not parse XML syscalls information; XML support was
disabled at compile time.
GNU gdb (Gentoo 7.0 p1) 7.0
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<
http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<
http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/perl...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/perl egx.pl
[Thread debugging using libthread_db enabled]
include /tmp/inc/Module/Install.pm
include inc/Module/Install/Metadata.pm
include inc/Module/Install/Base.pm
include inc/Module/Install/AutoInstall.pm
include inc/Module/Install/Include.pm
include inc/Module/AutoInstall.pm
*** Module::AutoInstall version 1.03
*** Checking for Perl dependencies...
[Core Features]
- Devel::NYTProf ...loaded. (3.01)
- Term::ProgressBar::Simple ...loaded. (0.03)
*** Module::AutoInstall configuration finished.
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5544844 in pp_subcall_profiler ()
from
/usr/lib64/perl5/vendor_perl/5.10.1/x86_64-linux-thread-multi/Devel/auto/Devel/NYTProf/NYTProf.so
(gdb) thread apply all bt full
Thread 1 (Thread 0x7ffff7fb7700 (LWP 1715)):
#0 0x00007ffff5544844 in pp_subcall_profiler ()
from
/usr/lib64/perl5/vendor_perl/5.10.1/x86_64-linux-thread-multi/Devel/auto/Devel/NYTProf/NYTProf.so
No symbol table info available.
#1 0x00007ffff7b17576 in Perl_runops_standard () from
/usr/lib/libperl.so.5.10
No symbol table info available.
#2 0x00007ffff7abd530 in perl_run () from /usr/lib/libperl.so.5.10
No symbol table info available.
#3 0x0000000000400dec in main ()
No symbol table info available.
(gdb)
$ perl -V
Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
Platform:
osname=linux, osvers=2.6.31-gentoo, archname=x86_64-linux-thread-multi
uname='linux ember 2.6.31-gentoo #1 smp preempt tue sep 15 03:51:37
nzst 2009 x86_64 intel(r) core(tm)2 duo cpu t9300 @ 2.50ghz genuineintel
gnulinux '
config_args='-des -Duseshrplib -Darchname=x86_64-linux-thread
-Dcc=x86_64-pc-linux-gnu-gcc -Doptimize=-march=native -mtune=native -O2
-pipe --param l2-cache-size=3040 -mfpmath=sse -mmmx -msse -msse2 -msse3
-mssse3 -msse4.1 -msahf -floop-interchange -floop-strip-mine
-floop-block -pg -Dscriptdir=/usr/bin -Dprefix=/usr -Dvendorprefix=/usr
-Dsiteprefix=/usr -Dprivlib=/usr/lib64/perl5/5.10.1
-Darchlib=/usr/lib64/perl5/5.10.1/x86_64-linux-thread-multi
-Dvendorlib=/usr/lib64/perl5/vendor_perl/5.10.1
-Dvendorarch=/usr/lib64/perl5/vendor_perl/5.10.1/x86_64-linux-thread-multi
-Dsitelib=/usr/lib64/perl5/site_perl/5.10.1
-Dsitearch=/usr/lib64/perl5/site_perl/5.10.1/x86_64-linux-thread-multi
-Dlibperl=libperl.so.5.10.1 -Dlocincpth= -Duselargefiles
-Dd_semctl_semun -Dinc_version_list=5.10.0
5.10.0/x86_64-linux-thread-multi -Dcf_by=Gentoo -Dmyhostname=localhost
-Dperladmin=root@localhost -Dinstallusrbinperl=n -Ud_csh -Uusenm
-Dusethreads -Di_ndbm -Di_gdbm -Di_db -Dusrinc=/usr/include
-Dlibpth=/usr/local/lib64 /lib64 /usr/lib64'
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='x86_64-pc-linux-gnu-gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE
-fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
optimize='-march=native -mtune=native -O2 -pipe --param
l2-cache-size=3040 -mfpmath=sse -mmmx -msse -msse2 -msse3 -mssse3
-msse4.1 -msahf -floop-interchange -floop-strip-mine -floop-block -pg',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector'
ccversion='', gccversion='4.4.1', 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='x86_64-pc-linux-gnu-gcc', ldflags =' -fstack-protector'
libpth=/usr/local/lib64 /lib64 /usr/lib64
libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
-lgdbm_compat
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.10.1.so, so=so, useshrplib=true,
libperl=libperl.so.5.10.1
gnulibc_version='2.10.1'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -march=native -mtune=native
-O2 -pipe --param l2-cache-size=3040 -mfpmath=sse -mmmx -msse -msse2
-msse3 -mssse3 -msse4.1 -msahf -floop-interchange -floop-strip-mine
-floop-block -pg -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
USE_64_BIT_ALL
USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_REENTRANT_API
Built under linux
Compiled at Sep 29 2009 01:40:44
%ENV:
PERL5LIB="/home/kent/.perl/lib/perl5:/home/kent/.perl/lib/perl5/x86_64-linux:"
PERL5LIB_O=""
PERL_MM_OPT="INSTALL_BASE=/home/kent/.perl"
PERL_MM_OPT_O=""
@INC:
/home/kent/.perl/lib/perl5/x86_64-linux-thread-multi
/home/kent/.perl/lib/perl5
/home/kent/.perl/lib/perl5/x86_64-linux
/usr/lib64/perl5/site_perl/5.10.1/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.10.1
/usr/lib64/perl5/site_perl
/usr/lib64/perl5/vendor_perl/5.10.1/x86_64-linux-thread-multi
/usr/lib64/perl5/vendor_perl/5.10.1
/usr/lib64/perl5/vendor_perl
/usr/lib64/perl5/5.10.1/x86_64-linux-thread-multi
/usr/lib64/perl5/5.10.1