2010-04-23 3 views
1
#!/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; 
} 

A la fin de la sortie de ce script je reçois cette erreur-messages:Pourquoi Perl plante-t-il avec "*** glibc detected *** perl: munmap_chunk(): pointeur invalide"?

* glibc * perl détecté: munmap_chunk(): pointeur non valide: 0x0000000000b362e0 *** === ==== Backtrace: =========
/lib64/libc.so.6[0x7fb84952fc76]
...
======= carte mémoire: ===== = 0=
00400000-0053d000 r-xp 00000000 08:01 182002/usr/local/bin/perl
...

Est-ce que cela est dû à un bug?

perl -V:

Résumé de mes perl5 (révision de la version 12 5 subversion 0) configuration:

Plate-forme:
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 préempté 2010-03-16 21:25:39 +0100 x86_64 x86_64 x86_64 gnulinux' config_args = '- Dnoextensions = fichier_ODBM' hint = recommandé , useposix = true, d_sigaction = définir useithreads = undef, usemultiplicity = undef utilisation perlio = définir, d_sfio = undef, uselargefiles = définir, usesocks = undef use64bitint = définir, use64bitall = définir, uselongdouble = undef usemymalloc = n, bincompat5005 = undef
compilateur:
cc = 'cc', ccflags = » -fno-strict-aliasing -pipe -fstack-protecteur -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS = 64 ', optimize =' - O2 ', cppflags =' - fno-strict-aliasing -pipe -fstack -protector -I/usr/local/include ' ccversion =' ', gccversion =' 4.4.1 [gcc-4_4-branche révision 150839] ', gccosandvers =' ' intsize = 4, longsize = 8, ptrsize = 8 , doubleize = 8, byteorder = 12345678 d_longlong = définir, longlongsize = 8, d_longdbl = définir, longdblsize = 16 i VType = 'long', ivsize = 8, nvtype = 'double', nvsize = 8, off_t = 'off_t', lseeksize = 8 alignbytes = 8, prototype = définir
Linker et bibliothèques:
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' Liaison dynamique: dlsrc = dl_dlopen.xs, dlext = oui, d_dlsymun = undef, ccdlflags = '- Wl, -e' cccdlflags = '- fPIC', lddlflags = '- partagé -O2 -L/usr/-fstack-protecteur local/lib'

Caractéristiques de ce binaire (à partir libperl): options de compilation: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF
Construit sous linux Compilé au 15 avril 2010 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 .

+0

espérons que cela vous aide "http://stackoverflow.com/questions/2244822/glibc-detected-error" – Space

+0

Lorsque vous avez ce genre de problèmes, spécifiez la plate-forme, la version de perl, la source de perl (paquet , auto-compilé, etc), et les détails de la compilation. C'est probablement le plus facile avec juste nous montrant la sortie de 'perl -V'. –

Répondre

2

Hope, cette Debian Bug report #479698 est la réponse à votre question.

+0

Corrigé dans la version perl/5.10.0-11.1 mais j'utilise perl 5.12 J'ai changé quelque chose dans mon script et maintenant je ne reçois plus ce message. –

+0

Pas vraiment. C'était un double gratuit avec ** SVN :: _ Repos **. Ceci est un double gratuit dans ** XML :: LibXML **. – rurban