#573 perl5db.pl did not return a true value

v0.6.x
open
Stephan Ruehl
Debugger (177)
5
2014-10-09
2009-12-01
Anonymous
No

When I try to debug perl programs, I get 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.

Discussion

1 2 > >> (Page 1 of 2)

  • Anonymous
    2009-12-01

    Receiving the most effective give In order to receive the best deal on wrinkles cream, keep away from the things that happen to be closely marketed on tv or maybe in glossy magazines. Every time they invest a great deal on their own own marketing spending plan, they cannot supply the finest value. If there's a higher profile representative or perhaps a designer title throughout the label, you can expect to pay out much more, having said that, you won have extra. Celebs hardly ever make use of the things they endorse, anyway.
    http://glaybal.net/user/kopetpdobi/

     
    Last edit: Anonymous 2015-02-22
  • Zane U. Ji
    Zane U. Ji
    2009-12-30

    It happens to me too. Only recent I found that the problem is that I installed PadWalker from CPAN. After reinstalled ActivePerl and then PadWalker:
    ppm install http://www.bribes.org/perl/ppm/PadWalker.ppd
    , everything works just fine.

    Still I don't know whether it's a EPIC bug or PadWalker bug.

     
  • Gert Kello
    Gert Kello
    2010-02-03

    It started to happen to me if I upgarde Cwd package from 3.30 -> 3.31
    AND AFAIK only real change in the update was
    sub _win32_cwd {
    if (defined &DynaLoader::boot_DynaLoader) {
    to
    sub _win32_cwd {
    if (eval 'defined &DynaLoader::boot_DynaLoader') {

    Well, removing that "eval" makes debugger to work again

     
  • Including the path to the perl5db.pl file (Perl\lib directory) to the Perl Include Path to my project (Project->Properties->Perl Include Path) works for me.

     
  • Lais Meuchi
    Lais Meuchi
    2010-02-10

    Hi,

    I got the same problem, and can't solve. Anyone got it?

    tanks

     
  • Nick Fenwick
    Nick Fenwick
    2010-02-11

    Thanks gkello and edvin, your fixes both worked for me, using ActiveState 5.10.1 perl on Vista. laismeuchi, are you not reading those other comments? :)

     
  • Gert Kello
    Gert Kello
    2010-02-11

    Note that epic has it's own, a little bit modified, copy of perl5db.pl in [EclipeWorkSpace]\.metadata\.plugins\org.epic.debug\ folder. So if You change the project include path then You will most likely loose some epic breakpoint handling functionality.

     
  • Nick Fenwick
    Nick Fenwick
    2010-02-11

    gkello, good point, I did find that after modifying my include path debugging could begin, and execution was halted on the first line of the program as normal, but none of my breakpoints stopped the program. With the Cwd.pm fix, and no modification to the project include path, breakpoints work as expected. I didn't realise there was a hidden version of perl5db.pl with epic.

     
  • Fixing Cwd.pm and deleting Perl\lib from the Perl Include Path works for me too.

     
  • Modifing Cwd.pm also worked for me. Are there going to be any problems doing this?

    I have also noticed that the perl5db.pl is copied and modified each time a program debug is launched from EPIC so it is not really a private version. It adds a single line that allows EPIC to do breakpoint handling

     
  • JRDN
    JRDN
    2010-02-13

    last comment was me (forgot to login)

     
  • AdamWozPL
    AdamWozPL
    2010-03-09

    Hi

    My config:
    EPIC 0.6.35
    Strawberry Perl 5.10.1.1
    OS: Vista 32 bits

    I have applied all possible tips mentioned in this thread (thank you for them!) but using Strawberry Perl with no luck :(

    After several hours I have:
    * uninstalled Strawberry Perl
    * installed ActivePerl
    * installed ActivePerl PadWalker using: ppm PadWalker
    * applied gkello tip

    ... and everything went fine! Thanks!

    Regards, Adaslaw

     
  • AdamWozPL
    AdamWozPL
    2010-03-09

    Damn, I forgot to emphasize in my previous post, that my main and only aim was to **DEBUG** perl scripts using EPIC IDE :)

     
  • same as i upgraded to perl 5.10.1 build 1007. editing Cwd package fixes the problem. thanks are directed to gkello. 'booo' to authors of Cwd.

     
  • I encountered this problem using Fedora. My problem was a hosts/hostname issue. A DNS query on the hostname of the machine returns a static IP that wasn't this machine. By adding a line that maps 127.0.0.1 to the hostname in hosts, everything worked fine. Hope that helps somebody else!

     
  • Modifying Cwd.pm has NOT worked for me but including path 'C:\Perl\lib' in perl search path has worked for me.:):):)

     
  • Jan Ploski
    Jan Ploski
    2010-08-06

    Adding Perl's 'lib' directory to a project's include path is definitely a bad workaround, as it makes EPIC ignore all breakpoints by forcing it to pick up Perl's perl5db.pl rather than EPIC's own patched version. It also produces an error regarding an undefined subroutine "add_breakpoints" in the debugger console.

    To work around this bug, you should definitely edit Cwd.pm as suggested here or in my RT bug report.

     
  • Yes editing just the cwd file to remove eval works, thanks

     
  • Pepetideo
    Pepetideo
    2010-12-06

    I still cannot believe this is not resolved are we so few people using epic that a major bug has not yet been fixed???!!!

     
  • Jan Ploski
    Jan Ploski
    2010-12-06

    It's not really a major bug because of the trivial workaround that can be applied outside of EPIC, as also described in the FAQ: http://www.epic-ide.org/faq.php#debug

    On the other hand, a fix in EPIC would be non-trivial. If you want to give it a try yourself, you can send me a patch.

     
  • I have that same problem on Win32. Looking at C:/Perl/lib/Cwd.pm, I see that the method _win32_cwd already contains the supposed fix:

    ---
    sub _win32_cwd {
    if (eval 'defined &DynaLoader::boot_DynaLoader') {
    ---

    Yet, I still get the error. I tried adding C:/Perl/lib to the Perl Include Path, and it did allow me to start the debugger. But as pointed out by other folks, breakpoints stop working.

    Just for fun today, I installed Komodo, and the debugger ran out of the box. Makes me thing seriously about switching to Komodo.

     
  • Nevermind my comment of 2012-04-03.

    I had misunderstood the fix. I thought I needed to ADD the eval '' around the faulty line. I now understand that I need to REMOVE it. When I do this, the debugger works.

    I also tried a suggestion made by someone else, of replacing the eval '' with eval {}. That works too, and I went with that in the end, because it seems closer to the original intent of the line.

    Is there a reason why this fix can't be added to the official version of Cmd.pm? This bug has been reported over 2 years ago!

     
  • Jan Ploski
    Jan Ploski
    2012-04-17

    https://rt.cpan.org/Public/Bug/Display.html?id=56225

    It sounds like version 3.37 of Cwd.pm contains a bug fix/workaround - and apparently a cleverer one than the hack proposed here - but maybe it's not yet available from ActiveState repository? Which version do you have on your system?

     
1 2 > >> (Page 1 of 2)