Hmm, I see. Interesting points, all noted.
I also just realized it might have to do with which of the many apache
children get which requests and when.
I'm hoping that setting MaxRequestsPerChild to something like 1 or 2 (as
opposed to the default 10000) will help ease the pain.
-Patrick
P.S. Sorry about that duplication David, I forgot to send to the list.
David Ihnen wrote:
My experience troubleshooting this kind of issue has indicated that
its likely that the package that was unloaded deleted a value stored
in the package space of the module reloaded (probably set at BEGIN
block time) that the subsequent require did not restore.
When these errors happen the thread may die, which may explain why
several reloads don't work - but eventually you've killed each of the
threads that were running, and the new ones initialize fresh and normal.
David
Patrick Rutkowski wrote:
I'm currently using Apache2::Reload on a development machine, but I
can't for the life of me figure out what it's doing and why.
I'm coming across weird behavior such as the following just about
every 5 minutes:
1. Have a perfectly working page.
2. Change some `print "foo"` to `print "bar"` (completely trivial)
3. Reload the page only to get an error message back (presumably
Apache2::Reload reloaded the .pm and the new version has errors).
5. Check the .pm with perl -c, it turns out that my completely
trivial change did NOT introduce errors.
6. Scratch head...
7. Reload the page 3 more times, with the same error coming back
every time.
8. Reload a 4th time, and this time get a different error.
9. Reload a 5th time, and have it work (for good).
I'M SO CONFUSED! :-(
-Patrick
What exactly does this mean anyway? Aborted why?
======= Attempt to reload WSS/User.pm aborted =======
Error during compilation of
/home/rutski/Documents/projects/wss/install/apache/htdocs/dynamic/sign_up.html:
Attempt to reload WSS/User.pm aborted.
Compilation failed in require at
/home/rutski/Documents/projects/wss/install/apache/htdocs/dynamic/sign_up.html
line 14.
Stack:
[/home/rutski/Documents/projects/wss/install/apache/htdocs/dynamic/sign_up.html:14]
[/home/rutski/Documents/projects/wss/install/apache/htdocs/dynamic/sign_up.html:14]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Interp.pm:811]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Interp.pm:441]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Request.pm:246]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Request.pm:211]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/ApacheHandler.pm:97]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/Class/Container.pm:275]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/Class/Container.pm:353]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Interp.pm:348]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/ApacheHandler.pm:868]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/ApacheHandler.pm:822]
[(eval 34):8]
[/home/rutski/Documents/projects/wss/install/apache/htdocs/dynamic/sign_up.html:14]
BEGIN failed--compilation aborted at
/home/rutski/Documents/projects/wss/install/apache/htdocs/dynamic/sign_up.html
line 14.
Stack:
[/home/rutski/Documents/projects/wss/install/apache/htdocs/dynamic/sign_up.html:14]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Interp.pm:811]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Interp.pm:441]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Request.pm:246]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Request.pm:211]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/ApacheHandler.pm:97]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/Class/Container.pm:275]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/Class/Container.pm:353]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Interp.pm:348]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/ApacheHandler.pm:868]
[/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/ApacheHandler.pm:822]
[(eval 34):8]
[/home/rutski/Documents/projects/wss/install/apache/htdocs/dynamic/sign_up.html:14]
Trace begun at
/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Interp.pm
line 845
HTML::Mason::Interp::_compilation_error('HTML::Mason::Interp=HASH(0x91acc90)',
'/home/rutski/Documents/projects/wss/install/apache/htdocs/dynamic/sign_up.html',
'HTML::Mason::Exception::Compilation=HASH(0x932e308)') called at
/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Interp.pm
line 445
HTML::Mason::Interp::load('HTML::Mason::Interp=HASH(0x91acc90)',
'/sign_up.html') called at
/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Request.pm
line 246
eval {...} at
/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Request.pm
line 231
HTML::Mason::Request::_initialize('HTML::Mason::Request::ApacheHandler=HASH(0x9330478)')
called at
/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Request.pm
line 211
HTML::Mason::Request::new('HTML::Mason::Request::ApacheHandler',
'error_mode', 'output', 'error_format', 'html', 'interp',
'HTML::Mason::Interp=HASH(0x91acc90)', 'comp', '/sign_up.html',
'args', 'ARRAY(0x8d1d560)', 'ah',
'HTML::Mason::ApacheHandler=HASH(0x91acdc0)', 'apache_req',
'Apache2::RequestRec=SCALAR(0x8d1d610)', 'container',
'HASH(0x9343090)') called at
/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/ApacheHandler.pm
line 97
HTML::Mason::Request::ApacheHandler::new('HTML::Mason::Request::ApacheHandler',
'error_mode', 'output', 'error_format', 'html', 'interp',
'HTML::Mason::Interp=HASH(0x91acc90)', 'comp', '/sign_up.html',
'args', 'ARRAY(0x8d1d560)', 'ah',
'HTML::Mason::ApacheHandler=HASH(0x91acdc0)', 'apache_req',
'Apache2::RequestRec=SCALAR(0x8d1d610)', 'container',
'HASH(0x9343090)') called at
/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/Class/Container.pm
line 275
Class::Container::call_method('HTML::Mason::Interp=HASH(0x91acc90)',
'request', 'new', 'interp', 'HTML::Mason::Interp=HASH(0x91acc90)',
'comp', '/sign_up.html', 'args', 'ARRAY(0x8d1d560)', 'ah',
'HTML::Mason::ApacheHandler=HASH(0x91acdc0)', 'apache_req',
'Apache2::RequestRec=SCALAR(0x8d1d610)', 'container',
'HASH(0x9343090)') called at
/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/Class/Container.pm
line 353
Class::Container::create_delayed_object('interp',
'HTML::Mason::Interp=HASH(0x91acc90)', 'comp', '/sign_up.html',
'args', 'ARRAY(0x8d1d560)', 'ah',
'HTML::Mason::ApacheHandler=HASH(0x91acdc0)', 'apache_req',
'Apache2::RequestRec=SCALAR(0x8d1d610)', 'container',
'HASH(0x9343090)') called at
/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/Interp.pm
line 348
HTML::Mason::Interp::make_request('HTML::Mason::Interp=HASH(0x91acc90)',
'comp', '/sign_up.html', 'args', 'ARRAY(0x8d1d560)', 'ah',
'HTML::Mason::ApacheHandler=HASH(0x91acdc0)', 'apache_req',
'Apache2::RequestRec=SCALAR(0x8d1d610)') called at
/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/ApacheHandler.pm
line 868
eval {...} at
/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/ApacheHandler.pm
line 867
HTML::Mason::ApacheHandler::prepare_request('HTML::Mason::ApacheHandler=HASH(0x91acdc0)',
'Apache2::RequestRec=SCALAR(0x8d1d610)') called at
/home/rutski/Documents/projects/wss/install/local/perl/lib/site_perl/5.10.0/HTML/Mason/ApacheHandler.pm
line 822
HTML::Mason::ApacheHandler::handle_request('HTML::Mason::ApacheHandler=HASH(0x91acdc0)',
'Apache2::RequestRec=SCALAR(0x8d1d610)') called at (eval 34) line 8
HTML::Mason::ApacheHandler::handler('HTML::Mason::ApacheHandler',
'Apache2::RequestRec=SCALAR(0x8d1d610)') called at -e line 0
eval {...} at -e line 0