Skip Menu |

This queue is for tickets about the DBM-Deep CPAN distribution.

Report information
The Basics
Id: 16877
Status: resolved
Worked: 5 hours (300 min)
Priority: 0/
Queue: DBM-Deep

People
Owner: RKINYON [...] cpan.org
Requestors: ANDK [...] cpan.org
Cc:
AdminCc:

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



Subject: Broken with bleadperl
I just tried DBM::Deep against current bleadperl (@26581) and it fails many tests. Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/04array.t 255 65280 11 22 200.00% 1-11 t/05bigarray.t 255 65280 1 2 200.00% 1 t/10deeparray.t 255 65280 1 2 200.00% 1 t/12optimize.t 255 65280 3 6 200.00% 1-3 t/19export.t 9 2304 1 2 200.00% 1 Failed 5/20 test scripts, 75.00% okay. 17/70 subtests failed, 75.71% okay. I'll followup with more detailed findings when I find the time -- unless somebody beats me to it:) Please let me know how much you know already about the problems involved.
Date: Tue, 3 Jan 2006 01:11:48 -0800
From: Joseph Huckaby <jhuckaby [...] gmail.com>
To: bug-DBM-Deep [...] rt.cpan.org, andk [...] cpan.org
Subject: Re: [cpan #16877] Broken with bleadperl
RT-Send-Cc:
What is bleadperl? I've never heard of it before. No wikipedia entry either? - Joe On 1/2/06, Andreas Koenig via RT <bug-DBM-Deep@rt.cpan.org> wrote: Show quoted text
> > This message about DBM-Deep was sent to you by ANDK <ANDK@cpan.org> via rt.cpan.org > > Full context and any attached attachments can be found at: > <URL: https://rt.cpan.org/Ticket/Display.html?id=16877 > > > I just tried DBM::Deep against current bleadperl (@26581) and it fails many tests. > > Failed Test Stat Wstat Total Fail Failed List of Failed > ------------------------------------------------------------------------------- > t/04array.t 255 65280 11 22 200.00% 1-11 > t/05bigarray.t 255 65280 1 2 200.00% 1 > t/10deeparray.t 255 65280 1 2 200.00% 1 > t/12optimize.t 255 65280 3 6 200.00% 1-3 > t/19export.t 9 2304 1 2 200.00% 1 > Failed 5/20 test scripts, 75.00% okay. 17/70 subtests failed, 75.71% okay. > > > I'll followup with more detailed findings when I find the time -- unless somebody beats me to it:) Please let me know how much you know already about the problems involved. >
From: andreas.koenig.gmwojprw [...] franz.ak.mind.de (Andreas J. Koenig)
To: Joseph Huckaby <jhuckaby [...] gmail.com>
CC: bug-DBM-Deep [...] rt.cpan.org, andk [...] cpan.org
Subject: Re: [cpan #16877] Broken with bleadperl
Date: Wed, 04 Jan 2006 00:18:33 +0100
RT-Send-Cc:
Show quoted text
>>>>> On Tue, 3 Jan 2006 01:11:48 -0800, Joseph Huckaby <jhuckaby@gmail.com> said:
Show quoted text
> What is bleadperl? I've never heard of it before. No wikipedia entry either?
See man perlhack. Show quoted text
>> I'll followup with more detailed findings when I find the time -- >> unless somebody beats me to it:) Please let me know how much you >> know already about the problems involved.
In the meantime I have found where the problem stems from: in perl 5.10 pseudo hashes will be deprecated. The patch that pulls pseudo hashes is patch #17725 and I can verify that DBM::Deep worked up to #17724 and stopped working after that. Apparently DBM::Deep somehow relies on pseudohashes. Can you recognize where this happens and how deep involved they are in the code base? Does DBM::Deep have a future without pseudohashes? -- andreas
From: andreas.koenig.gmwojprw [...] franz.ak.mind.de (Andreas J. Koenig)
To: Joseph Huckaby <jhuckaby [...] gmail.com>
CC: "Andreas J. Koenig" <andreas.koenig.gmwojprw [...] franz.ak.mind.de>, bug-DBM-Deep [...] rt.cpan.org
Subject: Re: [cpan #16877] Broken with bleadperl
Date: Wed, 04 Jan 2006 09:25:32 +0100
RT-Send-Cc:
(Please keep the CC to rt.cpan.org, so we get this thread archived -- Thanks!) Show quoted text
>>>>> On Tue, 3 Jan 2006 17:10:28 -0800, Joseph Huckaby <jhuckaby@gmail.com> said:
Show quoted text
>> Apparently DBM::Deep somehow relies on pseudohashes. Can you recognize >> where this happens and how deep involved they are in the code base? >> Does DBM::Deep have a future without pseudohashes?
Show quoted text
> I had no idea DBM::Deep relied on pseudohashes. It does not use them > as far as I know, but it does support both tied hashes and tied > arrays. Also, all the tied references are also blessed into the > DBM::Deep class. Perhaps what broke after #17724 is this hybrid > tie/bless functionality, which is required for DBM::Deep to work.
I'm glad to hear you are not using pseudohashes directly. Show quoted text
> Specifically, what happens in the class constructor is, the hash > reference is blessed, then it is tied to the class, so simple > operations on the hash/array will invoke the class, but you can also > call methods on it.
I cannot look into it in depth, but from a cursory look I seem you have this construct: my $self = tied( %{$_[0]} ) || $_[0]; $self->{something}... in several places. If $_[0] is a blessed arrayref, then the pseudo hash mechanism kicks in and you lose with 5.10. If you can somehow protect these places with Scalar::Util::reftype, the problem could probably be solved. -- andreas
0.97 passes all test on current bleadperl. Thanks!
Subject: Re: [rt.cpan.org #16877] Broken with bleadperl
Date: Sat, 25 Feb 2006 01:54:10 -0800
To: bug-DBM-Deep [...] rt.cpan.org, "Andreas J. Koenig" <andreas.koenig.gmwojprw [...] franz.ak.mind.de>, "Rob Kinyon" <rob.kinyon [...] gmail.com>
From: "Joseph Huckaby" <jhuckaby [...] gmail.com>
Thank Rob, he did nearly all the work! :-) - Joe On 2/25/06, Andreas Koenig via RT <bug-DBM-Deep@rt.cpan.org> wrote: Show quoted text
> > <URL: http://rt.cpan.org/Ticket/Display.html?id=16877 > > > 0.97 passes all test on current bleadperl. Thanks! >