Skip Menu |

This queue is for tickets about the DBI CPAN distribution.

Report information
The Basics
Id: 84146
Status: resolved
Priority: 0/
Queue: DBI

People
Owner: Nobody in particular
Requestors: zefram [...] fysh.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: DBI broken on perl 5.17.10
Date: Fri, 22 Mar 2013 17:28:50 +0000
To: bug-DBI [...] rt.cpan.org
From: Zefram <zefram [...] fysh.org>
DBI fails some Gofer cache tests on perl 5.17.10. Failure allegedly arrived about the same time as the hash randomisation core change (each hash object now has its own iteration order). Several modules require fixes of the form s/keys/sort keys/ for this change. I tried adding a bunch of key sorting operations of this nature to the DBI code, but the test failures remained. -zefram
Thanks Zefram. I'd actually just noticed the DBI was mentioned in that context in p5p and I'm building a blead perl now...
Fixed in r15585. Release to follow. FYI the diff was: --- lib/DBI/Gofer/Serializer/Storable.pm (revision 15575) +++ lib/DBI/Gofer/Serializer/Storable.pm (working copy) @@ -46,6 +46,7 @@ sub serialize { my $self = shift; local $Storable::forgive_me = 1; # for CODE refs etc + local $Storable::canonical = 1; # for go_cache my $frozen = nfreeze(shift); return $frozen unless wantarray; return ($frozen, $self->{deserializer_class}); I imagine that, since it's "just a cache", I reasoned that the cost of canonicalization wasn't worth it. Up until now I was right.
Released. Thanks.