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

[ #56225] Innocent-looking Cwd change breaks EPIC + debugger on win32

Thread Previous | Thread Next
Steffen Mueller via RT
September 11, 2010 11:04
[ #56225] Innocent-looking Cwd change breaks EPIC + debugger on win32
Message ID:
<URL: >

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

> A minor undocumented change to 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:
> 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 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 we have the statement "use Cwd 'abs_path';"
> Within this context the attempt to compile with PathTools
> 3.31 before it is invoked fails with the following message:
> Use of uninitialized value in subroutine dereference at (null) line 1.
> 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 manually in order to restore
> the correct functionality.

On Fri Sep 10 16:17:48 2010,
> 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:

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.


Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About