@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
>

Reply via email to