[MDEV-32332] ssl-mitm.pl requires autodie module not available by default on some platforms Created: 2023-09-30  Updated: 2023-10-12

Status: Open
Project: MariaDB Server
Component/s: Tests
Affects Version/s: N/A
Fix Version/s: 11.3

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Sergei Golubchik
Resolution: Unresolved Votes: 0
Labels: None


 Description   

main.ssl_autoverify fails on some buildbot builders in a dirty fashion:

preview-11.3-preview b09e99ff759f66c29e3f67911ef4c7c0591c8a4e

main.ssl_autoverify 'pem,unix'           w3 [ fail ]
        Test ended at 2023-09-17 10:00:00
 
CURRENT_TEST: main.ssl_autoverify
Can't locate autodie.pm in @INC (you may need to install the autodie module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at lib/ssl-mitm.pl line 7.
BEGIN failed--compilation aborted at lib/ssl-mitm.pl line 7.
mysqltest: At line 89: exec of 'perl lib/ssl-mitm.pl --listen-on 16221 --connect-to 16220 --ssl-ca std_data/cacert.pem --ssl-key std_data/server-new-key.pem --ssl-cert std_data/server-new-cert.pem' failed, error: 512, status: 2, errno: 0
Output from before failure:
test.have_ssl()
yes

It happened in the old buildbot on kvm-deb-buster-aarch64 and kvm-deb-sid-amd64, and on a bunch of builders in the new buildbot (aarch64-centos-stream8, aarch64-rhel-8, amd64-centos-7, amd64-centos-7-bintar, amd64-centos-stream8, amd64-centos-stream9, amd64-fedora-37, amd64-fedora-38, amd64-opensuse-15, amd64-rhel-7, amd64-rhel-8, ppc64le-centos-stream8, ppc64le-centos-stream9, ppc64le-rhel-8, ppc64le-rhel-9, s390x-rhel-8, s390x-sles-15)



 Comments   
Comment by Sergei Golubchik [ 2023-10-01 ]

Net::SSLeay is also missing on some builders, e.g. on buster-aarch64

Comment by Daniel Black [ 2023-10-01 ]

RPM where easy to fix: https://github.com/MariaDB/buildbot/pull/176

opensuse/sles is missing Net/SSLeay.pm rather than autodie.

Comment by Faustin Lammler [ 2023-10-04 ]

Should be fixed on the new BB now.
OpenSuse fix is in https://github.com/MariaDB/buildbot/pull/184 and sles image was re-generated manually.

Comment by Elena Stepanova [ 2023-10-04 ]

There is still the question whether a test should be skipped rather than aborted when a non-default module isn't found. For the internal testing, failing is better because otherwise we will never know that a test doesn't run somewhere. But the tests are provided with the server, and for a user it is probably better if a test is skipped, especially if the perl packages aren't pulled as a dependency.

Comment by Sergei Golubchik [ 2023-10-12 ]

both perl(autodie) and perl(Net::SSLeay) are added to rpm package dependencies automatically. on deb they aren't, but deb packages don't have any perl package dependencies at all, not even those that mtr requires and fails without.

So, I think, these two didn't change anything. On rpm-based system they'll get installed automatically, like all other packages that mtr depends on. On deb-based system they won't be installed automatically, like all other packages that mtr depends on, so it'll be on the user, just as it always was.

Generated at Thu Feb 08 10:30:33 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.