[Debian-med-packaging] Bug#927239: pbcopper: FTBFS randomly (failing tests)

Santiago Vila sanvila at debian.org
Tue Apr 16 19:18:14 BST 2019


Package: src:pbcopper
Version: 0.4.1+dfsg-2
Severity: important
Tags: ftbfs patch

Dear maintainer:

I tried to build this package in buster but it failed:

--------------------------------------------------------------------------------
[...]
 debian/rules build-arch
dh build-arch --builddirectory=build
   dh_update_autotools_config -a -O--builddirectory=build
   dh_autoreconf -a -O--builddirectory=build
   dh_auto_configure -a -O--builddirectory=build
	cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu ..
-- The CXX compiler identification is GNU 8.3.0
-- The C compiler identification is GNU 8.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done

[... snipped ...]

1: [ RUN      ] Data_RSReadName.constructed_from_name_parts_prints_expected_value_to_output_operator
1: [       OK ] Data_RSReadName.constructed_from_name_parts_prints_expected_value_to_output_operator (0 ms)
1: [ RUN      ] Data_RSReadName.constructed_from_ccs_name_parts_prints_expected_value_to_output_operator
1: [       OK ] Data_RSReadName.constructed_from_ccs_name_parts_prints_expected_value_to_output_operator (0 ms)
1: [ RUN      ] Data_RSReadName.constructed_properly_from_input_operator
1: [       OK ] Data_RSReadName.constructed_properly_from_input_operator (0 ms)
1: [ RUN      ] Data_RSReadName.ccs_constructed_properly_from_input_operator
1: [       OK ] Data_RSReadName.ccs_constructed_properly_from_input_operator (0 ms)
1: [----------] 11 tests from Data_RSReadName (0 ms total)
1: 
1: [----------] 1 test from JSON_Json
1: [ RUN      ] JSON_Json.default_constructed_object_is_null
1: [       OK ] JSON_Json.default_constructed_object_is_null (0 ms)
1: [----------] 1 test from JSON_Json (0 ms total)
1: 
1: [----------] 2 tests from Logging_Logger
1: [ RUN      ] Logging_Logger.info_message_logged_to_stream
1: [       OK ] Logging_Logger.info_message_logged_to_stream (14 ms)
1: [ RUN      ] Logging_Logger.custom_logging_sinks_receive_expected_messages
1: [       OK ] Logging_Logger.custom_logging_sinks_receive_expected_messages (0 ms)
1: [----------] 2 tests from Logging_Logger (14 ms total)
1: 
1: [----------] 1 test from Parallel_WorkQueue
1: [ RUN      ] Parallel_WorkQueue.strings
1: [       OK ] Parallel_WorkQueue.strings (299 ms)
1: [----------] 1 test from Parallel_WorkQueue (299 ms total)
1: 
1: [----------] 11 tests from QGram_Index
1: [ RUN      ] QGram_Index.shape_throws_on_invalid_qgram_sizes
1: [       OK ] QGram_Index.shape_throws_on_invalid_qgram_sizes (0 ms)
1: [ RUN      ] QGram_Index.shape_hash_factors
1: [       OK ] QGram_Index.shape_hash_factors (0 ms)
1: [ RUN      ] QGram_Index.shape_hashing
1: [       OK ] QGram_Index.shape_hashing (0 ms)
1: [ RUN      ] QGram_Index.homopolymer_hasher
1: [       OK ] QGram_Index.homopolymer_hasher (0 ms)
1: [ RUN      ] QGram_Index.shape_hash_iteration
1: [       OK ] QGram_Index.shape_hash_iteration (0 ms)
1: [ RUN      ] QGram_Index.index_construct
1: [       OK ] QGram_Index.index_construct (0 ms)
1: [ RUN      ] QGram_Index.index_copy
1: [       OK ] QGram_Index.index_copy (0 ms)
1: [ RUN      ] QGram_Index.index_hits_INTERNAL_from_shape_short_seq
1: [       OK ] QGram_Index.index_hits_INTERNAL_from_shape_short_seq (0 ms)
1: [ RUN      ] QGram_Index.index_hits_INTERNAL_from_shape_longer_seq
1: [       OK ] QGram_Index.index_hits_INTERNAL_from_shape_longer_seq (0 ms)
1: [ RUN      ] QGram_Index.index_hits_PUBLIC_API_from_seq
1: [       OK ] QGram_Index.index_hits_PUBLIC_API_from_seq (0 ms)
1: [ RUN      ] QGram_Index.index_hits_PUBLIC_API_empty_hits_result_when_query_seq_is_too_short
1: [       OK ] QGram_Index.index_hits_PUBLIC_API_empty_hits_result_when_query_seq_is_too_short (0 ms)
1: [----------] 11 tests from QGram_Index (4 ms total)
1: 
1: [----------] 13 tests from Stream_Stream
1: [ RUN      ] Stream_Stream.input_to_console
1: [       OK ] Stream_Stream.input_to_console (0 ms)
1: [ RUN      ] Stream_Stream.char_input_to_all_caps
1: [       OK ] Stream_Stream.char_input_to_all_caps (0 ms)
1: [ RUN      ] Stream_Stream.stringlist_to_chars
1: [       OK ] Stream_Stream.stringlist_to_chars (0 ms)
1: [ RUN      ] Stream_Stream.char_input_split_into_words_and_printed_to_console
1: [       OK ] Stream_Stream.char_input_split_into_words_and_printed_to_console (0 ms)
1: [ RUN      ] Stream_Stream.newlined_input_printed_to_console
1: [       OK ] Stream_Stream.newlined_input_printed_to_console (0 ms)
1: [ RUN      ] Stream_Stream.composing_transform_chains
1: [       OK ] Stream_Stream.composing_transform_chains (0 ms)
1: [ RUN      ] Stream_Stream.composing_named_transform_chains
1: [       OK ] Stream_Stream.composing_named_transform_chains (0 ms)
1: [ RUN      ] Stream_Stream.arithmetic_stream_to_console
1: [       OK ] Stream_Stream.arithmetic_stream_to_console (0 ms)
1: [ RUN      ] Stream_Stream.arithmetic_transformed_stream_to_console
1: [       OK ] Stream_Stream.arithmetic_transformed_stream_to_console (0 ms)
1: [ RUN      ] Stream_Stream.arithmetic_transformed_to_different_type_stream_to_console
1: [       OK ] Stream_Stream.arithmetic_transformed_to_different_type_stream_to_console (0 ms)
1: [ RUN      ] Stream_Stream.append_text_to_arithmetic_stream
1: [       OK ] Stream_Stream.append_text_to_arithmetic_stream (0 ms)
1: [ RUN      ] Stream_Stream.append_text_to_arithmetic_stream_then_modify
1: [       OK ] Stream_Stream.append_text_to_arithmetic_stream_then_modify (0 ms)
1: [ RUN      ] Stream_Stream.stream_works_with_static_public_member_function
1: [       OK ] Stream_Stream.stream_works_with_static_public_member_function (0 ms)
1: [----------] 13 tests from Stream_Stream (4 ms total)
1: 
1: [----------] 2 tests from Utility_CallbackTimer
1: [ RUN      ] Utility_CallbackTimer.scheduled_callbacks_fired_as_expected
1: [       OK ] Utility_CallbackTimer.scheduled_callbacks_fired_as_expected (10 ms)
1: [ RUN      ] Utility_CallbackTimer.canceled_callbacks_not_called
1: [       OK ] Utility_CallbackTimer.canceled_callbacks_not_called (5 ms)
1: [----------] 2 tests from Utility_CallbackTimer (15 ms total)
1: 
1: [----------] 3 tests from Utility_FileUtils
1: [ RUN      ] Utility_FileUtils.FileExists
1: [       OK ] Utility_FileUtils.FileExists (0 ms)
1: [ RUN      ] Utility_FileUtils.FilePrefix
1: [       OK ] Utility_FileUtils.FilePrefix (0 ms)
1: [ RUN      ] Utility_FileUtils.FileExtension
1: [       OK ] Utility_FileUtils.FileExtension (0 ms)
1: [----------] 3 tests from Utility_FileUtils (1 ms total)
1: 
1: [----------] 4 tests from Utility_Stopwatch
1: [ RUN      ] Utility_Stopwatch.determines_elapsed_time_in_milliseconds
1: [       OK ] Utility_Stopwatch.determines_elapsed_time_in_milliseconds (3 ms)
1: [ RUN      ] Utility_Stopwatch.determines_elapsed_time_in_seconds
1: [       OK ] Utility_Stopwatch.determines_elapsed_time_in_seconds (3 ms)
1: [ RUN      ] Utility_Stopwatch.determines_elapsed_time_in_user_precision
1: [       OK ] Utility_Stopwatch.determines_elapsed_time_in_user_precision (3 ms)
1: [ RUN      ] Utility_Stopwatch.determines_elapsed_time_since_reset
1: /<<BUILDDIR>>/pbcopper-0.4.1+dfsg/tests/src/utility/test_Stopwatch.cpp:66: Failure
1:       Expected: 3
1: To be equal to: elapsed
1:       Which is: 4
1: [  FAILED  ] Utility_Stopwatch.determines_elapsed_time_since_reset (8 ms)
1: [----------] 4 tests from Utility_Stopwatch (17 ms total)
1: 
1: [----------] 1 test from Utility_SystemInfo
1: [ RUN      ] Utility_SystemInfo.proper_byte_order_detected
1: [       OK ] Utility_SystemInfo.proper_byte_order_detected (0 ms)
1: [----------] 1 test from Utility_SystemInfo (0 ms total)
1: 
1: [----------] Global test environment tear-down
1: [==========] 172 tests from 25 test cases ran. (393 ms total)
1: [  PASSED  ] 171 tests.
1: [  FAILED  ] 1 test, listed below:
1: [  FAILED  ] Utility_Stopwatch.determines_elapsed_time_since_reset
1: 
1:  1 FAILED TEST
1/1 Test #1: PbcopperUnitTests ................***Failed    0.40 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.41 sec

The following tests FAILED:
	  1 - PbcopperUnitTests (Failed)
Errors while running CTest
make[5]: *** [tests/CMakeFiles/check.dir/build.make:60: tests/CMakeFiles/check] Error 8
make[5]: Leaving directory '/<<BUILDDIR>>/pbcopper-0.4.1+dfsg/build'
make[4]: *** [CMakeFiles/Makefile2:272: tests/CMakeFiles/check.dir/all] Error 2
make[4]: Leaving directory '/<<BUILDDIR>>/pbcopper-0.4.1+dfsg/build'
make[3]: *** [CMakeFiles/Makefile2:279: tests/CMakeFiles/check.dir/rule] Error 2
make[3]: Leaving directory '/<<BUILDDIR>>/pbcopper-0.4.1+dfsg/build'
make[2]: *** [Makefile:171: check] Error 2
make[2]: Leaving directory '/<<BUILDDIR>>/pbcopper-0.4.1+dfsg/build'
make[1]: *** [debian/rules:15: override_dh_auto_test] Error 2
make[1]: Leaving directory '/<<BUILDDIR>>/pbcopper-0.4.1+dfsg'
make: *** [debian/rules:10: build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2
--------------------------------------------------------------------------------

This happens randomly, sometimes it happens, sometimes it does not, but it has also
happened here on hppa:

https://buildd.debian.org/status/fetch.php?pkg=pbcopper&arch=hppa&ver=0.4.1%2Bdfsg-2&stamp=1545468500&raw=0

Even if hppa is not a release architecture, I think this shows at
least that the problem is not architecture-specific (since I'm using
amd64).

I've put two of my build logs here:

https://people.debian.org/~sanvila/build-logs/pbcopper/

The patch below may help, but it's untested.

Maybe it would be better to disable each and every timing-based test
instead. Just because packages are "officially" built in buildd.debian.org
does not mean it is a good idea to "target" the specific (or even
approximate) CPU speed of buildd.debian.org for package building.

Thanks.

--- a/tests/src/utility/test_Stopwatch.cpp
+++ b/tests/src/utility/test_Stopwatch.cpp
@@ -56,12 +56,12 @@ TEST(Utility_Stopwatch, determines_elapsed_time_in_user_precision)
     ASSERT_LE(elapsed, 30000);
 }
 
-TEST(Utility_Stopwatch, determines_elapsed_time_since_reset)
-{
-    Stopwatch s;
-    std::this_thread::sleep_for(std::chrono::milliseconds(3));
-    s.Reset();
-    std::this_thread::sleep_for(std::chrono::milliseconds(3));
-    auto elapsed = s.ElapsedMilliseconds();
-    ASSERT_FLOAT_EQ(3, elapsed);
-}
+// TEST(Utility_Stopwatch, determines_elapsed_time_since_reset)
+// {
+//     Stopwatch s;
+//     std::this_thread::sleep_for(std::chrono::milliseconds(3));
+//     s.Reset();
+//     std::this_thread::sleep_for(std::chrono::milliseconds(3));
+//     auto elapsed = s.ElapsedMilliseconds();
+//     ASSERT_FLOAT_EQ(3, elapsed);
+// }



More information about the Debian-med-packaging mailing list