[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Major bug in Perl 5.8.2 debugger? Pager hangs





I've found what seems to me to be a huge bug in the perldb (debugger)
that comes with Debian's Perl 5.8.2 distribution.  If one tries a
command like the following while in the Perl debugger:

  DB<5> |x $some_variable

the leading '|' tells the debugger to pipe the output (in this case a
printout of $some_variable) through a pager.  One can then use the
pager as usual to inspect a lengthy output; to return to the debugger,
one just quits the pager as usual (e.g. for 'more' or 'less', by
hitting 'q').

With Debian's Perl 5.8.2 distribution (installed using apt-get), when
one tries a debugger command like the one above, either the pager
hangs indefinitely (one never sees the pager's prompt after it prints
the first screenful), or the pager works fine until one hits q to
exit, at which point it hangs indefinitely.  Sometimes, upon hitting
q, and before the pager hangs, a message like the following is printed
out

  Can't close DB::OUT
  Pager `|/bin/more' failed: shell returned -1

I've seen this behavior with more, less, and sensible-pager.  The only
way out is to hit Ctrl-Z, and once out in the shell, 'kill %'.

I never saw this behavior with the version of Perl I had installed in
this system before, nor with versions of Perl 5.8.2 installed in
non-Debian systems.

IMHO, this is a MONGO bug, but I have not seen mention of it anywhere.
What's going on?

kj



Reply to: