On Tue, Sep 26, 2023 at 7:36 PM Roy Lenferink <rlenfer...@apache.org> wrote: > > Op ma 25 sep 2023 om 20:00 schreef Pepijn Noltes <pepijnnol...@gmail.com>: > > > @Roy I think if https://github.com/apache/celix/pull/657 is merged, we > > have fixed all the issues you have found. Correct? > > > > > The issues I found are indeed fixed and all tests pass (with all features > enabled, > but also with only RelWithDebInfo with tests enabled). After a few test > runs I did > experience flaky test_framework tests and I created > https://github.com/apache/celix/issues/659 > for that. > > Is this something anyone of you has experienced before?
I recognize the tests and I spent quite some time getting these tests stable. Currently they run stable on my machine, but that is a "works on my machine" argument ;) I will have a look and see if I can improve this. > > > > > > 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 > > > > >