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

Improper modification of hash during each() traversal in t/basic.t in ExtUtils-MakeMaker in 5.17.9 with hash traversal order randomization #12796

Closed
p5pRT opened this issue Feb 19, 2013 · 7 comments

Comments

@p5pRT
Copy link

p5pRT commented Feb 19, 2013

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

Searchable as RT116857$

@p5pRT
Copy link
Author

p5pRT commented Feb 19, 2013

From @demerphq

IMO this should be viewed as a 5.18 blocker.

It is buggy to start, but in 5.18 with hash traversal order
randomization it will pretty well always fail.

Cheers,
Yves

---------- Forwarded message ----------
From​: Bugs in ExtUtils-MakeMaker via RT <bug-ExtUtils-MakeMaker@​rt.cpan.org>
Date​: 19 February 2013 12​:39
Subject​: [rt.cpan.org #83441] AutoReply​: Improper modification of hash
during each() traversal in t/basic.t
To​: demerphq@​gmail.com

Greetings,

This message has been automatically generated in response to the
creation of a trouble ticket regarding​:
  "Improper modification of hash during each() traversal in t/basic.t",
a summary of which appears below.

There is no need to reply to this message right now. Your ticket has been
assigned an ID of [rt.cpan.org #83441]. Your ticket is accessible
on the web at​:

  https://rt.cpan.org/Ticket/Display.html?id=83441

Please include the string​:

  [rt.cpan.org #83441]

in the subject line of all future correspondence about this issue. To do so,
you may reply to this message.

  Thank you,
  bug-ExtUtils-MakeMaker@​rt.cpan.org


t/basic.t contains a subroutine called _normalize() which uses faulty
logic to lowercase the keys in a hash that is being traversed with
each().

This has never been legal, but due to implementation issues probably
worked out such that the tests never failed.

Changes coming in Perl 5.18 mean that this will fail regularly.

Attached patch fixes the problem.

This is a Perl 5.18 blocker ticket, so I am marking it as important.

--
perl -Mre=debug -e "/just|another|perl|hacker/"

@p5pRT
Copy link
Author

p5pRT commented Feb 23, 2013

From @jkeenan

On Tue Feb 19 04​:03​:51 2013, demerphq wrote​:

IMO this should be viewed as a 5.18 blocker.

Schwern accepted the patch in this pull​:

Perl-Toolchain-Gang/ExtUtils-MakeMaker@6e09ca2

I believe that means what remains to be done is​:

(a) Updated version of ExtUtils​::MakeMaker released to CPAN;

(b) We pull that version into Perl 5 blead.

Correct?

@p5pRT
Copy link
Author

p5pRT commented Feb 23, 2013

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Feb 24, 2013

From @demerphq

On 24 February 2013 00​:53, James E Keenan via RT
<perlbug-followup@​perl.org> wrote​:

On Tue Feb 19 04​:03​:51 2013, demerphq wrote​:

IMO this should be viewed as a 5.18 blocker.

Schwern accepted the patch in this pull​:

Perl-Toolchain-Gang/ExtUtils-MakeMaker@6e09ca2

I believe that means what remains to be done is​:

(a) Updated version of ExtUtils​::MakeMaker released to CPAN;

(b) We pull that version into Perl 5 blead.

Correct?

Yes, except that we are also waiting on a second PR to be applied
before they do that.

Yves

--
perl -Mre=debug -e "/just|another|perl|hacker/"

@p5pRT
Copy link
Author

p5pRT commented Mar 20, 2013

From @rjbs

Fixed in ExtUtils-MakeMaker-6.65_01, now in blead.

--
rjbs

@p5pRT
Copy link
Author

p5pRT commented Mar 20, 2013

From [Unknown Contact. See original ticket]

Fixed in ExtUtils-MakeMaker-6.65_01, now in blead.

--
rjbs

@p5pRT
Copy link
Author

p5pRT commented Mar 20, 2013

@rjbs - Status changed from 'open' to 'resolved'

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

No branches or pull requests

1 participant