- Package:
- src:libdancer2-plugin-database-perl
- Source:
- libdancer2-plugin-database-perl
- Submitter:
- Santiago Vila
- Date:
- 2023-06-13 19:09:05 UTC
- Severity:
- important
- Tags:
Dear maintainer:
I tried to build this package in buster but it failed:
--------------------------------------------------------------------------------
[...]
debian/rules build-indep
dh build-indep
dh_update_autotools_config -i
dh_auto_configure -i
perl -I. Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro"
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Dancer2::Plugin::Database
Writing MYMETA.yml and MYMETA.json
dh_auto_build -i
make -j1
make[1]: Entering directory '/<<PKGBUILDDIR>>'
cp lib/Dancer2/Plugin/Database.pm blib/lib/Dancer2/Plugin/Database.pm
Manifying 1 pod document
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test -i
make -j1 test TEST_VERBOSE=1
make[1]: Entering directory '/<<PKGBUILDDIR>>'
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
# Testing Dancer2::Plugin::Database 2.17, with Dancer2 0.207000 in Perl 5.028001, /usr/bin/perl
t/00-load.t .......
1..1
ok 1 - use Dancer2::Plugin::Database;
ok
# Failed test 'database_connection_failed hook fires'
# at t/01-basic.t line 247.
# got: ''
# expected: '1'
# Looks like you failed 1 test of 43.
t/01-basic.t ......
ok 1 - Got a code ref
ok 2 - database_connected hook fires
ok 3 - database_error hook fires
ok 4 - handle isa('DBI::db')
ok 5 - handle isa('Dancer::Plugin::Database::Core::Handle')
ok 6 - handle isa('t::lib::TestHandleClass')
ok 7 - handle is not a duck
ok 8 - db is created
ok 9 - GET / is found
ok 10 - content looks good for / (7 users afiter DB initialisation)
ok 11 - GET /user/1 is found
ok 12 - content looks good for /user/1
ok 13 - content looks good for /user/2
ok 14 - DELETE /user/3 is ok
ok 15 - content looks good for / (6 users after deleting one)
ok 16 - quick_insert returned OK status
ok 17 - quick_insert created a record successfully
ok 18 - quick_select returned the record created by quick_insert
ok 19 - quick_select doesn't return non-matching record
ok 20 - content looks good for /quick_select/1/category
ok 21 - content looks good for /quick_select/2/name
ok 22 - content looks good for /quick_lookup/bigpresh
ok 23 - quick_count shows 2 admins
ok 24 - Complex where clause succeeded
ok 25 - Complex not where clause succeeded
ok 26 - set operation where clause succeeded
ok 27 - quick_select returns multiple records in list context
ok 28 - quick_update returned OK status
ok 29 - quick_update updated a record successfully
ok 30 - quick_delete returned OK status
ok 31 - quick_delete deleted a record successfully
ok 32 - Fetched a single specified column OK
ok 33 - Fetched multiple specified columns OK
ok 34 - User-specified LIMIT works (1 row)
ok 35 - User-specified LIMIT works (2 row)
ok 36 - Records sorted properly
ok 37 - Records sorted properly in descending order
ok 38
ok 39 - runtime_config returned OK status
ok 40 - runtime_config got a usable database handle
ok 41
ok 42 - database_connection_lost hook fires
not ok 43 - database_connection_failed hook fires
1..43
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/43 subtests
t/manifest.t ...... skipped: Author tests not required for installation
t/pod-coverage.t .. skipped: Author tests not required for installation
t/pod.t ...........
1..1
ok 1 - POD test for blib/lib/Dancer2/Plugin/Database.pm
ok
Test Summary Report
-------------------
t/01-basic.t (Wstat: 256 Tests: 43 Failed: 1)
Failed test: 43
Non-zero exit status: 1
Files=5, Tests=45, 4 wallclock secs ( 0.07 usr 0.03 sys + 2.54 cusr 0.27 csys = 2.91 CPU)
Result: FAIL
Failed 1/5 test programs. 1/45 subtests failed.
make[1]: *** [Makefile:851: test_dynamic] Error 255
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test: make -j1 test TEST_VERBOSE=1 returned exit code 2
make: *** [debian/rules:4: build-indep] Error 2
dpkg-buildpackage: error: debian/rules build-indep subprocess returned exit status 2
--------------------------------------------------------------------------------
The build was made in one of my autobuilders with "dpkg-buildpackage -A".
The failure happens randomly, i.e. sometimes it fails, sometimes it does not,
so I don't have a "recipe" to reproduce it as such, but the "randomness"
is reproducible in my autobuilders (i.e. when I build it a lot of times,
there are always some failed builds).
I've put several failed build logs here for reference:
https://people.debian.org/~sanvila/build-logs/libdancer2-plugin-database-perl/
If you need a test machine to reproduce this, please contact me
privately and I could provide ssh access to a machine where it happens
(caveat: randomly and maybe with low probability).
If this is really a bug in one of the build-depends, please use reassign and affects,
so that this is still visible in the BTS web page for this package.
Thanks.
Control: tags -1 confirmed Control: forwarded -1 https://github.com/bigpresh/Dancer-Plugin-Database/issues/102 It took me several retries before triggering, but I ended up hitting the same case of test failure, so it looks pretty much hardware independent. This looks to affect autopkgtest as well on occasions[1], so can be annoying during testing migrations. Upstream has been made aware of the issue at some point, but no feedback from them so far. I'm not sure how to fix that myself, but we may be notified eventually if the issue is closed upstream thanks to bts triage. [1]: https://ci.debian.net/data/autopkgtest/testing/amd64/libd/libdancer2-plugin-database-perl/31340832/log.gz Have a nice day, :)
It turned out I managed to find a workaround. Putting it below
for ulterior reference if need be; few more details are
available on upstream bug tracker:
-------8<--------------8<--------------8<--------------8<-------
--- libdancer2-plugin-database-perl.orig/t/lib/TestApp.pm
+++ libdancer2-plugin-database-perl/t/lib/TestApp.pm
@@ -209,6 +209,9 @@
var connection_failed => 1;
};
get '/database_connection_failed_fires' => sub {
+ # Avoid catching an old handle which may not have expired yet
+ database()->disconnect;
+ sleep 0.2;
# Give a ridiculous database filename which should never exist in order to
# force a connection failure
my $handle = database({
------->8-------------->8-------------->8-------------->8-------
Have a nice day, :)
--
Étienne Mollier <emollier@emlwks999.eu>
Fingerprint: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da
Sent from /dev/pts/3, please excuse my verbosity.
On air: Chicago - Beginnings
Hi, I ran into this issue today. Normally I file bugs for flaky tests at severity serious because of the point raised, so I'll mark this bug as such. Due to the timing in the freeze I'll also (Release Team member hat on) mark it as bookworm-ignore. Targeted fixes are still welcome. Paul
Hello, Bug #923824 in libdancer2-plugin-database-perl reported by you has been fixed in the Git repository and is awaiting an upload. You can see the commit message below and you can check the diff of the fix at: https://salsa.debian.org/perl-team/modules/packages/libdancer2-plugin-database-perl/-/commit/c40e2150ac2129d84869c6ae4b34fa3e0fdf9907 ------------------------------------------------------------------------ stabilize-test-database-connection.patch: new patch. Closes: #923824 ------------------------------------------------------------------------ (this message was generated automatically) -- Greetings https://bugs.debian.org/923824
We believe that the bug you reported is fixed in the latest version of libdancer2-plugin-database-perl, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 923824@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Étienne Mollier <emollier@debian.org> (supplier of updated libdancer2-plugin-database-perl package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@ftp-master.debian.org) Format: 1.8 Date: Tue, 13 Jun 2023 20:12:49 +0200 Source: libdancer2-plugin-database-perl Architecture: source Version: 2.17-3 Distribution: unstable Urgency: medium Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org> Changed-By: Étienne Mollier <emollier@debian.org> Closes: 923824 Changes: libdancer2-plugin-database-perl (2.17-3) unstable; urgency=medium . * Team upload. * stabilize-test-database-connection.patch: new patch. (Closes: #923824) * Declare compliance with Debian Policy 4.6.2. * Set Rules-Requires-Root: no. Checksums-Sha1: be0786436fadf42f8dc9f0b86c64436f1ce22993 2553 libdancer2-plugin-database-perl_2.17-3.dsc 6ca18affd6046c74a186be3d23101ea76c0b41eb 3380 libdancer2-plugin-database-perl_2.17-3.debian.tar.xz Checksums-Sha256: 380909020ed57bb707f80a02b13921dbff307fe48102a1d9b774c0d0e690e2f1 2553 libdancer2-plugin-database-perl_2.17-3.dsc 75c5a57631697b23af756b61a253668c7f47f843119dfc4f9000389d625d5f89 3380 libdancer2-plugin-database-perl_2.17-3.debian.tar.xz Files: d88e66058cdd099856b953ca1f1e6305 2553 perl optional libdancer2-plugin-database-perl_2.17-3.dsc 3f4b4dd748da3b58734545029e8fe844 3380 perl optional libdancer2-plugin-database-perl_2.17-3.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQJIBAEBCgAyFiEEj5GyJ8fW8rGUjII2eTz2fo8NEdoFAmSItj8UHGVtb2xsaWVy QGRlYmlhbi5vcmcACgkQeTz2fo8NEdqoBw/+Po4HkB5WBxEltM5NOalaHCysDfyW +Z7nA1yni6siKiUp72SVVuWzSx0jueZ+jarFNc+3p3PtkoYSRx5u/ivpkA0Bebsu ErMT6QBmtboiHBGFDld3ogpRscO2trfKmSGhYjN4UVFgpZcYEDEgowff5ja4T//0 MfOEUeA/5xzUcIyjPz63QXEC5J2Of/QiNTqV58dV1sL9Nb+oS/mT/pNuaYSB74RJ ANliC0Y13TJ9UH3gJXS4QiVhA+vTUCVacMGYh4N67bf+up6u8H+D3/DE/RvX/LSM YkTdap4pWI98Gjn8X+TQ8BF2Pg/THB97lkejRBlQh4eviSjLN5Qcl+BiuVDEgcFD T5OB8LbUW6GQogmxzEcTU8Ig+EauLRt8p3TRVMY29AGRHFSaNQ/tUaxwVb0VUdMd s2rXmL6Cg13XrHroxE2GoWjTeBODM9gxeaK3tvvWCCq4lBXtCFi9oDsN+eHvrM8I IO4gypAuE/VR+k0MYlLOyxK+eWzGxfd1spuM2zqIDXn5bvnoIlOXozz7lXMgwmTB w6G2GAH0zDtA7xMewG3rqFrS5R3finCVWo/fz0tbgTk0vDHQT/P+LFmhV8OHhu1K 04JqrpowCII5UGZIXY5iQdl7WBKCN8lRpulwjRW9f2/NpxS3wHSM0kf25cfCbTmb KVJAg/Kt+8jj/ZU= =2gcb -----END PGP SIGNATURE-----