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 amasidlo...@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