@Roy I think if https://github.com/apache/celix/pull/657 is merged, we have fixed all the issues you have found. Correct?
On Sun, Sep 24, 2023 at 4:19 AM Peng Zheng <pengzh...@apache.org> wrote: > > On 9/24/23 00:12, Roy Lenferink wrote: > > Op za 23 sep 2023 om 17:54 schreef Peng Zheng <pengzh...@apache.org>: > > > >> On 9/23/23 23:00, Roy Lenferink wrote: > >>> -1 (binding) until the below issues are resolved or clarified > >>> > >>> A few observations while trying to build the celix-2.4.0.tar.gz in a > >> clean > >>> Ubuntu 22.04 container: > >>> > >>> When following the documents/building/README.md and then the 'Building > >>> Apache Celix using Conan' steps: > >>> > >>> * The 'snap install cmake' is not needed anymore, since the apt package > >> is > >>> already CMake v3.22.1 > >>> * When executing 'conan create . --build missing -o build_all=True' > >>> (described in the README) the build fails with: > >>> > >>> > >> /root/.conan2/p/b/celix49a251e7a74d4/b/bundles/pubsub/pubsub_admin_udp_mc/src/pubsub_udpmc_topic_sender.c:27:10: > >>> fatal error: zconf.h: No such file or directory > >>> 27 | #include <zconf.h> > >>> > >>> This happens in multiple places, so it seems that Conan is not fetching / > >>> building all dependencies correct? > >> zlib is no longer needed by these modules. > >> Removed by this PR: https://github.com/apache/celix/pull/650 > >> > >> > > Thanks for fixing! I think this fix needs to be included in this release. > > I noticed you made another fix yesterday which probably also needs to be > > included: > > https://github.com/apache/celix/pull/649 > > Yes, #649 is likely to be encountered by other users, who do not install > java runtime. > > > > >>> When following the documents/building/README.md and then the 'Building > >>> Apache Celix directly using CMake' steps: > >>> > >>> * The 'snap install cmake' is not needed anymore, since the apt package > >> is > >>> already CMake v3.22.1 > >>> * When building with the extra -DENABLE_TESTING=ON flag passed (to verify > >>> whether all the tests pass for the release) I get the following test > >>> failures: > >>> > >>> The following tests FAILED: > >>> 9 - test_utils_with_ei (Failed) > >>> 16 - test_framework_with_ei (SEGFAULT) > >>> 29 - run_unit_test_rsa_json_rpc (SEGFAULT) > >>> 45 - pubsub_zmq_v2_tests (Subprocess aborted) > >>> 46 - pubsub_zmq_v2_zerocopy_tests (SEGFAULT) > >>> 53 - test_pubsub_interceptors_zmq_and_wire_v1_integration (Subprocess > >>> aborted) > >>> 54 - test_pubsub_interceptors_zmq_and_wire_v2_integration (Subprocess > >>> aborted) > >>> 57 - test_cxx_remote_services_integration (SEGFAULT) > >>> > >>> When building the 'master' branch with the same build options as our > >> GitHub > >>> actions Ubuntu build, which are: > >>> cmake -DBUILD_EXPERIMENTAL=ON -DENABLE_TESTING=ON > >>> -DENABLE_TESTING_DEPENDENCY_MANAGER_FOR_CXX11=ON > >>> -DENABLE_TESTING_FOR_CXX14=ON -DRSA_JSON_RPC=ON -DRSA_SHM=ON > >>> -DRSA_REMOTE_SERVICE_ADMIN_SHM_V2=ON -DSHELL_BONJOUR=ON > >>> -DENABLE_TESTING_ON_CI=ON -DCMAKE_BUILD_TYPE=Debug > >>> -DCMAKE_INSTALL_PREFIX=../celix_install .. > >>> > >>> i get no test failures for the above failing tests: > >>> 9/65 Test #9: test_utils_with_ei ..................................... > >>> Passed 0.00 sec > >>> 17/65 Test #17: test_framework_with_ei ................................. > >>> Passed 0.56 sec > >>> 32/65 Test #32: run_unit_test_rsa_json_rpc ............................. > >>> Passed 0.02 sec > >>> 63/65 Test #63: test_cxx_remote_services_integration ................... > >>> Passed 3.63 sec > >>> > >>> I do get build failures for several pubsub tests, however, I am not sure > >>> yet if that has something to > >>> do with a containerized build, so that is something I am still > >>> investigating. > >>> > >>> Using the above cmake command (with all the options) for the 2.4.0.tar.gz > >>> the above tests also succeed. > >>> > >>> So it seems that only when specific options are enabled, that tests > >>> succeed. I don't think that is correct and needs to be fixed. > >> Does `cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_TESTING=ON ..` succeed? > >> If so, this is intended, because error injectors only work with debug > >> build, which is mentioned in error injector's README. > >> > >> > > With the build type as 'Debug' the unit tests (except the "expected" pubsub > > failures) _do_ succeed. > > If the error injector tests only with in Debug mode, then why are they > > executed during other builds? > > Can't we add a check like the following?: > > > > if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") > > # Enable error injector tests > > endif() > > > > IMO having the RelWithDebInfo tests always fail is not wanted. > > Indeed, I'll fix it as you suggested. > > > > >>> Also IMO the build instructions need to be correct since that is what we > >>> advertise on how users can build Celix and which is included in the > >> release. > >>> =====================Snippet of test logs (in case you are interested) > >>> ======================= > >>> > >>> ==================test_utils_with_ei test===================== > >>> > >>> 9/59 Test #9: test_utils_with_ei > >>> .....................................***Failed 0.00 sec > >>> Running main() from > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/build/_deps/googletest-src/googletest/src/gtest_main.cc > >>> [==========] Running 11 tests from 6 test suites. > >>> [----------] Global test environment set-up. > >>> [----------] 3 tests from FileUtilsWithErrorInjectionTestSuite > >>> [ RUN ] FileUtilsWithErrorInjectionTestSuite.ExtractZipFileTest > >>> Using test zip location > >>> /home/rlenferink/Downloads/celix-2.4.0/build/libs/utils/gtest/test.zip > >>> [ OK ] FileUtilsWithErrorInjectionTestSuite.ExtractZipFileTest (0 > >> ms) > >>> [ RUN ] FileUtilsWithErrorInjectionTestSuite.CreateDirectory > >>> [ OK ] FileUtilsWithErrorInjectionTestSuite.CreateDirectory (0 ms) > >>> [ RUN ] FileUtilsWithErrorInjectionTestSuite.DeleteDirectory > >>> [ OK ] FileUtilsWithErrorInjectionTestSuite.DeleteDirectory (0 ms) > >>> [----------] 3 tests from FileUtilsWithErrorInjectionTestSuite (0 ms > >> total) > >>> [----------] 2 tests from ConvertUtilsWithErrorInjectionTestSuite > >>> [ RUN ] ConvertUtilsWithErrorInjectionTestSuite.CovertToBoolTest > >>> [ OK ] ConvertUtilsWithErrorInjectionTestSuite.CovertToBoolTest (0 > >> ms) > >>> [ RUN ] ConvertUtilsWithErrorInjectionTestSuite.ConvertToVersionTest > >>> [ OK ] ConvertUtilsWithErrorInjectionTestSuite.ConvertToVersionTest > >>> (0 ms) > >>> [----------] 2 tests from ConvertUtilsWithErrorInjectionTestSuite (0 ms > >>> total) > >>> > >>> [----------] 2 tests from IpUtilsWithErrorInjectionTestSuite > >>> [ RUN ] > >> IpUtilsWithErrorInjectionTestSuite.failToGetInterfaceAddresses > >>> [ OK ] > >> IpUtilsWithErrorInjectionTestSuite.failToGetInterfaceAddresses > >>> (0 ms) > >>> [ RUN ] IpUtilsWithErrorInjectionTestSuite.failToDuplicateString > >>> [ OK ] IpUtilsWithErrorInjectionTestSuite.failToDuplicateString (0 > >> ms) > >>> [----------] 2 tests from IpUtilsWithErrorInjectionTestSuite (0 ms total) > >>> > >>> [----------] 1 test from ArrayListErrorInjectionTestSuite > >>> [ RUN ] ArrayListErrorInjectionTestSuite.TestAddFunctions > >>> [ OK ] ArrayListErrorInjectionTestSuite.TestAddFunctions (0 ms) > >>> [----------] 1 test from ArrayListErrorInjectionTestSuite (0 ms total) > >>> > >>> [----------] 2 tests from ErrErrorInjectionTestSuite > >>> [ RUN ] ErrErrorInjectionTestSuite.PushErrorWithTssSetFailingTest > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/utils/gtest/src/ErrErrorInjectionTestSuite.cc:55: > >>> Failure > >>> Value of: strstr(fileContents.c_str(), "Failed to set thread specific > >>> storage for celix_err") != nullptr > >>> Actual: false > >>> Expected: true > >>> Expected error message not found in: > >>> [ FAILED ] ErrErrorInjectionTestSuite.PushErrorWithTssSetFailingTest (0 > >>> ms) > >>> [ RUN ] ErrErrorInjectionTestSuite.PushErrorWithMallocFailingTest > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/utils/gtest/src/ErrErrorInjectionTestSuite.cc:72: > >>> Failure > >>> Value of: strstr(fileContents.c_str(), "Failed to allocate memory for > >>> celix_err") != nullptr > >>> Actual: false > >>> Expected: true > >>> Expected error message not found in: > >>> [ FAILED ] ErrErrorInjectionTestSuite.PushErrorWithMallocFailingTest (0 > >>> ms) > >>> [----------] 2 tests from ErrErrorInjectionTestSuite (0 ms total) > >>> > >>> [----------] 1 test from PropertiesErrorInjectionTestSuite > >>> [ RUN ] PropertiesErrorInjectionTestSuite.CopyFailureTest > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/utils/gtest/src/PropertiesErrorInjectionTestSuite.cc:37: > >>> Failure > >>> Expected equality of these values: > >>> nullptr > >>> Which is: NULL > >>> celix_properties_copy(prop) > >>> Which is: 0x561ee51ed880 > >>> [ FAILED ] PropertiesErrorInjectionTestSuite.CopyFailureTest (0 ms) > >>> [----------] 1 test from PropertiesErrorInjectionTestSuite (0 ms total) > >>> > >>> [----------] Global test environment tear-down > >>> [==========] 11 tests from 6 test suites ran. (0 ms total) > >>> [ PASSED ] 8 tests. > >>> [ FAILED ] 3 tests, listed below: > >>> [ FAILED ] ErrErrorInjectionTestSuite.PushErrorWithTssSetFailingTest > >>> [ FAILED ] ErrErrorInjectionTestSuite.PushErrorWithMallocFailingTest > >>> [ FAILED ] PropertiesErrorInjectionTestSuite.CopyFailureTest > >>> > >>> 3 FAILED TESTS > >>> > >>> ===============test_framework_with_ei====================== > >>> > >>> 16/59 Test #16: test_framework_with_ei > >>> .................................***Exception: SegFault 0.11 sec > >>> Running main() from > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/build/_deps/googletest-src/googletest/src/gtest_main.cc > >>> [==========] Running 25 tests from 9 test suites. > >>> [----------] Global test environment set-up. > >>> [----------] 2 tests from BundleArchiveWithErrorInjectionTestSuite > >>> [ RUN ] > >>> BundleArchiveWithErrorInjectionTestSuite.BundleArchiveCreatedFailedTest > >>> [2023-09-23T14:34:27] [ info] [celix_framework] [framework_start:476] > >>> Celix framework started > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] [framework_start:477] > >>> Celix framework started with uuid 19a7f4df-1551-47d9-a3b7-340019325097 > >>> [2023-09-23T14:34:27] [ error] [celix_framework] > >>> [celix_bundleArchive_create:322] Cannot allocate memory(0xc): "Could not > >>> create archive."; > >>> Cause: > >>> [2023-09-23T14:34:27] [ error] [celix_framework] > >>> [celix_bundleCache_createArchive:222] Cannot allocate memory(0xc): Failed > >>> to create archive. > >>> [2023-09-23T14:34:27] [ error] [celix_framework] > >>> [celix_framework_installBundleInternalImpl:686] Cannot allocate > >>> memory(0xc): Could not install bundle > >>> [2023-09-23T14:34:27] [ error] [celix_framework] > >>> [celix_bundleArchive_create:322] Cannot allocate memory(0xc): "Could not > >>> create archive."; > >>> Cause: Failed to setup archive paths. > >>> [2023-09-23T14:34:27] [ error] [celix_framework] > >>> [celix_bundleCache_createArchive:222] Cannot allocate memory(0xc): Failed > >>> to create archive. > >>> [2023-09-23T14:34:27] [ error] [celix_framework] > >>> [celix_framework_installBundleInternalImpl:686] Cannot allocate > >>> memory(0xc): Could not install bundle > >>> [2023-09-23T14:34:27] [ error] [celix_framework] > >>> [celix_bundleArchive_create:322] Cannot allocate memory(0xc): "Could not > >>> create archive."; > >>> Cause: Failed to setup archive paths. > >>> [2023-09-23T14:34:27] [ error] [celix_framework] > >>> [celix_bundleCache_createArchive:222] Cannot allocate memory(0xc): Failed > >>> to create archive. > >>> [2023-09-23T14:34:27] [ error] [celix_framework] > >>> [celix_framework_installBundleInternalImpl:686] Cannot allocate > >>> memory(0xc): Could not install bundle > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] > >>> [celix_framework_utils_extractBundlePath:191] Extracting bundle url > >>> > >> `/home/rlenferink/Downloads/celix-2.4.0/build/libs/framework/gtest/simple_test_bundle1.zip` > >>> to dir `.cache/bundle4/resources` > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/framework/gtest/src/BundleArchiveWithErrorInjectionTestSuite.cc:77: > >>> Failure > >>> Expected: (bndId) < (0), actual: 4 vs 0 > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/framework/gtest/src/BundleArchiveWithErrorInjectionTestSuite.cc:77: > >>> Failure > >>> Expected: (bndId) < (0), actual: 4 vs 0 > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/framework/gtest/src/BundleArchiveWithErrorInjectionTestSuite.cc:77: > >>> Failure > >>> Expected: (bndId) < (0), actual: 4 vs 0 > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/framework/gtest/src/BundleArchiveWithErrorInjectionTestSuite.cc:77: > >>> Failure > >>> Expected: (bndId) < (0), actual: 4 vs 0 > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/framework/gtest/src/BundleArchiveWithErrorInjectionTestSuite.cc:77: > >>> Failure > >>> Expected: (bndId) < (0), actual: 4 vs 0 > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/framework/gtest/src/BundleArchiveWithErrorInjectionTestSuite.cc:77: > >>> Failure > >>> Expected: (bndId) < (0), actual: 4 vs 0 > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/framework/gtest/src/BundleArchiveWithErrorInjectionTestSuite.cc:77: > >>> Failure > >>> Expected: (bndId) < (0), actual: 4 vs 0 > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] > >>> [celix_framework_shutdownAsync:1143] Start shutdown thread for framework > >>> 19a7f4df-1551-47d9-a3b7-340019325097 > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] > >>> [celix_bundleContext_cleanup:115] Cleaning up bundle context > >>> `celix_framework` (id=0) > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] > >> [framework_shutdown:1096] > >>> Celix framework shutting down > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] > >>> [celix_bundleContext_cleanup:115] Cleaning up bundle context > >>> `simple_test_bundle1` (id=4) > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] > >>> [celix_framework_stopAndJoinEventQueue:1081] Stop and joining event loop > >>> thread for framework 19a7f4df-1551-47d9-a3b7-340019325097 > >>> [2023-09-23T14:34:27] [ debug] [celix_framework] > >>> [celix_framework_stopAndJoinEventQueue:1090] Joined event loop thread for > >>> framework 19a7f4df-1551-47d9-a3b7-340019325097 > >>> [ FAILED ] > >>> BundleArchiveWithErrorInjectionTestSuite.BundleArchiveCreatedFailedTest > >> (1 > >>> ms) > >>> [ RUN ] > >>> > >> BundleArchiveWithErrorInjectionTestSuite.BundleArchiveCreateCacheDirectoryFailedTest > >>> [2023-09-23T14:34:27] [ info] [celix_framework] [framework_start:476] > >>> Celix framework started > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] [framework_start:477] > >>> Celix framework started with uuid c69f04a6-2404-4431-8edd-b4da67665e66 > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] > >>> [celix_framework_utils_extractBundlePath:191] Extracting bundle url > >>> > >> `/home/rlenferink/Downloads/celix-2.4.0/build/libs/framework/gtest/simple_test_bundle1.zip` > >>> to dir `.cache/bundle1/resources` > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/framework/gtest/src/BundleArchiveWithErrorInjectionTestSuite.cc:77: > >>> Failure > >>> Expected: (bndId) < (0), actual: 1 vs 0 > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/framework/gtest/src/BundleArchiveWithErrorInjectionTestSuite.cc:77: > >>> Failure > >>> Expected: (bndId) < (0), actual: 1 vs 0 > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/framework/gtest/src/BundleArchiveWithErrorInjectionTestSuite.cc:77: > >>> Failure > >>> Expected: (bndId) < (0), actual: 1 vs 0 > >>> > >> /home/rlenferink/Downloads/celix-2.4.0/libs/framework/gtest/src/BundleArchiveWithErrorInjectionTestSuite.cc:77: > >>> Failure > >>> Expected: (bndId) < (0), actual: 1 vs 0 > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] > >>> [celix_framework_shutdownAsync:1143] Start shutdown thread for framework > >>> c69f04a6-2404-4431-8edd-b4da67665e66 > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] > >>> [celix_bundleContext_cleanup:115] Cleaning up bundle context > >>> `celix_framework` (id=0) > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] > >> [framework_shutdown:1096] > >>> Celix framework shutting down > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] > >>> [celix_bundleContext_cleanup:115] Cleaning up bundle context > >>> `simple_test_bundle1` (id=1) > >>> [2023-09-23T14:34:27] [ trace] [celix_framework] > >>> [celix_framework_stopAndJoinEventQueue:1081] Stop and joining event loop > >>> thread for framework c69f04a6-2404-4431-8edd-b4da67665e66 > >>> [2023-09-23T14:34:27] [ debug] [celix_framework] > >>> [celix_framework_stopAndJoinEventQueue:1090] Joined event loop thread for > >>> framework c69f04a6-2404-4431-8edd-b4da67665e66 > >>> [ FAILED ] > >>> > >> BundleArchiveWithErrorInjectionTestSuite.BundleArchiveCreateCacheDirectoryFailedTest > >>> (0 ms) > >>> [----------] 2 tests from BundleArchiveWithErrorInjectionTestSuite (2 ms > >>> total) > >>> > >>> [----------] 1 test from CelixBundleArchiveErrorInjectionTestSuite > >>> [ RUN ] > >>> CelixBundleArchiveErrorInjectionTestSuite.ArchiveCreateErrorTest > >>> > >>> ==================run_unit_test_rsa_json_rpc > >>> test============================= > >>> > >>> 29/59 Test #29: run_unit_test_rsa_json_rpc > >>> .............................***Exception: SegFault 0.10 sec > >>> > >>> <too much output for e-mail> > >>> > >>> Op wo 20 sep 2023 om 16:08 schreef xuzhenbao <xuzhen...@apache.org>: > >>> > >>>> > >>>> +1 > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> At 2023-09-20 04:08:37, "Pepijn Noltes" <pepijnnol...@gmail.com> wrote: > >>>>> Hi All, > >>>>> > >>>>> This is the release vote for Apache Celix, version 2.4.0. > >>>>> > >>>>> It includes the following changes: > >>>>> > >> https://github.com/apache/celix/blob/25745ae13848b0ce7b2b35c1e8553ba03f0529a9/CHANGES.md > >>>>> Source files: > >>>>> https://dist.apache.org/repos/dist/dev/celix/celix-2.4.0/ > >>>>> > >>>>> The commit ID to be voted upon: > >>>>> 25745ae13848b0ce7b2b35c1e8553ba03f0529a9 > >>>>> > >>>>> > >> https://github.com/apache/celix/tree/25745ae13848b0ce7b2b35c1e8553ba03f0529a9 > >>>>> Celix's keys can be found at: > >>>>> https://dist.apache.org/repos/dist/release/celix/KEYS > >>>>> > >>>>> Information for voting on a release can be found at: > >>>>> https://www.apache.org/legal/release-policy.html#approving-a-release > >>>>> > >>>>> Please vote to approve this release: > >>>>> > >>>>> [ ] +1 Approve the release > >>>>> [ ] -1 Disapprove the release (please provide specific comments) > >>>>> > >>>>> Note that an Apache release needs to be a Majority Approval (requires > >>>>> at-least 3 binding +1 votes and more +1 votes than -1 votes). > >>>>> > >>>>> If this release is approved I will promote it to an official release > >>>>> (e.g. move from dist/dev to dist/release and tagging the release in > >> git) > >>>>> This vote will be open for at least 72 hours. > >>>>> > >>>>> Best regards, Pepijn. > >> > >> -- > >> Peng Zheng > >> > >> > > -- > Peng Zheng >