Bug 1974288

Summary: perl-5.34.0-479.fc35 FTBFS with gdbm-devel-1.20-1.fc35: ext/GDBM_File/t/gdbm.t: gdbm_firstkey: Item not found at ../../t/lib/dbmt_common.pl line 52.
Product: [Fedora] Fedora Reporter: Petr Pisar <ppisar>
Component: perlAssignee: Jitka Plesnikova <jplesnik>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: caillon+fedoraproject, iarnell, jplesnik, kasal, mmaslano, mspacek, perl-devel, ppisar, psabata, rhughes, sandmann, spotrh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: perl-5.34.0-480.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-06-25 09:04:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Petr Pisar 2021-06-21 09:56:56 UTC
perl-5.34.0-479.fc35 fails to build in Fedora 35 if gdbm-devel-1.20-1.fc35 is installed because a gdbm test fails:

../ext/FileCache/t/02maxopen.t ....................................... ok
gdbm_firstkey: Item not found at ../../t/lib/dbmt_common.pl line 52.
Compilation failed in require at t/gdbm.t line 6.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 5.
../ext/GDBM_File/t/gdbm.t ............................................
Dubious, test returned 255 (wstat 65280, 0xff00)
All 5 subtests passed

This is probably triggered by upgrading gdbm from 1.19 to 1.20. From a GDBM changelog:


Version 1.20, 2021-06-17

* New bucket cache

The bucket cache support has been rewritten from scratch.  The new
bucket cache code provides for significant speed up of search
operations.

* Change mmap prereading strategy

Pre-reading of the memory mapper regions, introduced in version 1.19
can be advantageous only when doing intensive look-ups on a read-only
database.  It degrades performance otherwise, especially if doing
multiple inserts.  Therefore, this version introduces a new flag
to gdbm_open: GDBM_PREREAD.  When given, it enables pre-reading of
memory mapped regions.

See https://github.com/Perl/perl5/issues/18884 for details.