Mail Archives: cygwin/2012/03/03/11:04:41
With the introduction of cygwin 1.7.11-1, perl scripts that use
dynamic loading fail with dll errors when another program is exec'ed.
The host OS is windows 7 professional, 32-bit. The error message
looks like the familiar perl problem fixed by rebaseall, but this
time, that remedy did not fix the problem.
A perl one-liner is enough to demonstrate:
win7% perl -MParams::Util -e 'system q{date}'
3 [main] perl 3428 child_copy: loaded dll data write copy failed, 0x721D6000..0x721D635C, done 0, windows pid 5360, Win32 error 487
Here is the detailed test case that demonstrates the problem:
win7% cat Util.pm
#
# Test case for Cygwin + perl DynaLoader problem. Dynamic loading in
# perl works with cygwin 1.7.10-1 and fails with cygwin 1.7.11-1
#
# The code looks odd, but that's because it is the simplest reduction of
# real code that illustrates the problem.
#
package Params::Util;
require List::Util;
require DynaLoader;
use vars qw{@ISA};
@ISA = qw{ DynaLoader };
bootstrap Params::Util 1.01;
system q{date};
1;
win7% perl Util.pm
7 [main] perl 5180 child_copy: loaded dll data write copy failed, 0x72206000..0x7220635C, done 0, windows pid 3520, Win32 error 487
5033576 [main] perl 5180 child_copy: loaded dll data write copy failed, 0x72206000..0x7220635C, done 0, windows pid 3520, Win32 error 487
10066998 [main] perl 5180 child_copy: loaded dll data write copy failed, 0x72206000..0x7220635C, done 0, windows pid 3520, Win32 error 487
win7% cygcheck -c cygwin perl
Cygwin Package Information
Package Version Status
cygwin 1.7.11-1 OK
perl 5.10.1-5 OK
win7% perl -MParams::Util -e 'system q{date}'
3 [main] perl 3428 child_copy: loaded dll data write copy failed, 0x721D6000..0x721D635C, done 0, windows pid 5360, Win32 error 487
And here is the test case that shows it used to work:
win7% cat Util.pm
#
# Test case for Cygwin + perl DynaLoader problem. Dynamic loading in
# perl works with cygwin 1.7.10-1 and fails with cygwin 1.7.11-1
#
# The code looks odd, but that's because it is the simplest reduction of
# real code that illustrates the problem.
#
package Params::Util;
require List::Util;
require DynaLoader;
use vars qw{@ISA};
@ISA = qw{ DynaLoader };
bootstrap Params::Util 1.01;
system q{date};
1;
win7% perl Util.pm
Sat, Mar 03, 2012 09:40:12
win7% cygcheck -c cygwin perl
Cygwin Package Information
Package Version Status
cygwin 1.7.10-1 OK
perl 5.10.1-5 OK
win7% perl -MParams::Util -e 'system q{date}'
Sat, Mar 03, 2012 09:42:49
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -