htoug has asked for the wisdom of the Perl Monks concerning the following question:
In our web-database system we sometimes get the error "Bizarre copy of ARRAY in aassign at /usr/local/lib/perl5/5.6.0/Carp/Heavy.pm line 79."
The line in question is just: @a = @DB::args; # must get local copy of args.
perldoc perldiag says that this error is "An internal error you should never see (trappable)."
The programmes that emit the error are servers, that communicate with the databases through DBI and with the web-servers by COPE (a pure perl CORBA implementation). This gives us layers and layers of evals, so trapping the error by surrounding the whole thing in an eval (as recomended in perldiag) is not possible (or at least not easy).
I can see from our logs (and my attempts to pinpoint the error), that the code that causes the error is in fact our errorhandler, that calls Carp:Cluck to print a stack-trace in order to help us pinpoint errors.
The "Bizarre copy" only occcurs sometimes, normally the error message and Clucks' stack-trace is output in the log, and everything continues merrily. But soemtimes (and I just cant discover why) Cluck fails.
So my situation is that the error reporting errors out, and pulls down the server, disturbing my peace. All due to an internal perl error, that I should never see!
Anybody got any good ideas as to what I can try next? Tearing out my hair is no longer an option, and I am out of white chicken.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Why do I get the error
by davorg (Chancellor) on Sep 27, 2001 at 14:10 UTC |