On Sunday, April 28, 2002, at 07:12 AM, Puneet Kishor wrote:

> I am developing a web application, and have started encountering a new 
> error (taken from the error_log)...
>
> [Sun Apr 28 08:50:40 2002] [error] (22)Invalid argument: getsockname
> [Sun Apr 28 08:50:40 2002] [notice] child pid 493 exit signal Bus error 
> (10)
> [Sun Apr 28 08:50:40 2002] [notice] child pid 482 exit signal Bus error 
> (10)
>
>
> If I run the script from the command line I get the same, cryptic "Bus 
> error" on the terminal. A little bit of research reveals that the error 
> is probably because Perl tried to clear a memory pointer that doesn't 
> exist any more. When I delve into the module I am using for my scripts, 
> that indeed seems to be the case... the croaking seems to happen when 
> the module tries to destroy an existing hash... specifically at...
>
> sub DESTROY {
>     my $self = tied(%{$_[0]});
>     delete $ITERATORS{$self};
>     if (exists $OWNER{$self}) {
>         mapscriptc::delete_mapObj($self);
>         delete $OWNER{$self};
>     }
> }
>
> In any case, here are my questions --
>
> 1. am I right about my assumption about failure to clear a memory 
> pointer?
> 2. that the above error is new to me means that this is a problem 
> specific to the module I am using, and not some new gremlin I have 
> exposed in my iBook or the "Perl on MacOS X" implementation?

I've seen the bus error problem a lot myself, and after trying to 
workaround the problem, occurring even in standard packages, I concluded 
that it is a real bug in Perl 5.6.0, the default version that comes with 
Mac OS X.  Upgrading to 5.6.1 solved the bus error problems for me.
--------------------------------------------------------------------------
Edward Moy
Apple Computer, Inc.
[EMAIL PROTECTED]

(This message is from me as a reader of this list, and not a statement
from Apple.)

Reply via email to