[Pkg-nagios-devel] Bug#1105067: libmonitoring-livestatus-perl: FTBFS: Failed tests: 12-13

Santiago Vila sanvila at debian.org
Sat May 10 19:05:56 BST 2025


Package: src:libmonitoring-livestatus-perl
Version: 0.84-3
Severity: serious
Tags: ftbfs trixie sid

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

[ please read notes at the end ]

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
	/usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro"
*** Module::AutoInstall version 1.19
*** Checking for Perl dependencies...
[Core Features]
- IO::Socket::UNIX ...loaded. (1.55)
- IO::Socket::IP   ...loaded. (0.42)
- IO::Select       ...loaded. (1.55)
- Test::More       ...loaded. (1.302199 >= 0.87)
- utf8             ...loaded. (1.25)
- Encode           ...loaded. (3.21)
- Cpanel::JSON::XS ...loaded. (4.39)
*** Module::AutoInstall configuration finished.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Monitoring::Livestatus
Writing MYMETA.yml and MYMETA.json
   dh_auto_build
	make -j2
make[1]: Entering directory '/<<PKGBUILDDIR>>'
cp lib/Monitoring/Livestatus/INET.pm blib/lib/Monitoring/Livestatus/INET.pm
cp lib/Monitoring/Livestatus/UNIX.pm blib/lib/Monitoring/Livestatus/UNIX.pm
cp lib/Monitoring/Livestatus.pm blib/lib/Monitoring/Livestatus.pm
Manifying 3 pod documents
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_test
	make -j2 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, 'inc', 'blib/lib', 'blib/arch')" t/01-Monitoring-Livestatus-basic_tests.t t/02-Monitoring-Livestatus-internals.t t/085-json_xs.t t/20-Monitoring-Livestatus-test_socket.t t/21-Monitoring-Livestatus-INET.t t/22-Monitoring-Livestatus-UNIX.t t/23-Monitoring-Livestatus-BigData.t t/30-Monitoring-Livestatus-live-test.t t/32-Monitoring-Livestatus-backend-test.t t/33-Monitoring-Livestatus-test_socket_timeout.t t/34-Monitoring-Livestatus-utf8_support.t t/35-Monitoring-Livestatus-callbacks_support.t t/97-Pod.t t/98-Pod-Coverage.t t/99-Perl-Critic.t
t/01-Monitoring-Livestatus-basic_tests.t .......... 
1..29
ok 1 - use Monitoring::Livestatus;
ok 2 - 'single args' isa 'Monitoring::Livestatus'
ok 3 - get peer_name()
ok 4 - get peer_addr()
ok 5 - 'new hash args' isa 'Monitoring::Livestatus'
ok 6 - get peer_name()
ok 7 - get peer_addr()
ok 8 - 'peer hash arg socket' isa 'Monitoring::Livestatus'
ok 9 - get peer_name()
ok 10 - get peer_addr()
ok 11 - 'peer backend UNIX' isa 'Monitoring::Livestatus::UNIX'
ok 12 - 'peer hash arg server' isa 'Monitoring::Livestatus'
ok 13 - get peer_name()
ok 14 - get peer_addr()
ok 15 - 'peer backend INET' isa 'Monitoring::Livestatus::INET'
ok 16 - 'peer hash arg multi with keepalive' isa 'Monitoring::Livestatus'
ok 17 - get peer_name()
ok 18 - get peer_addr()
ok 19 - 'peer hash arg multi with general timeout' isa 'Monitoring::Livestatus'
ok 20 - get peer_name()
ok 21 - get peer_addr()
ok 22 - connect_timeout
ok 23 - query_timeout
ok 24 - 'peer hash arg multi with general timeout' isa 'Monitoring::Livestatus'
ok 25 - get peer_name()
ok 26 - get peer_addr()
ok 27 - connect_timeout
ok 28 - query_timeout
ok 29 - 'peer hash arg multi with error retry' isa 'Monitoring::Livestatus'
ok
t/02-Monitoring-Livestatus-internals.t ............ 
1..14
ok 1 - use Monitoring::Livestatus;
ok 2 - 'single args server' isa 'Monitoring::Livestatus'
ok 3 - 'single args server peer' isa 'Monitoring::Livestatus::INET'
ok 4 - single args server peer name
ok 5 - single args server peer addr
ok 6 - 'single args socket' isa 'Monitoring::Livestatus'
ok 7 - 'single args socket peer' isa 'Monitoring::Livestatus::UNIX'
ok 8 - single args socket peer name
ok 9 - single args socket peer addr
ok 10 - error code 404
ok 11 - error code 404 message
ok 12 - statsAnd, statsOr query keys
ok 13 - stats query keys2
ok 14 - normal query keys
ok
t/085-json_xs.t ................................... skipped: Author test. Set $ENV{TEST_AUTHOR} to a true value to run.
t/20-Monitoring-Livestatus-test_socket.t .......... 
1..109
ok 1 - use Monitoring::Livestatus;
creating unix socket
creating tcp socket
ok 2 - An object of class 'Monitoring::Livestatus' isa 'Monitoring::Livestatus'
ok 3 - enable verbose
ok 4 - disable verbose
ok 5 - disable errors_are_fatal
ok 6 - enable errors_are_fatal
ok 7 - selectall_arrayref($statement)
ok 8 - selectall_arrayref($statement, { Slice => {} })
ok 9 - selectall_hashref($statement, "name")
ok 10 - selectcol_arrayref($statement)
ok 11 - selectcol_arrayref($statement, { Columns=>[1,2] })
ok 12 - selectcol_arrayref($statement, { Columns=>[1,2,3] })
ok 13 - selectrow_array($statement)
ok 14 - selectrow_arrayref($statement)
ok 15 - selectrow_hashref($statement)
ok 16 - selectall_arrayref($stats_statement)
ok 17 - selectall_arrayref($stats_statement, { Slice => {} })
ok 18 - selectcol_arrayref($stats_statement)
ok 19 - selectrow_arrayref($stats_statement)
ok 20 - selectrow_arrayref($stats_statement)
ok 21 - selectrow_hashref($stats_statement)
ok 22 - selectscalar_value($single_statement)
ok 23 - selectall_arrayref($empty_statement)
ok 24 - selectcol_arrayref($empty_statement)
ok 25 - selectrow_arrayref($empty_statement)
ok 26 - selectrow_arrayref($empty_statement)
ok 27 - selectrow_hashref($empty_statement)
ok 28 - selectall_arrayref($empty_hostgroups_stm)
ok 29 - An object of class 'Monitoring::Livestatus::INET' isa 'Monitoring::Livestatus'
ok 30 - enable verbose
ok 31 - disable verbose
ok 32 - disable errors_are_fatal
ok 33 - enable errors_are_fatal
ok 34 - selectall_arrayref($statement)
ok 35 - selectall_arrayref($statement, { Slice => {} })
ok 36 - selectall_hashref($statement, "name")
ok 37 - selectcol_arrayref($statement)
ok 38 - selectcol_arrayref($statement, { Columns=>[1,2] })
ok 39 - selectcol_arrayref($statement, { Columns=>[1,2,3] })
ok 40 - selectrow_array($statement)
ok 41 - selectrow_arrayref($statement)
ok 42 - selectrow_hashref($statement)
ok 43 - selectall_arrayref($stats_statement)
ok 44 - selectall_arrayref($stats_statement, { Slice => {} })
ok 45 - selectcol_arrayref($stats_statement)
ok 46 - selectrow_arrayref($stats_statement)
ok 47 - selectrow_arrayref($stats_statement)
ok 48 - selectrow_hashref($stats_statement)
ok 49 - selectscalar_value($single_statement)
ok 50 - selectall_arrayref($empty_statement)
ok 51 - selectcol_arrayref($empty_statement)
ok 52 - selectrow_arrayref($empty_statement)
ok 53 - selectrow_arrayref($empty_statement)
ok 54 - selectrow_hashref($empty_statement)
ok 55 - selectall_arrayref($empty_hostgroups_stm)
ok 56 - An object of class 'Monitoring::Livestatus::UNIX' isa 'Monitoring::Livestatus'
ok 57 - enable verbose
ok 58 - disable verbose
ok 59 - disable errors_are_fatal
ok 60 - enable errors_are_fatal
ok 61 - selectall_arrayref($statement)
ok 62 - selectall_arrayref($statement, { Slice => {} })
ok 63 - selectall_hashref($statement, "name")
ok 64 - selectcol_arrayref($statement)
ok 65 - selectcol_arrayref($statement, { Columns=>[1,2] })
ok 66 - selectcol_arrayref($statement, { Columns=>[1,2,3] })
ok 67 - selectrow_array($statement)
ok 68 - selectrow_arrayref($statement)
ok 69 - selectrow_hashref($statement)
ok 70 - selectall_arrayref($stats_statement)
ok 71 - selectall_arrayref($stats_statement, { Slice => {} })
ok 72 - selectcol_arrayref($stats_statement)
ok 73 - selectrow_arrayref($stats_statement)
ok 74 - selectrow_arrayref($stats_statement)
ok 75 - selectrow_hashref($stats_statement)
ok 76 - selectscalar_value($single_statement)
ok 77 - selectall_arrayref($empty_statement)
ok 78 - selectcol_arrayref($empty_statement)
ok 79 - selectrow_arrayref($empty_statement)
ok 80 - selectrow_arrayref($empty_statement)
ok 81 - selectrow_hashref($empty_statement)
ok 82 - selectall_arrayref($empty_hostgroups_stm)
ok 83 - An object of class 'Monitoring::Livestatus' isa 'Monitoring::Livestatus'
ok 84 - enable verbose
ok 85 - disable verbose
ok 86 - disable errors_are_fatal
ok 87 - enable errors_are_fatal
ok 88 - selectall_arrayref($statement)
ok 89 - selectall_arrayref($statement, { Slice => {} })
ok 90 - selectall_hashref($statement, "name")
ok 91 - selectcol_arrayref($statement)
ok 92 - selectcol_arrayref($statement, { Columns=>[1,2] })
ok 93 - selectcol_arrayref($statement, { Columns=>[1,2,3] })
ok 94 - selectrow_array($statement)
ok 95 - selectrow_arrayref($statement)
ok 96 - selectrow_hashref($statement)
ok 97 - selectall_arrayref($stats_statement)
ok 98 - selectall_arrayref($stats_statement, { Slice => {} })
ok 99 - selectcol_arrayref($stats_statement)
ok 100 - selectrow_arrayref($stats_statement)
ok 101 - selectrow_arrayref($stats_statement)
ok 102 - selectrow_hashref($stats_statement)
ok 103 - selectscalar_value($single_statement)
ok 104 - selectall_arrayref($empty_statement)
ok 105 - selectcol_arrayref($empty_statement)
ok 106 - selectrow_arrayref($empty_statement)
ok 107 - selectrow_arrayref($empty_statement)
ok 108 - selectrow_hashref($empty_statement)
ok 109 - selectall_arrayref($empty_hostgroups_stm)
ok
t/21-Monitoring-Livestatus-INET.t ................. 
1..3
ok 1 - use Monitoring::Livestatus::INET;
ok 2 - 'Monitoring::Livestatus::INET->new()' isa 'Monitoring::Livestatus'
ok 3 - 'Monitoring::Livestatus::INET->new(%args)' isa 'Monitoring::Livestatus'
ok
t/22-Monitoring-Livestatus-UNIX.t ................. 
1..3
ok 1 - use Monitoring::Livestatus::UNIX;
ok 2 - 'Monitoring::Livestatus::UNIX->new()' isa 'Monitoring::Livestatus'
ok 3 - 'Monitoring::Livestatus::UNIX->new(%args)' isa 'Monitoring::Livestatus'
ok

#   Failed test 'memory delta: 0.00 MB'
#   at t/23-Monitoring-Livestatus-BigData.t line 84.

#   Failed test 'memory usage per entry: 0 B'
#   at t/23-Monitoring-Livestatus-BigData.t line 85.
# Looks like you failed 2 tests of 13.
t/23-Monitoring-Livestatus-BigData.t .............. 
1..13
ok 1 - use Monitoring::Livestatus;
ok 2 - 'Monitoring::Livestatus->new()' isa 'Monitoring::Livestatus'
ok 3 - testfile: /tmp/testresult.json.data written
ok 4 - file has 443 bytes
ok 5 - memory at start: 17.04 MB
ok 6 - netcat started
ok 7 - result is an array
ok 8 - result has right number
ok 9 - result contains hashes
ok 10 - result contains all hosts
ok 11 - memory at end: 17.04 MB
not ok 12 - memory delta: 0.00 MB
not ok 13 - memory usage per entry: 0 B
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/13 subtests 
t/30-Monitoring-Livestatus-live-test.t ............ skipped: Author test.  Set $ENV{TEST_SOCKET} and $ENV{TEST_SERVER} to run
t/32-Monitoring-Livestatus-backend-test.t ......... skipped: Author test.  Set $ENV{TEST_SOCKET} and $ENV{TEST_SERVER} and $ENV{TEST_BACKEND} to run
t/33-Monitoring-Livestatus-test_socket_timeout.t .. skipped: Author test.  Set $ENV{TEST_SOCKET} and $ENV{TEST_SERVER} to run
t/34-Monitoring-Livestatus-utf8_support.t ......... skipped: Author test. $ENV{TEST_UTF8} to run
t/35-Monitoring-Livestatus-callbacks_support.t .... skipped: Author test.  Set $ENV{TEST_SOCKET} and $ENV{TEST_SERVER} to run
t/97-Pod.t ........................................ skipped: Test::Pod 1.14 required
t/98-Pod-Coverage.t ............................... skipped: Author test.  Set $ENV{TEST_AUTHOR} to a true value to run.
t/99-Perl-Critic.t ................................ skipped: Author test.  Set $ENV{TEST_AUTHOR} to a true value to run.

Test Summary Report
-------------------
t/23-Monitoring-Livestatus-BigData.t            (Wstat: 512 (exited 2) Tests: 13 Failed: 2)
  Failed tests:  12-13
  Non-zero exit status: 2
Files=15, Tests=171,  3 wallclock secs ( 0.01 usr  0.03 sys +  0.54 cusr  0.19 csys =  0.77 CPU)
Result: FAIL
Failed 1/15 test programs. 2/171 subtests failed.
make[1]: *** [Makefile:770: test_dynamic] Error 255
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test: error: make -j2 test TEST_VERBOSE=1 returned exit code 2
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202505/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:libmonitoring-livestatus-perl, so that this is still
visible in the BTS web page for this package.

Notes:

- This might not fail to build for everybody, but it fails consistently when
using the unshare backend of sbuild.

- This is the first time I'm doing an archive rebuild with autobuilders
running trixie, not sure if this is a variable to consider.

Thanks.



More information about the Pkg-nagios-devel mailing list