Bug#1064724: yapet: FTBFS: dh_auto_test: error: make -j8 check "TESTSUITEFLAGS=-j8 --verbose" VERBOSE=1 returned exit code 2
Hi, On Thu, Mar 21, 2024 at 09:09:02AM +0100, Salvatore Bonaccorso wrote: > Hi Vladimir, > > On Thu, Mar 21, 2024 at 08:39:32PM +1300, Vladimir Petko wrote: > > Package: yapet > > Followup-For: Bug #1064724 > > User: ubuntu-de...@lists.ubuntu.com > > Usertags: origin-ubuntu noble ubuntu-patch > > Control: tags -1 patch > > > > Dear Maintainer, > > > > The package fails to build due to the recent changes in openssl. > > I have disabled the affected tests, but probably the issue should be fixed > > upstream. > > > > When investigating test failure I've also noticed that the tests fail on > > armhf > > due to the usage of std::memset that was optimized away. I have replaced the > > call with std::fill() > > > > In Ubuntu, the attached patch was applied to achieve the following: > > > > * d/p/use-std-fill.patch: use std::fill to reset memory instead of > > std::memset. This fixes armhf test failure (LP: 2058584). > > * d/p/disable-blowfish-tests.patch: disable failing blowfish tests. > > See Debian bug 1064724. > > > > > > Thanks for considering the patch. > > Thanks for your work. I would like to give upstream some time to look > at the two reported issues. I'm not going to apply the patch for now, as the underlying issue is triggered due to a change in openssl. Cf. #1068045. Regards, Salvatore
Bug#1064724: yapet: FTBFS: dh_auto_test: error: make -j8 check "TESTSUITEFLAGS=-j8 --verbose" VERBOSE=1 returned exit code 2
Hi Vladimir, On Thu, Mar 21, 2024 at 08:39:32PM +1300, Vladimir Petko wrote: > Package: yapet > Followup-For: Bug #1064724 > User: ubuntu-de...@lists.ubuntu.com > Usertags: origin-ubuntu noble ubuntu-patch > Control: tags -1 patch > > Dear Maintainer, > > The package fails to build due to the recent changes in openssl. > I have disabled the affected tests, but probably the issue should be fixed > upstream. > > When investigating test failure I've also noticed that the tests fail on armhf > due to the usage of std::memset that was optimized away. I have replaced the > call with std::fill() > > In Ubuntu, the attached patch was applied to achieve the following: > > * d/p/use-std-fill.patch: use std::fill to reset memory instead of > std::memset. This fixes armhf test failure (LP: 2058584). > * d/p/disable-blowfish-tests.patch: disable failing blowfish tests. > See Debian bug 1064724. > > > Thanks for considering the patch. Thanks for your work. I would like to give upstream some time to look at the two reported issues. Regards, Salvatore
Bug#1064724: yapet: FTBFS: dh_auto_test: error: make -j8 check "TESTSUITEFLAGS=-j8 --verbose" VERBOSE=1 returned exit code 2
Package: yapet Followup-For: Bug #1064724 User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu noble ubuntu-patch Control: tags -1 patch Dear Maintainer, The package fails to build due to the recent changes in openssl. I have disabled the affected tests, but probably the issue should be fixed upstream. When investigating test failure I've also noticed that the tests fail on armhf due to the usage of std::memset that was optimized away. I have replaced the call with std::fill() In Ubuntu, the attached patch was applied to achieve the following: * d/p/use-std-fill.patch: use std::fill to reset memory instead of std::memset. This fixes armhf test failure (LP: 2058584). * d/p/disable-blowfish-tests.patch: disable failing blowfish tests. See Debian bug 1064724. Thanks for considering the patch. -- System Information: Debian Release: trixie/sid APT prefers mantic-updates APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 'mantic'), (100, 'mantic-backports') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 6.5.0-25-generic (SMP w/32 CPU threads; PREEMPT) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled diff -Nru yapet-2.6/debian/patches/disable-blowfish-tests.patch yapet-2.6/debian/patches/disable-blowfish-tests.patch --- yapet-2.6/debian/patches/disable-blowfish-tests.patch 1970-01-01 12:00:00.0 +1200 +++ yapet-2.6/debian/patches/disable-blowfish-tests.patch 2024-03-21 15:56:18.0 +1300 @@ -0,0 +1,48 @@ +Description: disable blowfish tests + Blowfish tests fail with openssl 3.1.5-1. Disable failing tests. + The failure may be related to the fix for + https://www.openssl.org/news/vulnerabilities.html#CVE-2023-5363. +Author: Vladimir Petko +Bug: https://github.com/RafaelOstertag/yapet/issues/26 +Bug-Debian: https://bugs.debian.org/1064724 +Last-Update: 2024-03-21 + +--- a/tests/crypt/Makefile.am b/tests/crypt/Makefile.am +@@ -47,10 +47,10 @@ + $(cpy_verbose)cp $< $(builddir)/$@ + $(chmod_verbose)chmod u=rw $(builddir)/$@ + +-check_PROGRAMS = key448 key256 blowfish aes256 blowfishfactory aes256factory file_blowfish file_aes256 foreign cryptofactoryhelper ++check_PROGRAMS = key448 key256 aes256 blowfishfactory aes256factory file_aes256 cryptofactoryhelper + check_PROGRAMS += passwordchange_exerciser + +-TESTS = key448 key256 blowfish aes256 blowfishfactory aes256factory file_blowfish file_aes256 foreign cryptofactoryhelper ++TESTS = key448 key256 aes256 blowfishfactory aes256factory file_aes256 cryptofactoryhelper + + AM_CPPFLAGS = -I$(yapet_libs_srcdir)/consts \ + -I$(yapet_libs_srcdir)/exceptions \ +--- a/tests/crypt/Makefile.in b/tests/crypt/Makefile.in +@@ -87,15 +87,15 @@ + POST_UNINSTALL = : + build_triplet = @build@ + host_triplet = @host@ +-check_PROGRAMS = key448$(EXEEXT) key256$(EXEEXT) blowfish$(EXEEXT) \ ++check_PROGRAMS = key448$(EXEEXT) key256$(EXEEXT) \ + aes256$(EXEEXT) blowfishfactory$(EXEEXT) \ +- aes256factory$(EXEEXT) file_blowfish$(EXEEXT) \ +- file_aes256$(EXEEXT) foreign$(EXEEXT) \ ++ aes256factory$(EXEEXT) \ ++ file_aes256$(EXEEXT) \ + cryptofactoryhelper$(EXEEXT) passwordchange_exerciser$(EXEEXT) +-TESTS = key448$(EXEEXT) key256$(EXEEXT) blowfish$(EXEEXT) \ ++TESTS = key448$(EXEEXT) key256$(EXEEXT) \ + aes256$(EXEEXT) blowfishfactory$(EXEEXT) \ +- aes256factory$(EXEEXT) file_blowfish$(EXEEXT) \ +- file_aes256$(EXEEXT) foreign$(EXEEXT) \ ++ aes256factory$(EXEEXT) \ ++ file_aes256$(EXEEXT) \ + cryptofactoryhelper$(EXEEXT) + subdir = tests/crypt + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 diff -Nru yapet-2.6/debian/patches/series yapet-2.6/debian/patches/series --- yapet-2.6/debian/patches/series 2024-03-05 15:19:25.0 +1300 +++ yapet-2.6/debian/patches/series 2024-03-21 15:56:18.0 +1300 @@ -1,2 +1,4 @@ do-not-install-licenses-files.patch avoid-remote-font.patch +use-std-fill.patch +disable-blowfish-tests.patch diff -Nru yapet-2.6/debian/patches/use-std-fill.patch yapet-2.6/debian/patches/use-std-fill.patch --- yapet-2.6/debian/patches/use-std-fill.patch 1970-01-01 12:00:00.0 +1200 +++ yapet-2.6/debian/patches/use-std-fill.patch 2024-03-21 15:56:18.0 +1300 @@ -0,0 +1,38 @@ +From: Vladimir Petko +Date: Thu, 21 Mar 2024 15:47:02 +1300 +Bug: https://github.com/RafaelOstertag/yapet/issues/27 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/yapet/+bug/2058584 +Description: use std::fill with volatile pointers to reset memory + std::memset can be optimized away and can not be used to + securely reset memory. + Use std::fill with volatile pointers. + +--- + src/libs/utils/securearray.cc | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/s
Bug#1064724: yapet: FTBFS: dh_auto_test: error: make -j8 check "TESTSUITEFLAGS=-j8 --verbose" VERBOSE=1 returned exit code 2
Hi, This issue appears to be caused by the openssl fix[1]. Best Regards, Vladimir. [1] https://www.openssl.org/news/vulnerabilities.html#CVE-2023-5363
Bug#1064724: yapet: FTBFS: dh_auto_test: error: make -j8 check "TESTSUITEFLAGS=-j8 --verbose" VERBOSE=1 returned exit code 2
Source: yapet Version: 2.6-1 Severity: serious Justification: FTBFS Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-20240224 ftbfs-trixie Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > make[5]: Entering directory '/<>/tests/crypt' > FAIL: blowfish > PASS: key448 > PASS: blowfishfactory > FAIL: file_blowfish > FAIL: foreign > PASS: cryptofactoryhelper > PASS: aes256 > PASS: key256 > PASS: aes256factory > PASS: file_aes256 > === >YAPET 2.6: tests/crypt/test-suite.log > === > > # TOTAL: 10 > # PASS: 7 > # SKIP: 0 > # XFAIL: 0 > # FAIL: 3 > # XPASS: 0 > # ERROR: 0 > > .. contents:: :depth: 2 > > FAIL: blowfish > == > > .E.E.E. > > > !!!FAILURES!!! > Test Results: > Run: 4 Failures: 0 Errors: 3 > > > 1) test: should encrypt and decrypt (E) > uncaught exception of type std::exception (or derived). > - Error encrypting data > > > 2) test: should throw on decrypting corrupted data (E) > uncaught exception of type std::exception (or derived). > - Error encrypting data > > > 3) test: should throw on decrypting with wrong password (E) > uncaught exception of type std::exception (or derived). > - Error encrypting data > > > FAIL blowfish (exit status: 1) > > FAIL: file_blowfish > === > > .E.E.E.E.E.E.E.E.E.E > > > !!!FAILURES!!! > Test Results: > Run: 10 Failures: 0 Errors: 10 > > > 1) test: should correctly read empty file (E) > uncaught exception of type std::exception (or derived). > - Error encrypting data > > > 2) test: should correctly read empty file (E) > uncaught exception of type std::exception (or derived). > - Error encrypting data > > > 3) test: should throw expected exception on invalid password (E) > uncaught exception of type std::exception (or derived). > - Error encrypting data > > > 4) test: should write passwords (E) > uncaught exception of type std::exception (or derived). > - Error encrypting data > > > 5) test: should detect file modification on password save (E) > uncaught exception of type std::exception (or derived). > - Error encrypting data > > > 6) test: should force password save on modified file (E) > uncaught exception of type std::exception (or derived). > - Error encrypting data > > > 7) test: should get the correct time when the master password was set (E) > uncaught exception of type std::exception (or derived). > - Error encrypting data > > > 8) test: should properly set new password (E) > uncaught exception of type std::exception (or derived). > - Error encrypting data > > > 9) test: should allow saving passwords after password change (E) > uncaught exception of type std::exception (or derived). > - Error encrypting data > > > 10) test: should throw exception on reading corrupt file (E) > uncaught exception of type std::exception (or derived). > - Invalid password > > > FAIL file_blowfish (exit status: 1) > > FAIL: foreign > = > > .E.E.E.E.E.E.E.E > > > !!!FAILURES!!! > Test Results: > Run: 8 Failures: 0 Errors: 8 > > > 1) test: 32bit little endian pre 0.6 (E) > uncaught exception of type std::exception (or derived). > - Invalid password > > > 2) test: 32bit big endian pre 0.6 (E) > uncaught exception of type std::exception (or derived). > - Invalid password > > > 3) test: 64bit little endian pre 0.6 (E) > uncaught exception of type std::exception (or derived). > - Invalid password > > > 4) test: 64bit big endian pre 0.6 (E) > uncaught exception of type std::exception (or derived). > - Invalid password > > > 5) test: 32bit little endian 0.6 (E) > uncaught exception of type std::exception (or derived). > - Invalid password > > > 6) test: 32bit big endian 0.6 (E) > uncaught exception of type std::exception (or derived). > - Invalid password > > > 7) test: 64bit little endian 0.6 (E) > uncaught exception of type std::exception (or derived). > - Invalid password > > > 8) test: 64bit big endian 0.6 (E) > uncaught exception of type std::exception (or derived). > - Invalid password > > > FAIL foreign (exit status: 1) > > > Testsuite summary for YAPET 2.6 > > # TOTAL: 10 > # PASS: 7 > # SKIP: 0 > # XFAIL: 0 > # FAIL: 3 > # XPASS: 0 > # ERROR: 0 > > See tests/crypt/test-suite.log > Please report to https://github.com/RafaelOstertag/yapet/issues > > make[5]: *** [Makefile:901: test-suite.log] Error 1 > make[5]: Leaving directory '/<>/tests/crypt' > make[4]: *** [Makefile:1009: check-TESTS] Error 2 > make[4]: Leaving directory '/<>/tests/crypt' > make[3]: *** [Makefile:1145: check-a