in reply to Mysterious script crash in win2k and ActivePerl

Hi john,

For starters, do you have strict and warnings enabled? You should always be using those.

If you could post some code (always the best thing to do!) then we might be able to help more. Also, why not output your debug statements to a file, so you can read what happens just before it crashes?

Cheers,
ibanix

$ echo '$0 & $0 &' > foo; chmod a+x foo; foo;

Replies are listed 'Best First'.
Re: Re: Mysterious script crash in win2k and ActivePerl
by jhanna (Scribe) on Dec 13, 2002 at 16:53 UTC
    I'll check on strict and warnings -- I think they're on. The code is complicated, but I posted the main loop at http://www.perlmonks.org/index.pl?node_id=217848

    I did find one bug and corrected it this way:

    while($buf=~/(.*\n)/g) { print DEBUG "doing <$1>\n"; ${$Con{$fh}}{getline}($fh,$1); last unless $Con{$fh}; # it's possible that the connection can b +e deleted while there's still something in the buffer } if($Con{$fh}) { ($this->{_})=$buf=~/([^\n\r]*)$/s; if(length($this->{_}) > 10000) { ${$Con{$fh}}{getline}($fh,$this->{_}); ($this->{_})=''; } }
    The problem was that the connection was closed while there was still a line in the buffer. The if($Con{$fh}) tests for that condition.

    john