Mailing List Archive

Error in log - can't find ANONSUB's 'anon3' entry. - plus 500 response from server
Hi,

[.Apologies if this has hit the list before - I tried a few weeks ago
and my message just seemed to vanish; not sure if my address isn't
allowed to post or the list doesn't send the mail to the post author -
we have been trying to implement a PSGI alternative version but have
come to a brick wall on that]

Our system admins have switched from using mpm_prefork (for over 10
years) to using mpm_event - this has improved memory usage
significantly but, under periods of high load, we are getting :

can't find ANONSUB's 'anon3' entry.
can't find ANONSUB's 'anon4' entry.
can't find ANONSUB's 'anon3' entry.

I've Googled the error and found nothing of any use. I've checked out
the mod_perl source code and found the error but have failed to make
much further progress,

We have reasonable competence in C and many years experience of Perl
(although there are certainly gaps in our knowledge and bad habits).

Our handler set-up is done as follows:

  PerlModule Zymonic::MP

[Misc PerlSetVar commands]

  PerlPostConfigHandler Zymonic::MP::post_config

    SetHandler perl-script
    PerlResponseHandler Zymonic::MP


I'm hoping we can make some progress on this issue with help from this
mailing list...

Key questions:

1) Is "can't find ANONSUB's 'anon3' entry" a known error with likely
causes (I can only a handful of references on Google with none solved
and none in the mailing list archives)?

2) The 'ANONSUB' error appears to be thrown by modperl_handler_anon_get
which is looking for a sub in the array maintained by the
modper_handler_* methods however I can't find how these methods are
being called - the furthest back I can get from static analysis is
modperl_handler_push_handlers calling modperl_handler_new_from_sv but I
can't find any calls to modperl_handler_push_handlers.
modperl_handler_new_from_sv is also called from the 'filters' code -
but, as far as I know, we're not using any filters only a Response
Handler. The question is what connects our "Perl*Handler" through to
the modperl_handler_anon* functions?

3) There are plenty of MP_TRACE_h calls that appear to debug/log
information - can this be enabled in configuration or at compile time
and can it be made to log to file rather than having to use gdb with
threads?

I've not (yet) raised a bug since at the moment we can't make this
easily reproducible - we just know that, on our existing systems with
plenty of data, if we enable mpm_event instead of mpm_prefork we get
these errors. We're trying to narrow down the circumstances and find a
way of demonstrating it from a clean install with scripted steps, but
as yet have not found a way of doing that.

Thanks in advance,

Alex Masidlover

--
Technical Director 
Medoc Computers Ltd
0115 986 8786
Meadow House, Meadow Lane, Nottingham NG2 3HS
www.medoc.com amasidlover@medoc.co.uk
 
Company registered in England and Wales with company number 1583691 VAT
Registration number: GB 352 7406 60 *Any emails containing pictures and
other inappropriate content are strictly prohibited. To comply with
PCI-DSS we are unable to accept any logs files or attachments that may
contain credit or debit card details. This e-mail contains confidential
information and is for the exclusive use of the addressee/s. If you are
not the addressee, then any distribution, copying or use of this e-mail
is prohibited. If received in error, please advise the sender and
delete it immediately. We accept no liability for any loss or damage
suffered by any person arising from the use of this e-mail