cannot build multiple trees concurrently

Bug #907623 reported by Stewart Smith on 2011-12-22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Teemu Ollakka
Stewart Smith

Bug Description

This is a big showstopper for our test infrastructure.

Each machine can have multiple builds going on at once. These are in completely different trees. However, there seems to be a TCP port hard coded as part of the compile as we sometimes get this:

builder_unit_test(["galera/tests/galera_check.passed"], ["galera/tests/galera_check"])
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: 2, Failures: 0, Errors: 0
Running suite(s): ist
terminate called after throwing an instance of 'gu::Exception'
  what(): failed to open ist listener to tcp:// 98 (Address already in use)
  at galera/src/ist.cpp:prepare():741
0%: Checks: 1, Failures: 0, Errors: 1
galera/tests/ist_check.cpp:143:E:test_ist:test_ist:0: (after this point) Received signal 6 (Aborted)
Total tests failed: 1
scons: *** [galera/tests/galera_check.passed] Error 1
scons: building terminated because of errors.
Build step 'Use builders from another project' marked build as failure
[WARNINGS] Skipping publisher since build result is FAILURE
Recording test results
Finished: FAILURE

My suggested fix is to instead of hard coding the port, ask the OS to assign you one by binding to port 0 .

Related branches

Alex Yurchenko (ayurchen) wrote :

fixed in r104

Alex Yurchenko (ayurchen) wrote :

fixed in r99

Stewart Smith (stewart) wrote :

with revision 104 from lp:galera/2.x :

g++ -o gcomm/test/check_gcomm.o -c -Wno-long-long -Wno-deprecated -pedantic -ansi -Weffc++ -Wold-style-cast -g -O3 -DNDEBUG -pipe -Wall -Wextra -Werror -Wno-unused-parameter -m64 -D_XOPEN_SOURCE=600 -DGALERA_USE_GU_NETWORK -DHAVE_BYTESWAP_H -DHAVE_ENDIAN_H -DHAVE_BOOST_SHARED_PTR_HPP -DHAVE_BOOST_UNORDERED_MAP_HPP -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG=1 -DGALERA_USE_BOOST_POOL_ALLOC=1 -DHAVE_ASIO_HPP -DHAVE_ASIO_SSL_HPP -DHAVE_ASIO_HPP -Iasio -Igalerautils/src -Igcomm/src -Igcomm/src/gcomm -Igcache/src -Igcs/src -Iwsdb/src -Igalera/src gcomm/test/check_gcomm.cpp
0%: Checks: 1, Failures: 0, Errors: 1
gcache/tests/gcache_rb_test.cpp:80:E:test:test1:0: (after this point) Test timeout expired
Running suite(s): gcache::PageStore
100%: Checks: 3, Failures: 0, Errors: 0
Total tests failed: 1
scons: *** [gcache/tests/gcache_tests.passed] Error 1

Stewart Smith (stewart) wrote :

Please see my merge request for a true fix for this bug. This bug is a pretty big show-stopper for us, so it would be *really* good if it was merged.

Alex Yurchenko (ayurchen) wrote :

Stewart, sorry for taking so long - internal miscommunication. The actuall fix would be removal of gu::Network unit from the code, as a first step unit test was disabled. Please retry with r106.

Changed in galera:
status: New → Fix Committed
Changed in galera:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers