NVIDIA / NVIDIA/cuopt

[BUG] CUDA 12 latest-deps wheel tests fail: pylibcudf/libcudf nightly ABI skew (undefined symbol read_parquet_column_chunk_bounds)

Open
#1,765 1 comment 0 reactions 1 assignee View on GitHub

@Kh4ster is already working on this.

Since Aug 21, 2026.

awaiting response bug
Dominant language
Cuda
Stars
1k
Forks
233
Avg merge
4d 4h
Merged PRs (30d)
95

Description

Describe the bug

CUDA 12 wheel test jobs fail at import time with an undefined symbol error from pylibcudf, before any cuOpt code runs:

ImportError: /pyenv/versions/3.11.16/lib/python3.11/site-packages/pylibcudf/io/parquet_metadata.abi3.so:
  undefined symbol: _ZN4cudf2io32read_parquet_column_chunk_boundsESt4spanIKNS0_7parquet12FileMetaDataE...

demangled: cudf::io::read_parquet_column_chunk_bounds(...)

The import chain that triggers it is from pylibcudf.io.experimental.hybrid_scan import ....

Root cause

The installed libcudf and pylibcudf nightlies are skewed:

libcudf-cu12-26.10.0a291.post260821111824     <- built 11:18
pylibcudf-cu12-26.10.0a292.post260821162058   <- built 16:20, ~5h later

pylibcudf a292 was built against a libcudf that exports read_parquet_column_chunk_bounds; the resolver pinned libcudf a291, which does not. Both satisfy ==26.10.*, so pip is free to pick mismatched nightlies.

Observed in

Run 32495102132:

job result
wheel-tests-cuopt / 12.2.2, 3.11, arm64, ubuntu22.04, a100, latest-deps fail
wheel-tests-cuopt-server / 12.9.2, 3.14, amd64, ubuntu24.04, h100, latest-deps fail
wheel-tests-cuopt / 12.9.2, 3.11, amd64, l4, oldest-deps pass
wheel-tests-cuopt / 12.9.2, 3.14, amd64, h100, latest-deps pass

Only latest-deps jobs are affected, which is consistent with nightly drift: oldest-deps resolves to an older, self-consistent pair.

Failure mode is a collection error, so it takes out the whole module -- one of the runs reported 0 passed, 1 failed, 20 errors.

Not cuOpt code

The failure happens while importing pylibcudf, before cuOpt is exercised. It is unrelated to whatever a given PR changes; it surfaced on an unrelated routing fix.

Suggested next steps

  • Confirm whether this is transient nightly skew or needs a constraint pinning libcudf/pylibcudf to the same nightly build
  • If the former, consider whether latest-deps jobs should pin matched RAPIDS nightly builds rather than ==26.10.* independently

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.