> >>>I tracked down an unofficial mod_perl-2.0.0rc5 ebuild and followed > >>>this stuff to the letter: > >>> > >>>http://perl.apache.org/docs/2.0/rename.html > >>> > >>>but got nothing but 500s. You're right it doesn't make sense to track > >>>down segfaults for old software, but upgrading right now seems > >>>impossible. I'm backing way off this. Thanks for your help though. > >> > >>Or you could explain what the problems are, posting the relevant bits of > >>your error_log so we could help you fix the problems. Mind you, 2.0.0 is > >>planned to be released next week. > > > > > > I would really love to get rid of those segfaults. My store gets > > about 800 visitors/days and my error_log shows about 100 segs/day. > > The segs look like 404s in IE so I must be losing a lot of business. > > You mean you are updating the live server with an untested code? or do you > just say that that's what you have in production now?
Both actually. I only have one server and its been getting these segfaults for years. > > It looks like when I set up 2.0.0rc5 I was getting one type of error, > > that stopped, and then another type of error. I bet that correlates > > to me setting up 2.0.0rc5, starting to roll back to 1.99.17, and then > > setting 2.0.0rc5 back up when I realized I needed to try removing > > 1.99.17. > > when you get this kind of random behavior you should start the server in a > single server mode, in which case you have only one process and all errors > are seen right away. See the online docs for details. > > > The first type of error was like this: > > > > failed to resolve handler `Interchange::Link': Bareword > > "Apache2::Const::OK" not allowed while "strict subs" in use at > > /usr/lib/perl5/vendor_perl/5.8.5/i686-linux/ModPerl/RegistryCooker.pm > > line 161.\nBareword "Apache2::Const::OK" not allowed while "strict > > subs" in use at > > /usr/lib/perl5/vendor_perl/5.8.5/i686-linux/ModPerl/RegistryCooker.pm > > line 163.\nBareword "Apache2::Const::OK" not allowed while "strict > > subs" in use at > > /usr/lib/perl5/vendor_perl/5.8.5/i686-linux/ModPerl/RegistryCooker.pm > > line 171.\nBEGIN not safe after errors--compilation aborted at > > /usr/lib/perl5/vendor_perl/5.8.5/i686-linux/ModPerl/RegistryCooker.pm > > line 201.\nCompilation failed in require at (eval 3) line > > 3.\n\t...propagated at /usr/lib/perl5/5.8.5/base.pm line 85.\nBEGIN > > failed--compilation aborted at > > /usr/lib/perl5/vendor_perl/5.8.5/i686-linux/ModPerl/Registry.pm line > > 25.\nCompilation failed in require at > > /usr/lib/perl5/site_perl/5.8.5/Interchange/Link.pm line 27.\nBEGIN > > failed--compilation aborted at > > /usr/lib/perl5/site_perl/5.8.5/Interchange/Link.pm line > > 27.\nCompilation failed in require at (eval 2) line 3.\n, referer: > > Hmm, we just saw this one a few days ago in another report. I've suggested > that the user had a mixed mp2 build where the pre-RC5 install was getting > in the way. Make sure that you nuke all mod_perl modules from > /usr/lib/perl5/ and then do a fresh install. Any chance with that? > > I'm pretty sure you get this error because mp2-pre-RC5 didn't have > Apache2::Const::OK, but it was Apache::OK. I think that's exactly what it was. I removed 1.99.17 before installing 2.0.0rc5 the second time, and that's when this other error took its place. > > and the second was like this: > > > > failed to resolve handler `Interchange::Link': Can't locate > > ModPerl/Registry.pm in @INC (@INC contains: > > /usr/lib/perl5/5.8.5/i686-linux /usr/lib/perl5/5.8.5 > > /usr/lib/perl5/site_perl/5.8.5/i686-linux > > /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl > > /usr/lib/perl5/vendor_perl/5.8.5/i686-linux > > /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl . > > /usr/lib/apache2/ /usr/lib/apache2/lib/perl) at > > /usr/lib/perl5/site_perl/5.8.5/Interchange/Link.pm line 27.\nBEGIN > > failed--compilation aborted at > > /usr/lib/perl5/site_perl/5.8.5/Interchange/Link.pm line > > 27.\nCompilation failed in require at (eval 2) line 3.\n, referer: > > > > What do you think? > > Well, where ModPerl/Registry.pm is? What find(1) says? It looks like my current 1.99.17 configuration has Registry.pm here: /usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Apache2/ModPerl/Registry.pm and according to the logs the new one was installed here: /usr/lib/perl5/vendor_perl/5.8.5/i686-linux/ModPerl/Registry.pm Interchange::Link has always included this line which looks like the "new" namespace: use ModPerl::Registry; Also, the Gentoo notes I got at the end of the emerge said to change: Apache::ModPerl::Registry => ModPerl::Registry Link.pm already seemed to use that "new" namespace, but it errored as above. How would I fix this? Would I see others like it if I fixed it? - Grant