Skip Menu |

This queue is for tickets about the Scalar-List-Utils CPAN distribution.

Report information
The Basics
Id: 87857
Status: resolved
Priority: 0/
Queue: Scalar-List-Utils

People
Owner: Nobody in particular
Requestors: leonerd-cpan [...] leonerd.org.uk
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in:
  • 1.27
  • 1.28
  • 1.29
  • 1.30
Fixed in: 1.32



Subject: New pair* functions do not work on perl 5.8.9 or 5.10.0
On 5.8.9 or 5.10.0 the return value seems to still have the CODE block in it as well: # Failed test 'pairmap list' # at t/pair.t line 40. # Structures begin differing at: # $got->[0] = CODE(0x1774090) # $expected->[0] = 'ONE' # Failed test 'pairmap list returning >2 items' # at t/pair.t line 44. # Structures begin differing at: # $got->[0] = CODE(0x17742a0) # $expected->[0] = 'one' Attempt to free unreferenced scalar: SV 0x17c3860, Perl interpreter: 0x15c4010 at t/pair.t line 48. Attempt to free unreferenced scalar: SV 0x17b5d50, Perl interpreter: 0x15c4010 at t/pair.t line 48. Attempt to free unreferenced scalar: SV 0x17c3980, Perl interpreter: 0x15c4010 at t/pair.t line 48. # Failed test 'pairmap pads with undef' # at t/pair.t line 48. # Structures begin differing at: # $got->[0] = CODE(0x17745d0) # $expected->[0] = '1' t/pair.t ................ Failed 8/17 subtests Since it works in 5.10.1 onwards, up to latest perl, it only seems to affect this very old and long-EOL'ed set of builds. I'm therefore not going to put any effort in currently to fix it, but if anyone has any insight or wants it fixed that old, I can take a look. -- Paul Evans
From: rurban [...] x-ray.at
See https://github.com/Scalar-List-Utils/Scalar-List-Utils/pull/8 to disable this test and do not export pairmap on 5.8.9 and 5.10.0. On Wed Aug 14 15:37:09 2013, PEVANS wrote: Show quoted text
> On 5.8.9 or 5.10.0 the return value seems to still have the CODE block > in it as well: > > # Failed test 'pairmap list' > # at t/pair.t line 40. > # Structures begin differing at: > # $got->[0] = CODE(0x1774090) > # $expected->[0] = 'ONE' > > # Failed test 'pairmap list returning >2 items' > # at t/pair.t line 44. > # Structures begin differing at: > # $got->[0] = CODE(0x17742a0) > # $expected->[0] = 'one' > Attempt to free unreferenced scalar: SV 0x17c3860, Perl interpreter: > 0x15c4010 at t/pair.t line 48. > Attempt to free unreferenced scalar: SV 0x17b5d50, Perl interpreter: > 0x15c4010 at t/pair.t line 48. > Attempt to free unreferenced scalar: SV 0x17c3980, Perl interpreter: > 0x15c4010 at t/pair.t line 48. > > # Failed test 'pairmap pads with undef' > # at t/pair.t line 48. > # Structures begin differing at: > # $got->[0] = CODE(0x17745d0) > # $expected->[0] = '1' > t/pair.t ................ > Failed 8/17 subtests > > Since it works in 5.10.1 onwards, up to latest perl, it only seems to > affect this very old and long-EOL'ed set of builds. I'm therefore not > going to put any effort in currently to fix it, but if anyone has any > insight or wants it fixed that old, I can take a look.
It turns out that it's only actually the MULTICALL implementation that fails on 5.8.9/5.10.0. I've instead solved it a different way where only that part is skipped on those perls; the non-MULTICALL half works fine. -- Paul Evans
Released in 1.32 -- Paul Evans