in reply to (resolved) *** glibc detected *** perl: corrupted double-linked list

What value did you give to the MALLOC_CHECK_ ? Try assigning e.g. MALLOC_CHECK_=3, so that SIGABRT is raised. You should get a stack trace in gdb regardless of debugging symbols. ("where").

Do I read this correctly: in valgrind your program runs successfully to completion? In other words, a heisenbug? Valgrind has some options to play with. You can try --malloc-fill=.. and --free-fill=.. to poison the chunks.

Are you sure your modules are correctly linked? Valgrind by default only hooks dynamically linked calls (to libc.so).

Do you make use of threads?

Replies are listed 'Best First'.
Re^2: *** glibc detected *** perl: corrupted double-linked list
by tj_thompson (Monk) on Nov 10, 2015 at 22:16 UTC
    I had no idea you could assign differing values to MALLOC_CHECK_. I was using 1. I'll have to do some more digging there for future reference.

    Yeah, oddly enough the test would complete under valgrind. I haven't seen that before, but I've very rarely tried to use valgrind. I'll check out the options you mention.

    I have since resolved the issue and will post the less than flattering details of my debugging above in the hope it may help someone in the future :)