Skip Menu |

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

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

People
Owner: NLNETLABS [...] cpan.org
Requestors: DGrayStephens [...] slb.com
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.68
Fixed in: (no value)



Subject: Net::DNS aborts with Windows 7 (64bt)
I am running 64bit perl on Windows 7SP1 with Net::DNS version 0.68 This is perl 5, version 14, subversion 2 (v5.14.2) built for MSWin32-x64-multi-thread (with 1 registered patch, see perl -V for more detail) Copyright 1987-2011, Larry Wall Binary build 1402 [295342] provided by ActiveState http://www.ActiveState.com Built Oct 7 2011 15:19:36 and if I try to use the Net::DNS module, then perl aborts with a pop up message to say that perl has stopped working (see attached file for screen shot). If I run perl in debugging, I get a more informative message, pointing to Net/DNS/Resolver/Win32.pm line 27: perl -d -e 1 Loading DB routines from perl5db.pl version 1.33 Editor support available. Enter h or `h h' for help, or `perldoc perldebug' for more help. main::(-e:1): 1 DB<1> use Net::DNS Signal SEGV at D:/Applications/Perl/site/lib/Net/DNS/Resolver/Win32.pm line 27 Net::DNS::Resolver::Win32::init('Net::DNS::Resolver') called at D:/Applications/Perl/site/lib/Net/DNS/Resolver.pm line 32 require Net/DNS/Resolver.pm called at D:/Applications/Perl/site/lib/Net/DNS.pm line 106 Net::DNS::BEGIN() called at D:/Applications/Perl/site/lib/Net/DNS/Resolver.pm line 0 eval {...} called at D:/Applications/Perl/site/lib/Net/DNS/Resolver.pm line 0 require Net/DNS.pm called at (eval 10)[D:/Applications/Perl/lib/perl5db.pl:640] line 2 main::BEGIN() called at D:/Applications/Perl/site/lib/Net/DNS/Resolver.pm line 0 eval {...} called at D:/Applications/Perl/site/lib/Net/DNS/Resolver.pm line 0 eval '($@, $!, $^E, $,, $/, $\\, $^W) = @saved;package main; $^D = $^D | $DB::db_stop; use Net::DNS; ;' called at D:/Applications/Perl/lib/perl5db.pl line 640 DB::eval called at D:/Applications/Perl/lib/perl5db.pl line 3436 DB::DB called at -e line 1
Subject: clip1.jpg
Download clip1.jpg
image/jpeg 37.5k
clip1.jpg
From: rwfranks [...] acm.org
A similar problem is reported in ActiveState perl support forum: http://community.activestate.com/node/7874 Please can you follow the advice given there and capture the complete output from the cpan shell.
RT-Send-CC: rwfranks [...] acm.org
Hi Douglas, I have windows through Amazon EC2. When I install ActiveState perl (32 bits) on a 64 bits machine everything is fine and works as it should. In your error message you get an SEGV on line 27 of Net::DNS::Resolver::Win32. On this line WinIPHelper is used. Is WinIPHelper functioning properly on your system? Does the following produce the crash as well? perl -d -e 1 Loading DB routines from perl5db.pl version 1.33 Editor support available. Enter h or `h h' for help, or `perldoc perldebug' for more help. main::(-e:1): 1 DB<1> use Win32::IPHelper DB<2> Win32::IPHelper::GetNetworkParams({}) Regards, -- Willem
Subject: RE: [rt.cpan.org #77683] Net::DNS aborts with Windows 7 (64bt)
Date: Wed, 27 Jun 2012 16:45:04 +0000
To: "bug-Net-DNS [...] rt.cpan.org" <bug-Net-DNS [...] rt.cpan.org>
From: Douglas Gray Stephens <dgraystephens [...] slb.com>
Willem, I agree that the Actievstate perl 32bit installation does not seem to have the issue on Windows 7 (64bit) but if I install the 64bit version of Activestate Perl, then I get the error. I'm still trying to sort out access to a compiler, so I can build the module and run the tests to see if it is related to Actievstate's build. I do not get the issue on calling GetNetworkParams: Wed 27-Jun-12 17:37:33.71 d:\Douglas> perl -d -e 1 Loading DB routines from perl5db.pl version 1.33 Editor support available. Enter h or `h h' for help, or `perldoc perldebug' for more help. main::(-e:1): 1 DB<1> use Win32::IPHelper DB<2> use Win32::IPHelper DB<3> use Net::DNS Signal SEGV at D:/Applications/Perl/site/lib/Net/DNS/Resolver/Win32.pm line 27 Net::DNS::Resolver::Win32::init('Net::DNS::Resolver') called at D:/Applications/Perl/site/lib/Net/DNS/Resolver.pm line 32 require Net/DNS/Resolver.pm called at D:/Applications/Perl/site/lib/Net/DNS.pm line 106 Net::DNS::BEGIN() called at D:/Applications/Perl/site/lib/Net/DNS/Resolver.pm line 0 eval {...} called at D:/Applications/Perl/site/lib/Net/DNS/Resolver.pm line 0 require Net/DNS.pm called at (eval 15)[D:/Applications/Perl/lib/perl5db.pl:640] line 2 main::BEGIN() called at D:/Applications/Perl/site/lib/Net/DNS/Resolver.pm line 0 eval {...} called at D:/Applications/Perl/site/lib/Net/DNS/Resolver.pm line 0 eval '($@, $!, $^E, $,, $/, $\\, $^W) = @saved;package main; $^D = $^D | $DB::db_stop; use Net::DNS; ;' called at D:/Applications/Perl/lib/perl5db.pl line 640 DB::eval called at D:/Applications/Perl/lib/perl5db.pl line 3436 DB::DB called at -e line 1 Wed 27-Jun-12 17:38:10.27 d:\Douglas> regards, Douglas. Show quoted text
> -----Original Message-----
Show quoted text
> From: NLnet Labs via RT [mailto:bug-Net-DNS@rt.cpan.org]
Show quoted text
> Sent: Wednesday 27 June 2012 15:36
Show quoted text
> To: Douglas Gray Stephens
Show quoted text
> Subject: [rt.cpan.org #77683] Net::DNS aborts with Windows 7 (64bt)
Show quoted text
>
Show quoted text
Show quoted text
>
Show quoted text
> Hi Douglas,
Show quoted text
>
Show quoted text
> I have windows through Amazon EC2. When I install ActiveState perl (32
Show quoted text
> bits) on a 64 bits machine everything is fine and works as it should.
Show quoted text
>
Show quoted text
> In your error message you get an SEGV on line 27 of Net::DNS::Resolver::Win32.
Show quoted text
> On this line WinIPHelper is used.
Show quoted text
>
Show quoted text
> Is WinIPHelper functioning properly on your system?
Show quoted text
> Does the following produce the crash as well?
Show quoted text
>
Show quoted text
> perl -d -e 1
Show quoted text
>
Show quoted text
> Loading DB routines from perl5db.pl version 1.33 Editor support available.
Show quoted text
>
Show quoted text
> Enter h or `h h' for help, or `perldoc perldebug' for more help.
Show quoted text
>
Show quoted text
> main::(-e:1): 1
Show quoted text
>
Show quoted text
> DB<1> use Win32::IPHelper
Show quoted text
>
Show quoted text
> DB<2> Win32::IPHelper::GetNetworkParams({})
Show quoted text
>
Show quoted text
>
Show quoted text
> Regards,
Show quoted text
>
Show quoted text
> -- Willem
Subject: Re: [rt.cpan.org #77683] Net::DNS aborts with Windows 7 (64bt)
Date: Wed, 27 Jun 2012 22:44:24 +0200
To: bug-Net-DNS [...] rt.cpan.org
From: Willem Toorop <Willem [...] NLnetLabs.nl>
Hi Douglas, Op 27-06-12 18:45, DGrayStephens@slb.com via RT schreef: Show quoted text
> I agree that the Actievstate perl 32bit installation does not seem to have the issue on Windows 7 (64bit) but if I install the 64bit version of Activestate Perl, then I get the error.
I will try again with 64bits Activestate perl. Show quoted text
> I'm still trying to sort out access to a compiler, so I can build the module and run the tests to see if it is related to Actievstate's build.
Me too. Having gcc in the path did not seem to work... How did you install Net::DNS? It did not seem available via ppm. Show quoted text
> I do not get the issue on calling GetNetworkParams:
Though in the debugger session you copied in this e-mail you didn't call it... Show quoted text
> DB<2> use Win32::IPHelper
Are you sure you also tried: Win32::IPHelper::GetNetworkParams({}) ? Because that is the function that is called at line 27 of D:/Applications/Perl/site/lib/Net/DNS/Resolver/Win32.pm Or do you see something else on line 27 of that file? Regards, -- Willem
Subject: RE: [rt.cpan.org #77683] Net::DNS aborts with Windows 7 (64bt)
Date: Wed, 27 Jun 2012 22:25:05 +0000
To: "bug-Net-DNS [...] rt.cpan.org" <bug-Net-DNS [...] rt.cpan.org>
From: Douglas Gray Stephens <dgraystephens [...] slb.com>
William, Show quoted text
> -----Original Message-----
Show quoted text
> From: Willem Toorop via RT [mailto:bug-Net-DNS@rt.cpan.org]
Show quoted text
> Sent: Wednesday 27 June 2012 21:45
Show quoted text
> To: Douglas Gray Stephens
Show quoted text
> Subject: Re: [rt.cpan.org #77683] Net::DNS aborts with Windows 7 (64bt)
Show quoted text
>
Show quoted text
Show quoted text
>
Show quoted text
> Hi Douglas,
Show quoted text
>
Show quoted text
> Op 27-06-12 18:45, DGrayStephens@slb.com<mailto:DGrayStephens@slb.com> via RT schreef:
Show quoted text
> > I agree that the Actievstate perl 32bit installation does not seem to have the
Show quoted text
> issue on Windows 7 (64bit) but if I install the 64bit version of Activestate Perl,
Show quoted text
> then I get the error.
Show quoted text
>
Show quoted text
> I will try again with 64bits Activestate perl.
Show quoted text
>
Show quoted text
> > I'm still trying to sort out access to a compiler, so I can build the module and
Show quoted text
> run the tests to see if it is related to Actievstate's build.
Show quoted text
>
Show quoted text
> Me too. Having gcc in the path did not seem to work... How did you install
Show quoted text
> Net::DNS? It did not seem available via ppm.
[Douglas Gray Stephens] I'm using the ActiveState distribution, so that includes a repository of precompiled modules, available via ppm http://docs.activestate.com/activeperl/5.10/faq/ActivePerl-faq2.html Show quoted text
>
Show quoted text
> > I do not get the issue on calling GetNetworkParams:
Show quoted text
>
Show quoted text
> Though in the debugger session you copied in this e-mail you didn't call it...
Show quoted text
>
[Douglas Gray Stephens] Sorry, you are correct, I did not successfully copy and paste the 2nd command, so that does give the error: Wed 27-Jun-12 17:38:10.27 d:\Douglas> perl -d -e 1 Loading DB routines from perl5db.pl version 1.33 Editor support available. Enter h or `h h' for help, or `perldoc perldebug' for more help. main::(-e:1): 1 DB<1> use Win32::IPHelper DB<2> Win32::IPHelper::GetNetworkParams({}) Signal SEGV at (eval 14)[D:/Applications/Perl/lib/perl5db.pl:640] line 2 eval '($@, $!, $^E, $,, $/, $\\, $^W) = @saved;package main; $^D = $^D | $DB::db_stop; Win32::IPHelper::GetNetworkParams({}); ;' called at D:/Applications/Perl/lib/perl5db.pl line 640 DB::eval called at D:/Applications/Perl/lib/perl5db.pl line 3436 DB::DB called at -e line 1 Wed 27-Jun-12 23:18:41.41 d:\Douglas> Regards, Douglas Show quoted text
> > DB<2> use Win32::IPHelper
Show quoted text
>
Show quoted text
> Are you sure you also tried:
Show quoted text
>
Show quoted text
> Win32::IPHelper::GetNetworkParams({})
Show quoted text
>
Show quoted text
> ? Because that is the function that is called at line 27 of
Show quoted text
>
Show quoted text
> D:/Applications/Perl/site/lib/Net/DNS/Resolver/Win32.pm
Show quoted text
>
Show quoted text
> Or do you see something else on line 27 of that file?
Show quoted text
>
Show quoted text
> Regards,
Show quoted text
>
Show quoted text
> -- Willem
Show quoted text
>
FYI, I managed to reproduce... Problem signature: Problem Event Name: APPCRASH Application Name: perl.exe Application Version: 5.14.2.1402 Application Timestamp: 4e8f83bc Fault Module Name: Iphlpapi.DLL Fault Module Version: 6.1.7601.17514 Fault Module Timestamp: 4ce7c6da Exception Code: c0000005 Exception Offset: 0000000000008a64 OS Version: 6.1.7601.2.1.0.400.8 It is in Iphlpapi.dll, so something goes wrong with the IPHelper call to GetNetworkParams within Iphlpapi.dll. And then it has to be something with the function arguments handling (a pointer to a struct and a length pointer), because other Win32::IPHelper functions are working fine. B.t.w. de problem does not occur with 64bit Strawberry Perl. There has actually been quiet some effort to get Win32::IPHelper working on 64bit Strawberry Perl, however Strawberry did not crash calling the dll functions. I suspect the problem lies within Win32::API. Maybe we should create a ticket there... On Wed 27 Jun 2012 18:25:18, DGrayStephens@slb.com wrote: Show quoted text
> William, > > > > >
> > -----Original Message-----
>
> > From: Willem
> Toorop via RT [mailto:bug-Net-DNS@rt.cpan.org] >
> > Sent: Wednesday 27
> June 2012 21:45 >
> > To: Douglas Gray Stephens
>
> > Subject: Re:
> [rt.cpan.org #77683] Net::DNS aborts with Windows 7 (64bt) >
> >
>
> >
> <URL: https://rt.cpan.org/Ticket/Display.html?id=77683 > >
> >
>
> > Hi
> Douglas, >
> >
>
> > Op 27-06-12 18:45,
> DGrayStephens@slb.com<mailto:DGrayStephens@slb.com> via RT schreef:
> > > I agree that the Actievstate perl 32bit installation does not seem
> to have the >
> > issue on Windows 7 (64bit) but if I install the 64bit
> version of Activestate Perl, >
> > then I get the error.
>
> >
>
> > I
> will try again with 64bits Activestate perl. >
> >
>
> > > I'm still
> trying to sort out access to a compiler, so I can build the module and
> > run the tests to see if it is related to Actievstate's build.
>
> > > > Me too. Having gcc in the path did not seem to work... How did you
> install >
> > Net::DNS? It did not seem available via ppm.
> > [Douglas > Gray Stephens] > > I'm using the ActiveState distribution, so that > includes a repository of precompiled modules, available via ppm > http://docs.activestate.com/activeperl/5.10/faq/ActivePerl-faq2.html
> >
>
> > > I do not get the issue on calling GetNetworkParams:
>
> >
>
> >
> Though in the debugger session you copied in this e-mail you didn't > call it... >
> >
> > > > [Douglas Gray Stephens] > > Sorry, you are > correct, I did not successfully copy and paste the 2nd command, so > that does give the error: > > Wed 27-Jun-12 17:38:10.27 > > d:\Douglas> > perl -d -e 1 > > > > Loading DB routines from perl5db.pl version 1.33 > Editor support available. > > > > Enter h or `h h' for help, or > `perldoc perldebug' for more help. > > > > main::(-e:1): 1 > > DB<1> > use Win32::IPHelper > > > > DB<2> > Win32::IPHelper::GetNetworkParams({}) > > Signal SEGV at (eval > 14)[D:/Applications/Perl/lib/perl5db.pl:640] line 2 > > eval > '($@, $!, $^E, $,, $/, $\\, $^W) = @saved;package main; $^D = $^D | > $DB::db_stop; > > Win32::IPHelper::GetNetworkParams({}); > > > > ;' > called at D:/Applications/Perl/lib/perl5db.pl line 640 > DB::eval called at D:/Applications/Perl/lib/perl5db.pl line 3436 > DB::DB called at -e line 1 > > > > > > Wed 27-Jun-12 23:18:41.41 > d:\Douglas> > > > > Regards, > > > > Douglas > > > > >
> > > DB<2> use
> Win32::IPHelper >
> >
>
> > Are you sure you also tried:
>
> >
>
> >
> Win32::IPHelper::GetNetworkParams({}) >
> >
>
> > ? Because that is the
> function that is called at line 27 of >
> >
>
> >
> D:/Applications/Perl/site/lib/Net/DNS/Resolver/Win32.pm >
> >
>
> > Or
> do you see something else on line 27 of that file? >
> >
>
> > Regards, > >
>
> > -- Willem
>
> >
On Fri 29 Jun 2012 10:33:56, NLNETLABS wrote: Show quoted text
> I suspect the problem lies within Win32::API. Maybe we should create a > ticket there...
I have done that. It is ticket 82090. Hopefully they recognize the issue and do not shift the problem to Win32::IPHelper. Although the culprit might be at ActiveState...
RT-Send-CC: Willem [...] NLnetLabs.nl, dgraystephens [...] slb.com, rwfranks [...] acm.org
On Tue Dec 18 10:33:22 2012, NLNETLABS wrote: Show quoted text
> On Fri 29 Jun 2012 10:33:56, NLNETLABS wrote:
> > I suspect the problem lies within Win32::API. Maybe we should create a > > ticket there...
> > I have done that. It is ticket 82090. Hopefully they recognize the issue > and do not shift the problem to Win32::IPHelper. Although the culprit > might be at ActiveState...
I've responded in #82090.
Hi Douglas, I have been trying to pinpoint the issue again and it seems it does not occur anymore after Win32::API is upgraded to version 0.75. ppm-shell upgrade Win32-API After that Net::DNS installs fine via cpan cpan install Net::DNS It is unfortunate that ActiveState perl ships with such an old version of Win32::API. Perhaps you wish to file a bug report with them? Thanks for reporting and regards, -- Willem