TL;DR: - you can use the pbuilder + static qemu setup to debug - qemu/libvirt throw no error - the tests do not "consider" the unsupported syscall - I found to get just the same issues on Artful but with more context indicating that missing syscall - You can use the setup described above (or sbuild) to debug further as there are 1-2 issues which seem to have other reasons e.g. "Xapian exception: read only files" - the testcases might need several fixes, but one of them is surely to test not only if gdb is installed, but if it is working.
--- Hi Gianfranco, Lacking a working arm system atm to test any further I tried this in qemu static. Might be an odd setup, but I had it around from evrifying another bug. pbuilder-dist artful armhf create pbuilder-dist artful armhf login apt install ubuntu-dev-tools vim-nox fakeroot pull-lp-source notmuch # enable deb-src in /etc/apt/sources.list apt update apt-get build-dep notmuch cd notmuch debuild -uc -us (tried the same in Trusty with the old version of notmuch) Both had a few testcase errors - but not exactly the same you had. But after the build running dh_auto_test manually in that dir shows more output that can help. With that approach I think I saw some issues that might be related as with local dh_autp_test you get mroe details. - Xapian exception: read only files - that could be your DB errors I quite often saw tests skipped for gdb missing, on an older build environment that was around. So for a test I installed gdb and reran the tests and found what might be related. Gdb in the virtual environment (at least my qemu-statis-armhf one) could not work due to an Unsupported syscall. The retval of gdb in that was 255, and that reminded me of your log: FAIL success exit with --keep when add_message returns READ_ONLY_DATABASE --- T070-insert.33.expected 2016-08-31 07:10:21.960346786 +0000 +++ T070-insert.33.output 2016-08-31 07:10:21.960346786 +0000 @@ -1 +1 @@ -0 +255 While I saw: FAIL success exit with --keep when add_message returns READ_ONLY_DATABASE exit code 255, expected 0 gdb --batch-silent --return-child-result -ex 'set args insert --keep < /usr/notmuch-0.25/test/tmp.T070-insert/mail/msg-018' -x index-file-READ_ONLY_DATABASE.gdb notmuch qemu: Unsupported syscall: 26 Not exactly the same, but the question is what is throwing the 255 in your case, but as I said my setup seems insufficient for that. Maybe the "full" qemu running arm on arm supports that system call but fails differently? I wondered, in your buildlog [1] I see shell syntax errors like: ./T380-atomicity.sh: line 79: ((: i < : syntax error: operand expected (error token is "< ") But when running locally (before installing gdb) I saw: missing prerequisites: gdb(1) SKIP all tests in T380-atomicity With gdb installed I get exactly your error on the "./T380-atomicity.sh: line 79:" case. I also saw that at least back in Yakkety gdb was a build dep but with various arch restrictions: Build-Depends: gdb-minimal, gdb [!s390x !ia64 !armel !ppc64el !mips !mipsel !mips64el] Build-Conflicts: ruby1.8, gdb-minimal, gdb [s390x ia64 armel ppc64el mips mipsel mips64el] Note - the same on a Trusty pbuilder target instead of Artful ran all but one test. So maybe it is neither LP, nor qemu but some of the dependencies that broke this? Your build log I compared to was actually Yakkety so I picked that finally to check if this is fully reproducible. There gdb could be around by default (just as it was in trusty for me) due to dependencies. I slimlined the repro to get less extra deps: pbuilder-dist yakkety armhf create pbuilder-dist yakkety armhf login # enable deb-src in /etc/apt/sources.list apt update apt-get source notmuch apt-get build-dep notmuch apt install fakeroot devscripts cd notmuch debuild -uc -us And here things confirmed - it was the unsupported system call and on yakktey the output matches your case: T060-count: Testing "notmuch count" for messages and threads FAIL error message from query_search_messages --- T060-count.14.EXPECTED 2017-08-08 09:01:36.000000000 +0000 +++ T060-count.14.OUTPUT.clean 2017-08-08 09:01:36.000000000 +0000 @@ -1,3 +1 @@ -notmuch count: A Xapian exception occurred -A Xapian exception occurred performing query -Query string was: * +qemu: Unsupported syscall: 26 T070-insert: Testing "notmuch insert" FAIL error exit when add_message returns OUT_OF_MEMORY --- T070-insert.26.expected 2017-08-08 09:01:46.000000000 +0000 +++ T070-insert.26.output 2017-08-08 09:01:46.000000000 +0000 @@ -1 +1 @@ -1 +255 qemu: Unsupported syscall: 26 Interesting might also be that despite the same issues your build log has it ran not into the final shell errors you had. So it continues to build despite the failed tests: FATAL: ./T380-atomicity.sh: interrupted by signal -128 test/Makefile.local:64: recipe for target 'test' failed make[2]: *** [test] Error 124 make[2]: Leaving directory '/root/notmuch-0.22.1' dh_auto_test: make -j1 test VERBOSE=1 returned exit code 2 make[1]: Leaving directory '/root/notmuch-0.22.1' fakeroot debian/rules binary And with that finally I found: override_dh_auto_test: ifeq ($(DEB_HOST_ARCH),armhf) TERM=vt100 dh_auto_test || true Which means it is not meant/expected to work properly on archhf. The difference that has to be found is why/how it breaks out of that || true OTOH that is no more in latter versions like Artful, so the fix might be to actually fix that for virtual environments that are armhf, but do not support that syscall. That now known it might also be reproducible via sbuild which I usually prefer, but I rarely hav cross compile setups and struggled with it trying for this case. I lack the arm HW to check any further on arm64 host in particular, but as outlined above don't tihnk it is needed. IMHO the testcases might need a few fixes, one of them is to test not only if gdb is installed, but if it is working. You can use the setup described above to debug further - is that ok for you? [1]: https://launchpadlibrarian.net/281860948/buildlog_ubuntu-yakkety- armhf.notmuch_0.22.1-2ubuntu1_BUILDING.txt.gz ** Changed in: qemu (Ubuntu) Status: New => Incomplete -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1707409 Title: testsuite fails under qemu (SIGILL) works fine on real hw Status in launchpad-buildd: Invalid Status in linux package in Ubuntu: Confirmed Status in qemu package in Ubuntu: Incomplete Bug description: Hello, after spending a lot of time debugging notmuch failure under armhf, we came to a conclusion: it started to fail when the infra moved to a new kernel 3.2 to a 4.2, and moved under qemu/kvm environment. the latest successful build is here created on 2016-03-13 https://launchpad.net/ubuntu/+source/notmuch/0.21-3ubuntu2/+build/9344826 and the first bad is this one: Started on 2016-08-31 https://launchpad.net/ubuntu/+source/notmuch/0.22.1-2ubuntu1/+build/10600002 Kernel version: Linux kishi10 3.2.0-98-highbank #138-Ubuntu SMP PREEMPT Mon Jan 11 13:24:41 UTC 2016 armv7l Kernel version: Linux bos01-arm64-024 4.2.0-42-generic #49-Ubuntu SMP Tue Jun 28 21:24:20 UTC 2016 aarch64 so, in the first case armhf was ran on top of an armv7 kernel, in the other case it became an arm64 one this might not even be a regression in qemu/kvm, but rather a change in buildd system that spot a new bug doing a xenial build failed aswell, so I presume this is not a toolchain regression (also because it works fine on real HW), but a qemu/linux bug. I did run the test under strace/valgrind, I can't do much more testing, but I hope the logs can be useful for you https://launchpad.net/~costamagnagianfranco/+archive/ubuntu/locutusofborg-ppa/+build/13169431 https://launchpadlibrarian.net/331134898/buildlog_ubuntu-artful-armhf.notmuch_0.25-2ubuntu1_BUILDING.txt.gz You can see the strace/valgrind outputs between "BEGIN" and "END" keywords To manage notifications about this bug go to: https://bugs.launchpad.net/launchpad-buildd/+bug/1707409/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp