为什么perl会崩溃“*** glibc detect *** perl:munmap_chunk():指针无效”?

时间:2010-04-23 09:30:07

标签: perl pointers glibc

#!/usr/bin/env perl
use warnings;
use strict;
use 5.012;
use XML::LibXML::Reader; 

my $reader = XML::LibXML::Reader->new( location => 'http://www.heise.de/' ) or die $!;

while ( $reader->read ) {
    say $reader->name;
}

在此脚本的输出结束时,我收到此错误消息:

  

*检测到glibc * perl:munmap_chunk():指针无效:0x0000000000b362e0 ***   ======= Backtrace:=========
  /lib64/libc.so.6[0x7fb84952fc76]
  ...
  =======记忆地图:========
  00400000-0053d000 r-xp 00000000 08:01 182002 / usr / local / bin / perl
  ...

这是一个错误吗?

perl -V:

我的perl5(修订版5版本12颠覆0)配置摘要:

平台:
    osname = linux,osvers = 2.6.31.12-0.2-desktop,archname = x86_64-linux     uname ='linux linux1 2.6.31.12-0.2-desktop#1 smp preempt 2010-03-16 21:25:39 +0100 x86_64 x86_64 x86_64 gnulinux'     config_args = ' - Dnoextensions = ODBM_File'     提示=推荐,useposix = true,d_sigaction = define     useithreads = undef,usemultiplicity = undef     useperlio = define,d_sfio = undef,uselargefiles = define,usesocks = undef     use64bitint = define,use64bitall = define,uselongdouble = undef     usemymalloc = n,bincompat5005 = undef
  编译:
    cc ='cc',ccflags =' - fno-strict-aliasing -pipe -fstack-protector -I / usr / local / include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS = 64',     优化= ' - O2',     cppflags =' - fno-strict-aliasing -pipe -fstack-protector -I / usr / local / include'     ccversion ='',gccversion ='4.4.1 [gcc-4_4-branch revision 150839]',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
  链接器和库:
    ld ='cc',ldflags =' - fstack-protector -L / usr / local / lib'     libpth = / usr / local / lib / lib / usr / lib / lib64 / usr / lib64 / usr / local / lib64     libs = -lnsl -ldl -lm -lcrypt -lutil -lc     perllibs = -lnsl -ldl -lm -lcrypt -lutil -lc     libc = / lib / libc-2.10.1.so,so = so,useshrplib = false,libperl = libperl.a     gnulibc_version = '2.10.1'   动态链接:     dlsrc = dl_dlopen.xs,dlext = so,d_dlsymun = undef,ccdlflags =' - Wl,-E'     cccdlflags =' - fPIC',lddlflags =' - shared -O2 -L / usr / local / lib -fstack-protector'

这个二进制文件的特征(来自libperl):   编译时选项:PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BIT_ALL                         USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO                         USE_PERL_ATOF
  在linux下构建   编译于2010年4月15日13:25:46   @INC:     /usr/local/lib/perl5/site_perl/5.12.0/x86_64-linux     /usr/local/lib/perl5/site_perl/5.12.0     /usr/local/lib/perl5/5.12.0/x86_64-linux     /usr/local/lib/perl5/5.12.0     

1 个答案:

答案 0 :(得分:2)

希望,Debian Bug report #479698可以回答你的问题。