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)

Reply via email to