http://qs1969.pair.com?node_id=220614


in reply to still have a mysterious crash

I localized the last crash to this subroutine. d(34) printed 34 in the debug file, but the $m never appeared on the console, nor in the DEBUG log file (which is unbuffered), neither in the LOG file.

This means the program crashed inside localtime(), or doing a s/// regexp replace, or concatenating to a string ($m). The $_[0] parameter that was passed in was a string constant: 'local or whitelisted', and was called this way:

And you stopped localizing the error because ...?

print DEBUG "Line ", __LINE__, "\n"; before each line at the very least.

You can also

print DEBUG "\$fh = $fh\n"; print DEBUG "\$Con{\$fh} = $Con{$fh}\n"; print DEBUG "\$Con{\$fh}->{ip} = $Con{$fh}->{ip}\n"; print DEBUG "\$Con{\$fh}->{mailfrom} = $Con{$fh}->{mailfrom}\n";

Replies are listed 'Best First'.
Re: Re: still have a mysterious crash
by jhanna (Scribe) on Dec 17, 2002 at 19:17 UTC
    And I stopped localizing because the thing takes 2 - 14 hours to crash (unpredictably). I put in more d() lines, but have to wait for it to crash again before I can get closer. Besides, if it's a perl internal problem it'll pick another random place to die next time.

    j