Bug#595720: future unblock: libdbm-deep-perl/2.0002-1
"Adam D. Barratt" <adam@adam-barratt.org.uk> writes:
> On Mon, 2010-09-06 at 12:24 +0900, Ansgar Burchardt wrote:
>> libdbm-deep-perl can corrupt the database if too many transactions are
>> started[1]. This was fixed upstream in version 2.0002. There is
>> another minor change in behavior in 2.0001, but this should not affect
>> Debian (the only rdep, libipc-pubsub-perl, seems not to use this
>> feature).
> [...]
>> + * Use debhelper compat level 8; no longer pass --buildsystem=perl_build in
>> + debian/rules as this is now selected by default.
>
> That's not really a great change to be making during freeze; have you
> verified that the package is unaffected by all of the changes between
> compat levels 7 and 8?
The only change between compat level 7 and 8 that is relevant is that
Build.PL is preferred over Makefile.PL. But we already used Build.PL
with compat level 7 (--buildsystem=perl_build). The other changes
mentioned in debhelper(7) are not relevant: they regard passing options
to debhelper commands (which we do not) and a change in dh_makeshlibs
(which is not used).
In addition the list of included files is the same (except for the now
removed ConfigData.pm).
>> lib/DBM/Deep/Engine/File.pm (.../tags/libdbm-deep-perl/2.0000-1) (revision 62350)
>> +++ lib/DBM/Deep/Engine/File.pm (.../trunk/libdbm-deep-perl) (revision 62350)
> [...]
>> @@ -435,7 +426,7 @@
>>
>> my @slots = $self->read_txn_slots;
>> my $found;
>> - for my $i ( 0 .. $#slots ) {
>> + for my $i ( 0 .. $self->num_txns-2 ) {
>
> Should that be "$self->read_txn_slots - 2" ?
num_txns is the number of transactions. read_txn_slots gives an array
that indicate which transactions are in use, but is always rounded up to
a multiple of 8 (it reads bytes). I don't know why read_txn_slots
doesn't just ignore the surplus entries.
The same expression (0 .. $self->num_txns - 2) is also used in _dump_file.
Regards,
Ansgar
Reply to: