[debian-mysql] Bug#816492: galera-3: Galera fails to build with pbuilder for armhf (on amd64)

Ramil Valitov ramilvalitov at gmail.com
Wed Mar 2 10:35:55 UTC 2016


Package: galera-3
Version: 25.3.13-2
Severity: serious
Tags: upstream
Justification: fails to build from source (but built successfully in the past)

Failed to build Galera in pbuilder for armhf (Debian Jessie) on amd64.
I could successfully build Galera 2.3.6, however, I face problems building other versions. One of the problems is that all versions of Galera after 2.3.6 and before 2.3.14 have the same debian/changelog file that refers to version 2.3.6. The up-to-date version of this file is required, because it is used by the pbuilder to detect version of the package. So, in order to start a build (pass through the pbuilder's pre-build checks) I had to write the correct version into that file, e.g. 2.3.13-1 (quilt format) for Galera 2.3.13. After that the compilation of the Galera 2.3.13 finishes successfully, but the build process fails on builder unit tests (the last important lines of the build log):

g++ -o galera/tests/galera_check -Wl,-z,relro galera/tests/galera_check.o galera/tests/data_set_check.o galera/tests/key_set_check.o galera$
builder_unit_test(["galera/tests/galera_check.passed"], ["galera/tests/galera_check"])
Running suite(s): DataSet
100%: Checks: 1, Failures: 0, Errors: 0
Running suite(s): KeySet
100%: Checks: 1, Failures: 0, Errors: 0
Running suite(s): WriteSet
100%: Checks: 2, Failures: 0, Errors: 0
Running suite(s): write_set
100%: Checks: 8, Failures: 0, Errors: 0
Running suite(s): trx_handle
100%: Checks: 2, Failures: 0, Errors: 0
Running suite(s): service_thd
100%: Checks: 3, Failures: 0, Errors: 0
Running suite(s): ist
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
100%: Checks: 6, Failures: 0, Errors: 0
Running suite(s): saved_state
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
33%: Checks: 3, Failures: 1, Errors: 1
galera/tests/saved_state_check.cpp:48:E:saved_state:test_unsafe:0: (after this point) Received signal 11 (Segmentation fault)
galera/tests/saved_state_check.cpp:155:F:saved_state:test_corrupt:0: Failure 'uuid == WSREP_UUID_UNDEFINED' occured
Total tests failed: 2
scons: *** [galera/tests/galera_check.passed] Error 1
scons: building terminated because of errors.
debian/rules:28: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2

The log above was generated using qemu-user-static (1:2.1+dfsg-12+deb8u5a) - the default version in Debain Jessie. Then I upgraded this package to qemu-user-static (1:2.5+dfsg-4~bpo8+1) using jessie-backports repositories. The build in the newer environment gave similar results:

g++ -o galera/tests/galera_check -Wl,-z,relro galera/tests/galera_check.o galera/tests/data_set_check.o galera/tests/key_set_check.o galera$
builder_unit_test(["galera/tests/galera_check.passed"], ["galera/tests/galera_check"])
Running suite(s): DataSet
100%: Checks: 1, Failures: 0, Errors: 0
Running suite(s): KeySet
100%: Checks: 1, Failures: 0, Errors: 0
Running suite(s): WriteSet
100%: Checks: 2, Failures: 0, Errors: 0
Running suite(s): write_set
100%: Checks: 8, Failures: 0, Errors: 0
Running suite(s): trx_handle
100%: Checks: 2, Failures: 0, Errors: 0
Running suite(s): service_thd
100%: Checks: 3, Failures: 0, Errors: 0
Running suite(s): ist
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
qemu: Unsupported syscall: 350
100%: Checks: 6, Failures: 0, Errors: 0
Running suite(s): saved_state
33%: Checks: 3, Failures: 1, Errors: 1
galera/tests/saved_state_check.cpp:48:E:saved_state:test_unsafe:0: (after this point) Test timeout expired
galera/tests/saved_state_check.cpp:155:F:saved_state:test_corrupt:0: Failure 'uuid == WSREP_UUID_UNDEFINED' occured
Total tests failed: 2
scons: *** [galera/tests/galera_check.passed] Error 1
scons: building terminated because of errors.
debian/rules:28: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2

According to old Galera thread https://groups.google.com/forum/#!topic/codership-team/ZWwZYG78a6A on Google Groups this issue is related to timeouts defined for the tests. If the test goes too long (which may happen in VM), then it is considered to be failed. It was suggested to alter the string with tcase_set_timeout(tc, 120); call in file galera/galera/tests/saved_state_check.cpp. I tried increasing the value to 1200 and even commenting out this command - no luck in both cases - I got the same errors.

Building the Galera on a real armhf device (under Debian jessie) is successful. So, the issue is related to some tests that don't pass in the VM. Thus, causing to terminate the build process.

-- System Information:
Debian Release: 8.3
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)



More information about the pkg-mysql-maint mailing list