Bug#779357: perl: Debugger hangs when threads are involved

James McCoy jamessan at debian.org
Fri Feb 27 22:15:57 UTC 2015


On Fri, Feb 27, 2015 at 01:25:19PM -0500, James McCoy wrote:
> On Feb 27, 2015 1:03 PM, "Niko Tyni" <ntyni at debian.org> wrote:
> >
> > On Fri, Feb 27, 2015 at 11:40:33AM -0500, James McCoy wrote:
> > > Package: perl
> > > Version: 5.20.1-5
> > > Severity: important
> > >
> > > It's no longer possible to use the debugger to debug threaded Perl
> > > programs.  Perl gets stuck and the debugger has to be hard-killed.  The
> > > attached script is a simple script starts a thread and joins it.  I've
> > > also attached strace output and below is the backtrace from debugperl.
> >
> > Are you sure about the 'no longer' part? I see this on squeeze and
> > wheezy too.
> 
> Well, in wheezy and squeeze I could use "perl -d" to debug this, but now
> "perl -dt" is required and it doesn't work. The end result being I can no
> longer debug threaded code.

As an FYI, upstream commit cde405a6b is what caused "perl -dt" to be
required.  Re-adding the lock prototype to the current perl5db.pl allows
"perl -d" to at least start, but then the debugger errors out with
"Modification of a read-only value attempted at .../perl5db.pl line
4129." which is this:

    # Save current single-step setting.
    $stack[-1] = $single;

Cheers,
James




More information about the Perl-maintainers mailing list