Skip Menu |

This queue is for tickets about the Net-DNS CPAN distribution.

Report information
The Basics
Id: 4812
Status: resolved
Priority: 0/
Queue: Net-DNS

People
Owner: rt-cpan [...] triv.org
Requestors: joe.dial [...] siemens.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.44
Fixed in: (no value)



Subject: What Looks like a bug in autoloading Net::DNS::RR subtypes
Hello, I downloaded and installed Net-DNS-0.44 from CPAN onto my Slackware Linux 9.0 system with perl v5.6.1 (i386-linux) [perl -V and uname -a output is below. I am porting an Application I wrote from Net::DNS version 0.09 and ran into an issue which is reproducable using the axfr program from the demo directory. The symptom is: When the axfr program gets the zone data from its cache file (i.e. it doesn't have to do a *real* axfr), it gets the following error: jodi@rtr-snw:~/subnets$ ./axfr npn.siemens.com Can't locate object method "print" via package "Net::DNS::RR::SOA" (perhaps you forgot to load "Net::DNS::RR::SOA"?) at ./axfr line 185. In 0.09, there are a bunch of hardcoded "use"s in Net:DNS:RR that load all(?) the RR subtypes. In the 0.44 Changelog, there is an indication that this mechanism was replaced by AUTOLOAD in version 0.25. This doesn't seem to be working on my system and I don't have any clue how to debug into the AUTOLOAD stuff. Any ideas where to look, or why this particular circumstance fails would be greatly appreciated. Please feel free to contact me for more info, suggested changes I can test, or just to tell me to get over it. Thanks, Joe Dial Joe.Dial@Siemens.com +1 757 875 7430 jodi@rtr-snw:~/subnets$ jodi@rtr-snw:~/subnets$ perl -V Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: Platform: osname=linux, osvers=2.4.17, archname=i386-linux uname='linux midas 2.4.17 #1 tue feb 12 21:15:47 pst 2002 i686 unknown ' config_args='-de -Dprefix=/usr -Darchname=i386-linux -Dprivlib=/usr/lib/perl5 -Darchlib=/usr/lib/perl5/i386-linux -Dsitelib=/usr/lib/perl5/site_perl -Dsitearch=/usr/lib/perl5/site_perl/i386-linux' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-fno-strict-aliasing -I/usr/local/include' ccversion='', gccversion='2.95.3 20010315 (release)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, usemymalloc=n, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -ldl -lm -lc -lcrypt -lutil perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil libc=/lib/libc-2.2.5.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic' cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Built under linux Compiled at Feb 23 2002 11:38:16 @INC: /usr/lib/perl5/i386-linux /usr/lib/perl5 /usr/lib/perl5/site_perl/i386-linux /usr/lib/perl5/site_perl /usr/lib/perl5/site_perl . jodi@rtr-snw:~/subnets$ uname -a Linux rtr-snw 2.4.18 #4 Tue May 7 22:04:48 PDT 2002 i586 unknown jodi@rtr-snw:~/subnets$
From: joe.dial [...] siemens.com
[guest - Fri Jan 2 11:10:34 2004]: Please excuse me commenting on my own submission, but I had my colleague review the bug ticket and he suggested: The first time I run axfr, it doesn't fail (because it *does* transfer the zone ???). Any time I run axfr with the -f flag (force it to transfer) it doesn't fail (same reason). The second (thru Nth) time I run axfr it gets the error message reported below. This is all just a symptom of the RR subtypes not being autoloaded (I think)... TNX, Joe Show quoted text
> Hello, > I downloaded and installed Net-DNS-0.44 from CPAN onto my Slackware > Linux 9.0 system with perl v5.6.1 (i386-linux) [perl -V and uname > -a output is below. I am porting an Application I wrote from > Net::DNS version 0.09 and ran into an issue which is reproducable > using the axfr program from the demo directory. The symptom is: > When the axfr program gets the zone data from its cache file (i.e. > it doesn't have to do a *real* axfr), it gets the following error: > jodi@rtr-snw:~/subnets$ ./axfr npn.siemens.com > Can't locate object method "print" via package "Net::DNS::RR::SOA" > (perhaps you forgot to load "Net::DNS::RR::SOA"?) at ./axfr line > 185. > > In 0.09, there are a bunch of hardcoded "use"s in Net:DNS:RR that load > all(?) the RR subtypes. In the 0.44 Changelog, there is an > indication that this mechanism was replaced by AUTOLOAD in version > 0.25. > > This doesn't seem to be working on my system and I don't have any clue > how to debug into the AUTOLOAD stuff. Any ideas where to look, or > why this particular circumstance fails would be greatly > appreciated. > > Please feel free to contact me for more info, suggested changes I can > test, or just to tell me to get over it. > > Thanks, > Joe Dial > Joe.Dial@Siemens.com > +1 757 875 7430 > > jodi@rtr-snw:~/subnets$ > jodi@rtr-snw:~/subnets$ perl -V > Summary of my perl5 (revision 5.0 version 6 subversion 1) > configuration: > Platform: > osname=linux, osvers=2.4.17, archname=i386-linux > uname='linux midas 2.4.17 #1 tue feb 12 21:15:47 pst 2002 i686 > unknown ' > config_args='-de -Dprefix=/usr -Darchname=i386-linux > -Dprivlib=/usr/lib/perl5 -Darchlib=/usr/lib/perl5/i386-linux > -Dsitelib=/usr/lib/perl5/site_perl > -Dsitearch=/usr/lib/perl5/site_perl/i386-linux' > hint=recommended, useposix=true, d_sigaction=define > usethreads=undef use5005threads=undef useithreads=undef > usemultiplicity=undef > useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef > use64bitint=undef use64bitall=undef uselongdouble=undef > Compiler: > cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include > -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', > optimize='-O2', > cppflags='-fno-strict-aliasing -I/usr/local/include' > ccversion='', gccversion='2.95.3 20010315 (release)', > gccosandvers='' > intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 > d_longlong=define, longlongsize=8, d_longdbl=define, > longdblsize=12 > ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', > lseeksize=8 > alignbytes=4, usemymalloc=n, prototype=define > Linker and Libraries: > ld='cc', ldflags =' -L/usr/local/lib' > libpth=/usr/local/lib /lib /usr/lib > libs=-lnsl -ldl -lm -lc -lcrypt -lutil > perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil > libc=/lib/libc-2.2.5.so, so=so, useshrplib=false, > libperl=libperl.a > Dynamic Linking: > dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='- > rdynamic' > cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib' > > > Characteristics of this binary (from libperl): > Compile-time options: USE_LARGE_FILES > Built under linux > Compiled at Feb 23 2002 11:38:16 > @INC: > /usr/lib/perl5/i386-linux > /usr/lib/perl5 > /usr/lib/perl5/site_perl/i386-linux > /usr/lib/perl5/site_perl > /usr/lib/perl5/site_perl > . > jodi@rtr-snw:~/subnets$ uname -a > Linux rtr-snw 2.4.18 #4 Tue May 7 22:04:48 PDT 2002 i586 unknown > jodi@rtr-snw:~/subnets$
Date: Fri, 2 Jan 2004 18:23:26 -0500 (EST)
From: Chris Reinhardt <chris [...] dyndns.org>
To: Guest via RT <bug-Net-DNS [...] rt.cpan.org>
Subject: Re: [cpan #4812] What Looks like a bug in autoloading Net::DNS::RR subtypes
RT-Send-Cc:
On Fri, 2 Jan 2004, Guest via RT wrote: Show quoted text
> Please excuse me commenting on my own submission, but I had my > colleague review the bug ticket and he suggested: > > The first time I run axfr, it doesn't fail (because it *does* transfer > the zone ???). > Any time I run axfr with the -f flag (force it to transfer) it doesn't > fail (same reason). > The second (thru Nth) time I run axfr it gets the error message > reported below.
Thank you for the report. This will be fixed in the next CPAN release of Net::DNS. If you need a fix quicker than that, you can contact me privately for a patch. -- Chris Reinhardt -- chris@dyndns.org -- http://www.dyndns.org/ But Hitler killed people next door.... stupid man. --Eddie Izzard