X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,TW_YG X-Spam-Check-By: sourceware.org X-Authority-Analysis: v=2.0 cv=d9t3OGfE c=1 sm=0 a=I35YE/31jyzKHWIan582YQ==:17 a=gq4V9bB94NwA:10 a=LcwgBNocGMwA:10 a=nZcEhgTK-QsA:10 a=kj9zAlcOel0A:10 a=5ANeptKY1dxaG44NepcA:9 a=VYW36Qm6Ghwplakqt2gA:7 a=CjuIK1q_8ugA:10 a=I35YE/31jyzKHWIan582YQ==:117 From: Scott Message-ID: <8F.5C.26054.DF0425F4@hrndva-omtalb.mail.rr.com> To: cygwin AT cygwin DOT com Subject: cygwin 1.7.11-1 broke perl using dynamic loading MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <60915 DOT 1330790653 DOT 1 AT niss DOT com> Date: Sat, 03 Mar 2012 10:04:13 -0600 X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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