develooper Front page | perl.perl5.porters | Postings from September 2010

[rt.cpan.org #56225] Innocent-looking Cwd change breaks EPIC + debugger on win32

Thread Previous | Thread Next
From:
Steffen Mueller via RT
Date:
September 11, 2010 11:04
Subject:
[rt.cpan.org #56225] Innocent-looking Cwd change breaks EPIC + debugger on win32
Message ID:
rt-3.8.HEAD-11061-1284189611-290.56225-6-0@rt.cpan.org
<URL: https://rt.cpan.org/Ticket/Display.html?id=56225 >

I'm quoting the original bug report for those reading along on p5p:

> A minor undocumented change to Cwd.pm introduced in release 3.31 of
> PathTools prevents the EPIC debugger frontend from working under
> Windows. Version 3.28_01 of PathTools works correctly. This is the
> fatal change:
> 
> sub _win32_cwd {
> - if (defined &DynaLoader::boot_DynaLoader) {
> + if (eval 'defined &DynaLoader::boot_DynaLoader') {
> $ENV{'PWD'} = Win32::GetCwd();
> }
> else { # miniperl
> 
> The original EPIC bug report can be found here:
> 
> https://sourceforge.net/tracker/?
> func=detail&aid=2907155&group_id=75859&atid=545274
> 
> Background information: while in debugging mode, EPIC invokes perl -d
> with an -I path that points to a directory with a patched version of
> the perl5db.pl file from the local Perl installation. The EPIC patch
> consists of the following code:
> 
> # Do we have any breakpoints to put in this file?
> { use epic_breakpoints; my $osingle = $single; $single = 0; $single
> = epic_breakpoints::_postponed($filename, $line) || $osingle; }
> 
> In epic_breakpoints.pm we have the statement "use Cwd 'abs_path';"
> 
> Within this context the attempt to compile perl5db.pl with PathTools
> 3.31 before it is invoked fails with the following message:
> 
> Use of uninitialized value in subroutine dereference at (null) line 1.
> perl5db.pl did not return a true value.
> BEGIN failed--compilation aborted.
> 
> Can you undo the offending change or, if it was intentional, suggest a
> workaround that could be implemented in EPIC? Right now EPIC users
> must be advised to patch their Cwd.pm manually in order to restore
> the correct functionality.

On Fri Sep 10 16:17:48 2010,
https://www.google.com/accounts/o8/id?id=AItOawn_DiEb3KC_WyL1eDoRstaKxFknWBpUgiw
wrote:
> Ditto - the only thing that has worked for me is the suggested patch
> from the EPIC forums.  Attaching to this message; works for me using
> Komodo with Strawberry Perl 5.12.1 and ActiveState Perl 5.12.2.
> 

A friendly soul on IRC (Nicholas) dug out the original discussion of the
change that's causing trouble for you:

http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2009-09/msg00326.html

Please read that carefully (starting from the first follow-up). We
cannot revert the change without exposing another bug. Either one could
be investigated, but I assume finding out why this is causing trouble
for you in the debugger would be the natural place to start. I don't
have a good idea on what the culprit could be.

--Steffen


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About