in reply to Debugger problem in 5.10

It is possible that Storable was installed such that the 5.8 version of the compiled part of the code was attempted to be used by the 5.10 version of Perl? Nah, that seems unlikely to happen and unlikely to be the cause of your complaint.

In trying to reproduce your problem, I did notice a bug in the 5.10 debugger. The handling of "constant" subroutines appears to have changed in 5.10 and they now cause the code that looks for subroutine names to die:

> perl5.10 -del Loading DB routines from perl5db.pl version 1.3 DB<1> o die=0 DB<2> use Storable DB<3> m Storable Not a subroutine reference at /usr/lib/perl5/5.10/perl5db.pl line 7934 +. Debugged program terminated. ...

But I was unable to reproduce any of the problems you complained of (but this was on cygwin -- not having a 5.10+Ubuntu combination handy).

The standard route when you run into core dumps is to upgrade or downgrade the item that is core dumping. In this case, I would probably build and install my own copy of Perl from source (since it is standard wisdom to let Linux have whatever version of Perl it wants and to give yourself a separate version of Perl that you can mess with without surprising the parts of Linux that expected the shipped-with Perl to be there).

- tye        

Replies are listed 'Best First'.
Re^2: Debugger problem in 5.10 (replace)
by duoxi (Initiate) on Jan 04, 2009 at 20:15 UTC
    I believe I traced the problem down to line 380 in my version of Storable.pm (2.18):
    eval { $self = pretrieve(*FILE) };
    which based on the comments in the file is a call to a C routine.

    I found other issues, such as that the taint checking does not always seem to work correctly, and variables are considered tainted under the debugger even when they are properly untainted (and they are not considered tainted when the code is run without the debugger).

      That would make me more interested in installing my own copy of Perl (from source) and using that.

      I would probably also try a bit to see if I could resolve the problem with the system's Perl (since these seem serious enough that the system might run into problems when it goes to use this flakey install of Perl). Perhaps forcing a re-install as a first step.

      - tye