Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Random corrupted double-linked list

by dave_the_m (Monsignor)
on Feb 13, 2012 at 18:44 UTC ( [id://953516]=note: print w/replies, xml ) Need Help??


in reply to Random corrupted double-linked list

Well, here are some random observations.

The backtrace in question shows that a destructor is being called during global destruction; that destructor is calling require - not illegal, but unusal; require is creating a string of some sort, and while trying to grow it, the system malloc detects some internal corruption. This usually means that something corrupted it earlier; either due to a bug in perl, or a bug in an XS module that was earlier loaded.

Building with debugging symbols will get you line numbers and function arguments, while building with Configure -DDEBUGGING may trigger an earlier assertion. But if you're on a system that supports it, you'll be best off using valgrind to see what's happening.

Finally, 5.10.1 is quite old; it may be that a bug is already fixed in 5.12.4 or 5.14.2.

Dave

  • Comment on Re: Random corrupted double-linked list

Replies are listed 'Best First'.
Re^2: Random corrupted double-linked list
by ghenry (Vicar) on Feb 13, 2012 at 19:33 UTC

    OK, great. I only chose 5.10.1 as that is what comes with Debian Squeeze and installed 5.10.1 on CentOS which is the Devel VM.

    I control all ENVs so there's no reason I can't go to 5.14.2

    I'll do that in case something else comes along, then use valgrind. Both prod, test and dev will then get the same everything.

    Thanks.

    Walking the road to enlightenment... I found a penguin and a camel on the way.....
    Fancy a yourname@perl.me.uk? Just ask!!!
Re^2: Random corrupted double-linked list
by ghenry (Vicar) on Feb 13, 2012 at 23:23 UTC

    That's 5.14.2 in and all my Catalyst app requirements installed.

    Just running script/surevoip_api_server.pl produces a Segmentation fault....

    Walking the road to enlightenment... I found a penguin and a camel on the way.....
    Fancy a yourname@perl.me.uk? Just ask!!!

      It sounds like you have found a bug in perl. Kudos to you, especially if no one else has found and reported it before you.

      Two things you might try:

      • Is the bug reproducible in the latest development release of perl? (5.15.7 I think). The easiest way to compile and install a dev release of perl is with perlbrew.
      • Can you produce a minimal script that shows the bug that is as small as possible with a few dependencies as possible? Catalyst apps have a notoriously large number of dependences, so the perl maintainers won't enjoy digging through that mountain to find the module that is causing the trouble. The usual method is to start commenting out blocks of your code until you find the smallest script that will cause the bug.

        Sure, I'm running perlbrew anyway. Compiling perl-5.15.7 now.

        The only two things I've done recently is created two new Models using:

        use Data::Random qw(rand_chars); use Math::Random::Secure;
        so could be that, but who knows.

        Would you be willing to help me pass the right arguements to perlbrew to compile perl with debugging symbols? I think that's needed?

        Thanks.

        Walking the road to enlightenment... I found a penguin and a camel on the way.....
        Fancy a yourname@perl.me.uk? Just ask!!!

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (4)
As of 2024-04-20 00:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found