Closed p5pRT closed 11 years ago
$ echo 'print "hello\n";' > bug.pl $ env PERLDB_OPTS="noTTY frame=2" perl -d bug.pl Can't use an undefined value as a symbol reference at /usr/pkg/2006Q2/lib/perl5/5.8.0/perl5db.pl line 5376. at /usr/pkg/2006Q2/lib/perl5/5.8.0/perl5db.pl line 5376 DB::print_lineinfo(''\, 'Package bug.pl.\x{a}') called at /usr/pkg/2006Q2/lib/perl5/5.8.0/perl5db.pl line 5480 DB::postponed('*main::_\<bug.pl') called at bug.pl line 1
On Wed Feb 07 06:06:40 2007\, 1illig@informatik.uni-hamburg.de wrote:
$ echo 'print "hello\n";' > bug.pl $ env PERLDB_OPTS="noTTY frame=2" perl -d bug.pl Can't use an undefined value as a symbol reference at /usr/pkg/2006Q2/lib/perl5/5.8.0/perl5db.pl line 5376. at /usr/pkg/2006Q2/lib/perl5/5.8.0/perl5db.pl line 5376 DB::print_lineinfo(''\, 'Package bug.pl.\x{a}') called at /usr/pkg/2006Q2/lib/perl5/5.8.0/perl5db.pl line 5480 DB::postponed('*main::_\<bug.pl') called at bug.pl line 1
This is still present in perl 5.14.2:
[perl] 547 $ echo 'print "hello\n";' > bug.pl
[perl] 549 $ env PERLDB_OPTS="noTTY frame=2" perl -d bug.pl Can't use an undefined value as a symbol reference at /usr/local/lib/perl5/5.14.2/perl5db.pl line 5403. at /usr/local/lib/perl5/5.14.2/perl5db.pl line 5403 DB::print_lineinfo(''\, 'Package bug.pl.\x{a}') called at /usr/local/lib/perl5/5.14.2/perl5db.pl line 5507 DB::postponed('*main::_\<bug.pl') called at bug.pl line 1
Here's the relevant part of perl5db.pl:
5397 sub print_lineinfo { 5398 5399 # Make the terminal sensible if we're not the primary debugger. 5400 resetterm(1) if $LINEINFO eq $OUT and $term_pid != $$; 5401 local $\ = ''; 5402 local $\, = ''; 5403 print $LINEINFO @_; 5404 } ## end sub print_lineinfo
The RT System itself - Status changed from 'new' to 'open'
On Sat Nov 12 07:12:13 2011\, jkeenan wrote:
On Wed Feb 07 06:06:40 2007\, 1illig@informatik.uni-hamburg.de wrote:
$ echo 'print "hello\n";' > bug.pl $ env PERLDB_OPTS="noTTY frame=2" perl -d bug.pl Can't use an undefined value as a symbol reference at /usr/pkg/2006Q2/lib/perl5/5.8.0/perl5db.pl line 5376. at /usr/pkg/2006Q2/lib/perl5/5.8.0/perl5db.pl line 5376 DB::print_lineinfo(''\, 'Package bug.pl.\x{a}') called at /usr/pkg/2006Q2/lib/perl5/5.8.0/perl5db.pl line 5480 DB::postponed('*main::_\<bug.pl') called at bug.pl line 1
This is still present in perl 5.14.2:
[perl] 547 $ echo 'print "hello\n";' > bug.pl
[perl] 549 $ env PERLDB_OPTS="noTTY frame=2" perl -d bug.pl Can't use an undefined value as a symbol reference at /usr/local/lib/perl5/5.14.2/perl5db.pl line 5403. at /usr/local/lib/perl5/5.14.2/perl5db.pl line 5403 DB::print_lineinfo(''\, 'Package bug.pl.\x{a}') called at /usr/local/lib/perl5/5.14.2/perl5db.pl line 5507 DB::postponed('*main::_\<bug.pl') called at bug.pl line 1
Here's the relevant part of perl5db.pl:
5397 sub print_lineinfo { 5398 5399 # Make the terminal sensible if we're not the primary debugger. 5400 resetterm(1) if $LINEINFO eq $OUT and $term_pid != $$; 5401 local $\ = ''; 5402 local $\, = ''; 5403 print $LINEINFO @_; 5404 } ## end sub print_lineinfo
And still present in 5.18.0:
$ env PERLDB_OPTS="noTTY frame=2" perl -d bug.pl Can't use an undefined value as a symbol reference at /usr/local/lib/perl5/5.18.0/perl5db.pl line 6141. at /usr/local/lib/perl5/5.18.0/perl5db.pl line 6141. DB::print_lineinfo(''\, 'Package bug.pl.\x{a}') called at /usr/local/lib/perl5/5.18.0/perl5db.pl line 6247 DB::postponed('*main::_\<bug.pl') called at bug.pl line 1
On Fri Aug 09 18:43:12 2013\, jkeenan wrote:
On Sat Nov 12 07:12:13 2011\, jkeenan wrote:
On Wed Feb 07 06:06:40 2007\, 1illig@informatik.uni-hamburg.de wrote:
$ echo 'print "hello\n";' > bug.pl $ env PERLDB_OPTS="noTTY frame=2" perl -d bug.pl Can't use an undefined value as a symbol reference at /usr/pkg/2006Q2/lib/perl5/5.8.0/perl5db.pl line 5376. at /usr/pkg/2006Q2/lib/perl5/5.8.0/perl5db.pl line 5376 DB::print_lineinfo(''\, 'Package bug.pl.\x{a}') called at /usr/pkg/2006Q2/lib/perl5/5.8.0/perl5db.pl line 5480 DB::postponed('*main::_\<bug.pl') called at bug.pl line 1
This is still present in perl 5.14.2:
[perl] 547 $ echo 'print "hello\n";' > bug.pl
[perl] 549 $ env PERLDB_OPTS="noTTY frame=2" perl -d bug.pl Can't use an undefined value as a symbol reference at /usr/local/lib/perl5/5.14.2/perl5db.pl line 5403. at /usr/local/lib/perl5/5.14.2/perl5db.pl line 5403 DB::print_lineinfo(''\, 'Package bug.pl.\x{a}') called at /usr/local/lib/perl5/5.14.2/perl5db.pl line 5507 DB::postponed('*main::_\<bug.pl') called at bug.pl line 1
Here's the relevant part of perl5db.pl:
5397 sub print_lineinfo { 5398 5399 # Make the terminal sensible if we're not the primary debugger. 5400 resetterm(1) if $LINEINFO eq $OUT and $term_pid != $$; 5401 local $\ = ''; 5402 local $\, = ''; 5403 print $LINEINFO @_; 5404 } ## end sub print_lineinfo
And still present in 5.18.0:
$ env PERLDB_OPTS="noTTY frame=2" perl -d bug.pl Can't use an undefined value as a symbol reference at /usr/local/lib/perl5/5.18.0/perl5db.pl line 6141. at /usr/local/lib/perl5/5.18.0/perl5db.pl line 6141. DB::print_lineinfo(''\, 'Package bug.pl.\x{a}') called at /usr/local/lib/perl5/5.18.0/perl5db.pl line 6247 DB::postponed('*main::_\<bug.pl') called at bug.pl line 1
Attached are:
1. A patch to fix the problem with a test.
2. Something that remove some code in lib/perl5db.t whose effect is pointless.
You can also pull them from:
https://github.com/shlomif/perl/tree/rt41461_perl_debugger_dies
Note that the branch diverged from bleadperl\, so the appropriate patches will need to be cherrypicked for perl-5.18.x.
Regards\,
-- Shlomi Fish
On Sat Aug 10 00:53:29 2013\, shlomif wrote:
On Fri Aug 09 18:43:12 2013\, jkeenan wrote:
And still present in 5.18.0:
$ env PERLDB_OPTS="noTTY frame=2" perl -d bug.pl Can't use an undefined value as a symbol reference at /usr/local/lib/perl5/5.18.0/perl5db.pl line 6141. at /usr/local/lib/perl5/5.18.0/perl5db.pl line 6141. DB::print_lineinfo(''\, 'Package bug.pl.\x{a}') called at /usr/local/lib/perl5/5.18.0/perl5db.pl line 6247 DB::postponed('*main::_\<bug.pl') called at bug.pl line 1
Attached are:
1. A patch to fix the problem with a test.
2. Something that remove some code in lib/perl5db.t whose effect is pointless.
Thanks for the patches. I applied the first patch in commit aa8c2dc (with a version bump) and then verified it with the OP's complaint:
$ echo 'print "hello\n";' > bug.pl [perl] 1043 $ env PERLDB_OPTS="noTTY frame=2" ./perl -I./lib -d bug.pl hello
Could you say a bit more about why the code being deleted in the second patch is pointless? (I don't understand it well enough to say so myself.)
Thank you very much. Jim Keenan
Hi James\,
On Sat Aug 10 06:34:19 2013\, jkeenan wrote:
On Sat Aug 10 00:53:29 2013\, shlomif wrote:
On Fri Aug 09 18:43:12 2013\, jkeenan wrote:
And still present in 5.18.0:
$ env PERLDB_OPTS="noTTY frame=2" perl -d bug.pl Can't use an undefined value as a symbol reference at /usr/local/lib/perl5/5.18.0/perl5db.pl line 6141. at /usr/local/lib/perl5/5.18.0/perl5db.pl line 6141. DB::print_lineinfo(''\, 'Package bug.pl.\x{a}') called at /usr/local/lib/perl5/5.18.0/perl5db.pl line 6247 DB::postponed('*main::_\<bug.pl') called at bug.pl line 1
Attached are:
1. A patch to fix the problem with a test.
2. Something that remove some code in lib/perl5db.t whose effect is pointless.
Thanks for the patches. I applied the first patch in commit aa8c2dc (with a version bump) and then verified it with the OP's complaint:
$ echo 'print "hello\n";' > bug.pl [perl] 1043 $ env PERLDB_OPTS="noTTY frame=2" ./perl -I./lib -d bug.pl hello
Thanks!
Could you say a bit more about why the code being deleted in the second patch is pointless? (I don't understand it well enough to say so myself.)
Sure: one should call rc() in lib/perl5db.t to initialise a configuration ("RC") file with commands and options. Now\, I've extracted most of the tests into a class that calls RC for you (after the right method or constructor are getting invoked). The call to rc() that I deleted came right before a test that is based on that class\, so the config file created by that RC (always in the same location for all tests) was overrided by the one in the class' instance instantiation\, so it is completely pointless.
Hope it is clearer now.
Regards\,
-- Shlomi Fish
On Sat Aug 10 07:05:03 2013\, shlomif wrote:
Could you say a bit more about why the code being deleted in the second patch is pointless? (I don't understand it well enough to say so myself.)
Sure: one should call rc() in lib/perl5db.t to initialise a configuration ("RC") file with commands and options. Now\, I've extracted most of the tests into a class that calls RC for you (after the right method or constructor are getting invoked). The call to rc() that I deleted came right before a test that is based on that class\, so the config file created by that RC (always in the same location for all tests) was overrided by the one in the class' instance instantiation\, so it is completely pointless.
Hope it is clearer now.
Regards\,
-- Shlomi Fish
Thank you very much. Applied in commit 1a066ce.
Resolving ticket. Jim Keenan
@jkeenan - Status changed from 'open' to 'resolved'
Migrated from rt.perl.org#41461 (status was 'resolved')
Searchable as RT41461$