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