My problem relates to a large scale multithreaded Perl app running on Linux (RHAS4, perl 5.8.7). (FWIW: Its sortof like a web server, but for other protocols.) After 16-20 hours of moderate use, one of the threads hangs in a 100% CPU loop. My hope was I could force a coredump, and then use a tool (like Devel::CoreStack) that could easily locate the stacks of each thread, and I could see where all the threads are executing at the coredump.
I was hoping to avoid the overhead of running with -d if possible, tho the method described by Re: Techniques for isolating bugs in perl may be one solution.
Is there a more current version of Devel::CoreStack (or equivalent) available ?
I'm not sure how good gdb is at examining multiple threads, but I've usefully debugged hanging perl scripts in the past by attaching to them with gdb -p. Maybe that'd be a useful starting point for you.
Hugo
Since you found Techniques for isolating bugs in perl, it's perhaps reasonable that you also found this recent thread: Analyzing coredump using perl ... In case you didn't, and are still searching for tools, I copied the links below.
alicia
memgrep
coreinfo
Good luck,
moklevat tried to resist the temptation to post this, but failed.
moklevat thinks he may have just written a good sig...or perhaps epitaph.
perlmonks.org content © perlmonks.org and hv, moklevat, planetscape, renodino
prlmnks.org © 2006 edmund von der burg (eccles & toad)
v 0.03