Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^3: Segmentation fault from XML::Twig::Elt

by mirod (Canon)
on Nov 07, 2011 at 10:33 UTC ( #936468=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Segmentation fault from XML::Twig::Elt
in thread Segmentation fault from XML::Twig::Elt

I can reproduce the problem in win32 (perl 5.12.3), but not on linux (perl5.12.3, 5.12.4 or 5.14.2). So since it's the same code on all 3 versions, I would think it's a bug somewhere in Scalar::Util::weaken or in the core, but only on windows. Which is a bit annoying since I don't develop on windows, I only use it to test modules before a release.

I am not sure where to go from there honestly. Any idea?


Comment on Re^3: Segmentation fault from XML::Twig::Elt
Re^4: Segmentation fault from XML::Twig::Elt
by isync (Hermit) on Nov 07, 2011 at 14:07 UTC
    Most in this thread already is beyond my knowledge of the internal workings,
    but I can contribute that I got this error on a:
    Debian 4.0 box with Perl v5.10.0 built for i486-linux-gnu-thread-multi with these module versions: and on
    Ubuntu 11.04 with Perl v5.10.1 (*) built for i686-linux-gnu-thread-multi.
Re^4: Segmentation fault from XML::Twig::Elt
by Anonymous Monk on Nov 08, 2011 at 04:46 UTC

      The bug is in Perl itself, and seems to be fixed in 5.15.5.

      The following code, which is the simplest I have found to trigger the problem, causes a segmentation fault for versions up to 5.14.2, but not in 5.15.5 or bleadperl:

      #!/usr/bin/perl use strict; use warnings; use Scalar::Util 'weaken'; # the number of iteration that causes a segmentation fault varies # on my machine, 5.14.2 18700, 5.12.4 20147, blead # at these values, the bug shows up most of the time but not always my $ITER= $ARGV[0] || 18700; my $head= {}; my $tail= $head; foreach (1..$ITER) { my $new_tail= { p => $tail }; weaken( $new_tail->{p}); $tail->{n}= $new_tail; $tail= $new_tail; } print "done\n";

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://936468]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (13)
As of 2014-12-19 09:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (75 votes), past polls