#573 perl5db.pl did not return a true value

v0.6.x
open
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)
  • Comment has been marked as spam. 
    Undo

    You can see all pending comments posted by this user  here

    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 2016-09-19
  • 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

     
  • Edvin Pehlivanovic

    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.

     
  • Edvin Pehlivanovic

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

     
  • Nobody/Anonymous

    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 :)

     
  • Nobody/Anonymous

    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.

     
  • Nobody/Anonymous

    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!

     
  • Raghavendra B A

    Raghavendra B A - 2010-06-22

    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.

     
  • Nobody/Anonymous

    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.

     
  • Alain Désilets

    Alain Désilets - 2012-04-03

    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.

     
  • Nobody/Anonymous

    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)

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks