You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Ken Miller <kl...@shetlandsoftware.com> on 2000/03/18 05:54:19 UTC
DynaLoader problems, bigtime problems.
Has anyone experienced problems with DynaLoader with mod_perl? I've been
getting a lot of this lately, both under mod_perl and just running plain perl:
Can't load '/usr/lib/perl5/site_perl/5.005/i586-linux/auto/DBI/DBI.so' for
module DBI: /usr/lib/perl5/site_perl/5.005/i586-linux/auto/DBI/DBI.so:
undefined symbol: XS_DBI__svdump at
/usr/lib/perl5/5.00503/i586-linux/DynaLoader.pm line 169.
I get this message after I run this script from the command line:
#!/usr/bin/perl -w
use strict;
use IO::File;
use DBI;
about 300 times in a loop.
The module which fails to load is not always the same. In the case above,
it just happened to be DBI. The symbol that is 'undefined' is always
different. Different module, different symbol. What gives with this?
I've posted simlar messages to the perl newsgroups, but with no
repsonse. Searches on the net have only turned up requests for help on the
same problem, with *no* useful responses.
Can anyone give me *any* sort of clue to help me fix this? This problem
literally started out of the blue. I even went as far to rebuild my system
from scratch with a new hard drive, but the same problem started after I
ran the test script a few hundred times. This has almost rendered my
development system useless, since the problem will get progressively worse,
with every 3rd or 4th execution of a program failing.
I'm running SuSE 6.3, perl 5.005.03, latest mod_perl, etc. etc.
Am I looking at a buggy .so environment? I may upgrade to 6.4 when it
becomes available in North America....
Suggestions?
Re: DynaLoader problems, bigtime problems.
Posted by Ken Miller <kl...@shetlandsoftware.com>.
At 08:56 PM 3/22/00 -0800, Doug MacEachern wrote:
>On Fri, 17 Mar 2000, Ken Miller wrote:
>
> > Has anyone experienced problems with DynaLoader with mod_perl? I've been
> > getting a lot of this lately, both under mod_perl and just running
> plain perl:
> >
> > Can't load '/usr/lib/perl5/site_perl/5.005/i586-linux/auto/DBI/DBI.so' for
> > module DBI: /usr/lib/perl5/site_perl/5.005/i586-linux/auto/DBI/DBI.so:
> > undefined symbol: XS_DBI__svdump at
>
>what happens if you run:
>
>% nm /usr/lib/perl5/site_perl/5.005/i586-linux/auto/DBI/DBI.so | grep svdump
>
>should be something like this, if all is well:
>000075f0 T XS_DBI__svdump
Here's what I get:
/home/miller> nm /usr/lib/perl5/site_perl/5.005/i586-linux/auto/DBI/DBI.so
| grep svdump
00007cc0 T XS_DBI__svdump
I'll get this error sporadically if I have a plain perl script which looks
like this:
------------------------
#!/usr/local/bin/perl
use DBI;
------------------------
and run this in a loop. And, to make things more interesting, the symbol
that's 'undefined' changes; yes, changes. And this problem isn't restricted
to DBI. I get the same problem with *any* module which is backed by a
.so. I've rebuilt my system from scratch, with the same effect. I've
rebuilt perl from scratch, Apache, mod_perl (statically compiled), etc. No
cide.
I have two systems, both running SuSE 6.3 - one exhibits the problem, the
other does not. Unfortunately, the one that doesn't isn't suitable for
development...
Any other ideas? I'm fresh out, other than switching to something other
than SuSE for my development system.
Re: DynaLoader problems, bigtime problems.
Posted by Ken Miller <kl...@shetlandsoftware.com>.
At 10:11 AM 3/23/00 -0500, Alan Ferrency wrote:
>I've had this same problem on FreeBSD using mod_perl 1.21 and 1.21_03
>with modules other than DBI. It seems like several people on the list
>have experienced this, but I haven't seen a good explanation of how to
>fix it yet. I'm going to test with 1.22 soon and see what happens.
>See more details below...
Ditto. Unfortunately, I get this problem occurring inside and outside of
Apache/mod_perl, so I don't think upgrading is going to solve anything.
There *has* to be an explanation, and a solution. This is too fundamental
a problem to not be explanable. My personal feeling is that I've hit some
special boundary condition inside the kernel that's causing the shared
library management to puke.
Re: DynaLoader problems, bigtime problems.
Posted by Alan Ferrency <al...@telerama.com>.
I've had this same problem on FreeBSD using mod_perl 1.21 and 1.21_03
with modules other than DBI. It seems like several people on the list
have experienced this, but I haven't seen a good explanation of how to
fix it yet. I'm going to test with 1.22 soon and see what happens.
See more details below...
On Wed, 22 Mar 2000, Doug MacEachern wrote:
> On Fri, 17 Mar 2000, Ken Miller wrote:
>
> > Has anyone experienced problems with DynaLoader with mod_perl? I've been
> > getting a lot of this lately, both under mod_perl and just running
> > plain perl:
> >
> > Can't load '/usr/lib/perl5/site_perl/5.005/i586-linux/auto/DBI/DBI.so' for
> > module DBI: /usr/lib/perl5/site_perl/5.005/i586-linux/auto/DBI/DBI.so:
> > undefined symbol: XS_DBI__svdump at
>
> what happens if you run:
>
> % nm /usr/lib/perl5/site_perl/5.005/i586-linux/auto/DBI/DBI.so | grep svdump
>
> should be something like this, if all is well:
> 000075f0 T XS_DBI__svdump
A complete error:
/usr/local/sbin/apachectl configtest
Syntax error on line 281 of /usr/local/etc/apache/apache.conf:
Can't load '/usr/local/lib/perl5/site_perl/5.005/i386-freebsd/auto/Storable/Storable.so' for module Storable: /usr/local/lib/perl5/site_perl/5.005/i386-freebsd/auto/Storable/Storable.so: Undefined symbol "PL_sv_undef" at /usr/libdata/perl/5.00503/DynaLoader.pm line 169.
at /usr/local/lib/perl5/site_perl/5.005/FOO/hairy.pm line 2
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.005/FOO/hairy.pm line 2.
The contents of hairy.pm:
use Storable;
Is the symbol in Storable.so?
moonpatrol# nm /usr/local/lib/perl5/site_perl/5.005/i386-freebsd/auto/Storable/Storable.so | grep PL_sv_undef
U PL_sv_undef
Yes.
With other modules that I have similar problems with (MD5), the
undefined symbol is in libperl.so instead of MD5.so.
I've tried a bunch of things, to no avail. Considering so many people
have asked this same question recently, I'm beginning to think there
may be an actual problem, instead of just some confusion on my part.
Alan
Re: DynaLoader problems, bigtime problems.
Posted by Doug MacEachern <do...@covalent.net>.
On Fri, 17 Mar 2000, Ken Miller wrote:
> Has anyone experienced problems with DynaLoader with mod_perl? I've been
> getting a lot of this lately, both under mod_perl and just running plain perl:
>
> Can't load '/usr/lib/perl5/site_perl/5.005/i586-linux/auto/DBI/DBI.so' for
> module DBI: /usr/lib/perl5/site_perl/5.005/i586-linux/auto/DBI/DBI.so:
> undefined symbol: XS_DBI__svdump at
what happens if you run:
% nm /usr/lib/perl5/site_perl/5.005/i586-linux/auto/DBI/DBI.so | grep svdump
should be something like this, if all is well:
000075f0 T XS_DBI__svdump