Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Oddity with _58 and CPAN::WAIT #302

Closed
p5pRT opened this issue Aug 1, 1999 · 2 comments
Closed

Oddity with _58 and CPAN::WAIT #302

p5pRT opened this issue Aug 1, 1999 · 2 comments

Comments

@p5pRT
Copy link

p5pRT commented Aug 1, 1999

Migrated from rt.perl.org#1125 (status was 'resolved')

Searchable as RT1125$

@p5pRT
Copy link
Author

p5pRT commented Aug 1, 1999

From gnat@frii.com

  [gnat@​localhost]$ make test
  PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/opt/perl/5.005_58/i586-linux -I/opt/perl/5.005_58 -e 'use Test​::Harness qw(&runtests $verbose); $verbose=0; runtests @​ARGV;' t/*.t
  t/basic.............Use of uninitialized value at /opt/perl/5.005_58/ExtUtils/MM_Unix.pm line 110.
  t/basic.............ok 2/5Exiting subroutine via last at blib/lib/CPAN/WAIT.pm line 46.
  Exiting subroutine via last at blib/lib/CPAN/WAIT.pm line 46.
  Label not found for "last SERVER" at blib/lib/CPAN/WAIT.pm line 46.
  t/basic.............dubious
  Test returned status 255 (wstat 65280, 0xff00)

With 5.005_57​:

  [gnat@​localhost]$ make test
  PERL_DL_NONLAZY=1 /usr/bin/perl5.00557 -Iblib/arch -Iblib/lib -I/opt/perl/5.005_57/i586-linux -I/opt/perl/5.005_57 -e 'use Test​::Harness qw(&runtests $verbose); $verbose=0; runtests @​ARGV;' t/*.t
  t/basic.............Use of uninitialized value at /opt/perl/5.005_57/ExtUtils/MM_Unix.pm line 111.
  t/basic.............ok
  All tests successful.
  Files=1, Tests=5, 5 wallclock secs ( 1.24 cusr + 0.13 csys = 1.37 CPU)

The weird thing being, of course, that 5.005_58 can't find the SERVER
symbol, while 5.005_57 can. I've tried looking at the op tree, and
while there's a heap of it, I couldn't see any obvious differences
between the two. I tried looking at the output of B​::Terse on both,
and I see that _58 is using the new method op of Chip's, but otherwise
they seem identical.

The troublesome thing is that I can't narrow it down to a single piece
of code. I tried
  perl -e 'SERVER​: for (1,2,3) { last if 1 }'
and
  perl -e 'sub foo { SERVER​: for (1,2,3) { last if 1 }} foo()'
but neither reproduces the difference between _57 and _58.

If anyone does manage to track this down, I'd love to know how you did
it.

This problem occurs on both FreeBSD and Redhat Linux running _58.

Nat

@p5pRT
Copy link
Author

p5pRT commented Aug 2, 1999

From @chipdude

According to Nat Torkington​:

The weird thing being, of course, that 5.005_58 can't find the SERVER
symbol, while 5.005_57 can.

There was a change in the goto logic. Maybe that's relevant.

If anyone does manage to track this down, I'd love to know how you did
it.

In desperate situations, I've diff'd the output of "perl -Dts".
--
Chip Salzenberg - a.k.a. - <chip@​perlsupport.com>
  "When do you work?" "Whenever I'm not busy."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant