Return-Path: Delivered-To: apmail-perl-modperl-archive@www.apache.org Received: (qmail 29354 invoked from network); 14 Jan 2009 22:12:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Jan 2009 22:12:23 -0000 Received: (qmail 67656 invoked by uid 500); 14 Jan 2009 22:12:19 -0000 Delivered-To: apmail-perl-modperl-archive@perl.apache.org Received: (qmail 67638 invoked by uid 500); 14 Jan 2009 22:12:19 -0000 Mailing-List: contact modperl-help@perl.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list modperl@perl.apache.org Received: (qmail 67629 invoked by uid 99); 14 Jan 2009 22:12:19 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Jan 2009 14:12:19 -0800 X-ASF-Spam-Status: No, hits=-2.5 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS,WEIRD_PORT X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of davidi@norchemlab.com designates 206.80.216.109 as permitted sender) Received: from [206.80.216.109] (HELO norchemlab.com) (206.80.216.109) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Jan 2009 22:12:13 +0000 Received: from [192.168.1.131] (it-dev3.dhcp.norchemlab.com [192.168.1.131]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by norchemlab.com (Postfix) with ESMTPSA id 182B54F3FE5; Wed, 14 Jan 2009 15:11:50 -0700 (MST) Message-ID: <496E6323.4080805@norchemlab.com> Date: Wed, 14 Jan 2009 15:11:47 -0700 From: David Ihnen User-Agent: Thunderbird 2.0.0.19 (X11/20090105) MIME-Version: 1.0 To: Patrick Rutkowski , mod_perl list Subject: Re: Apache2::Reload - Very fickle, or is it just me? References: <496E61C0.8000104@gmail.com> In-Reply-To: <496E61C0.8000104@gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org 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 > >