This is an automated email from the ASF dual-hosted git repository.

paleolimbot pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-nanoarrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 9db8f568 chore(ci): Add valgrind suppressions for Arrow C++ dynamic 
library initialization (#891)
9db8f568 is described below

commit 9db8f5682cdb2eb0c827b58c1654a35dbd402ce0
Author: Dewey Dunnington <[email protected]>
AuthorDate: Tue Jun 2 17:16:31 2026 -0500

    chore(ci): Add valgrind suppressions for Arrow C++ dynamic library 
initialization (#891)
    
    This CI adds valgrind suppressions for the Arrow C++ shared object
    initialization, which apparently has an uninitialized conditional
    valgrind note. The prefix is `mi_` so I am guessing mimalloc but I'm not
    sure.
    
    I also added a slight modification to upload the verification directory
    in case of failure (to more easily debug these in the future).
---
 .github/workflows/verify.yaml | 14 +++++++++++++-
 valgrind.supp                 | 10 ++++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml
index f5633904..47bba214 100644
--- a/.github/workflows/verify.yaml
+++ b/.github/workflows/verify.yaml
@@ -170,5 +170,17 @@ jobs:
 
         run: |
           cd src
+          mkdir -p ../nanoarrow-verify-tmp
           echo "::group::Docker Pull"
-          docker compose run -e GITHUB_ACTIONS ${{ matrix.config.compose_args 
}} verify
+          docker compose run \
+            -e GITHUB_ACTIONS \
+            -e NANOARROW_TMPDIR=/nanoarrow-verify-tmp \
+            -v "$(pwd)/../nanoarrow-verify-tmp:/nanoarrow-verify-tmp" \
+            ${{ matrix.config.compose_args }} verify
+
+      - name: Upload temp directory
+        if: failure()
+        uses: actions/upload-artifact@main
+        with:
+          path: nanoarrow-verify-tmp
+          name: nanoarrow-verify-tmp-${{ matrix.config.platform }}-${{ 
matrix.config.arch }}${{ matrix.config.extra_label }}
diff --git a/valgrind.supp b/valgrind.supp
index c26db940..46cae895 100644
--- a/valgrind.supp
+++ b/valgrind.supp
@@ -15,6 +15,16 @@
 # specific language governing permissions and limitations
 # under the License.
 
+{
+   <Arrow C++>:Library initialization
+   Memcheck:Cond
+   ...
+   obj:*arrow*
+   ...
+   fun:call_init*
+   fun:_dl_init
+}
+
 {
     <jemalloc>:Thread locals don't appear to be freed
     Memcheck:Leak

Reply via email to