http://www.perlmonks.org?node_id=219789


in reply to Mysterious script crash in win2k and ActivePerl

Well, very mysterious!

First, what is your Perl version?

If you are usign Perl 5.8.0, disable the signal ALARM:
 $SIG{ALARM} = undef ;
to avoid some wrong signal from the OS. I don't know if you need this for 5.6.0+ too! Well, this problem with alarm is very specific.

I saw that you uses sockets. Don't forget to close a socket after use it, or at least lose the $variable with the socket. Because the system, specially on Win32, has a limit for sockets to be opned.

You have to monitore the memory used by the process too! Maybe it wasn't coleting the garbage of unused variables and objects!

If you don't need the prompt window, run your script using the wperl.exe! This way doesn't open a console (pipe) for the process, and was 1 thing less to create problems!

Good luck! ;-P

Graciliano M. P.
"The creativity is the expression of the liberty".

Replies are listed 'Best First'.
Re: Re: Mysterious script crash in win2k and ActivePerl
by jhanna (Scribe) on Dec 17, 2002 at 17:51 UTC
    It's 5.6.1 -- i'll try $SIG{ALARM}=undef; just because I don't know what else to try.

    My first guess was that sockets weren't being closed, or were being closed twice. I wrote a bunch of code to check that everything was getting tidied up and it is.

    It uses 100 megs of RAM (according to the task manager), but almost all of that is in two big hashes. The only recycling will be in the socket objects which come and go.

    Maybe I'll try wperl -- couldn't hurt.

    Thanks for trying.
    john