Any Dr. Watson (or coredump/segfault on a Unix box) in perl is a bug in the perl interpreter or in any loaded DLLs/XS modules. You should not be able to write a script which would cause this.

Having said that, no software is bug free and one of the best ways of getting it to fail is to use too much memory.

Hmm...I attempted to do a quick example of how perl handles memory exhaustion gracefully and ended up causing a segfault on perl 5.6.0 (un-upgraded install on Red Hat 7.2) with the following:

sub big { $line = shift; $size = length $line; print "Size is [$size]\n"; $line = $line x $size; big( $line ); } big( "12" );
Running with a 3-char string to start causes different behaviour (big allocations, box slows down with memory use, perl finally prints "Out of memory!" and exits cleanly), which is more what I expected.

I really should go and grab a more recent perl and if this is fixed and/or big into the allocator and see why it doesn't like big powers of two. But I'm sure someone here will happily beat me to it :-)


In reply to Re: Dr. Watson when by jbert
in thread Dr. Watson when by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.