cannot build multiple trees concurrently

Bug #907623 reported by Stewart Smith
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Galera
Fix Released
Undecided
Unassigned
1.x
Fix Released
Medium
Teemu Ollakka
2.x
Fix Released
Medium
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://127.0.0.1:4568: 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

Revision history for this message
Alex Yurchenko (ayurchen) wrote :

fixed in r104

Revision history for this message
Alex Yurchenko (ayurchen) wrote :

fixed in r99

Revision history for this message
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

Revision history for this message
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.

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.