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