Skip Menu |

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

Report information
The Basics
Id: 63495
Status: resolved
Priority: 0/
Queue: DBM-Deep

People
Owner: Nobody in particular
Requestors: Shailendra.Mahapatra [...] netapp.com
Cc:
AdminCc:

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



Subject: find_md5 called on an object of DBM::Deep::Engine::Sector::Scalar
Date: Wed, 1 Dec 2010 16:11:23 +0530
To: <bug-DBM-Deep [...] rt.cpan.org>
From: "Mahapatra, Shailendra" <Shailendra.Mahapatra [...] netapp.com>
Hi, The find_md5() method in line 1599 is sometimes called on an object of DBM::Deep::Engine::Sector::Scalar. This happens because at line 1573 the object returned is not checked for other types. The while loop exits when the object type is other than DBM::Deep::Engine::Sector::Scalar::Index. Therefore when the find_md5 method is called the script fails. DBM::Deep version : 1.0006 OS: linux Regards, Shailendra Mahapatra Central Test Tools & Infrastructure +91-80-4184 3984
On Wed Dec 01 05:41:54 2010, Shailendra.Mahapatra@netapp.com wrote: Show quoted text
> Hi, > > The find_md5() method in line 1599 is sometimes called on an object of > DBM::Deep::Engine::Sector::Scalar. This happens because at line 1573 the > object returned is not checked for other types. The while loop exits > when the object type is other than > DBM::Deep::Engine::Sector::Scalar::Index. > > Therefore when the find_md5 method is called the script fails. > > DBM::Deep version : 1.0006 > OS: linux
1.0006 was released over 3 years ago. Please try with a more recent version and see if your problem persists.
On Wed Dec 01 05:41:54 2010, Shailendra.Mahapatra@netapp.com wrote: Show quoted text
> Hi, > > The find_md5() method in line 1599 is sometimes called on an object of > DBM::Deep::Engine::Sector::Scalar. This happens because at line 1573 the > object returned is not checked for other types. The while loop exits > when the object type is other than > DBM::Deep::Engine::Sector::Scalar::Index. > > Therefore when the find_md5 method is called the script fails.
This can only happen if the database is corrupt. So you will have to re-create it, I’m afraid. Are you using transactions? DBM::Deep used to corrupt the database if too many transactions were open. That was fixed in version 2.0002. So please try upgrading to the latest version and re-creating the database and see whether the problem persists.