apache / apache/arrow

[R][CI] r-devdocs crossbow job fails during gap between C++ and R releases

Open
#49,380 3 comments 0 reactions 1 assignee Claimed by @vanshaj2023 View on GitHub
Component: R good-first-issue Type: bug
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the bug, including details regarding any error messages, version, and platform.

The `r-devdocs` crossbow job consistently fails during the period between when the main Apache Arrow release completes (and C++ packages are published to apt) and when the R package is released to CRAN.

Example failure from 23.0.1: https://github.com/ursacomputing/crossbow/actions/runs/22147872099/job/64030288380

The error is an ABI mismatch:
```
Error: package or namespace load failed for 'arrow' in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/home/runner/work/_temp/Library/arrow/libs/arrow.so':
/home/runner/work/crossbow/crossbow/dist/lib/libarrow_compute.so.2300: undefined symbol: _ZN5arrow6Status14AddContextLineEPKciS2_
```

### Root cause

The `r/vignettes/developers/setup.Rmd` file contains a hidden test section (lines 342-351) that:

1. Builds Arrow C++ from source (from the git checkout)
2. Installs the R package linked against this custom-built libarrow
3. Installs system `libarrow-dev` from the Apache apt repository
4. Attempts to load the R package

Step 3 installs the **released** version of libarrow (e.g., 23.0.1) from apt, but the R package was built against libarrow from the git checkout, which may contain post-release commits with different symbols. This causes the undefined symbol error when loading.

This test exists to verify the "Multiple versions of libarrow" troubleshooting section in the developer setup docs, but it assumes the apt version and git checkout version are compatible - which isn't true during the release gap.

### Component(s)

R

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.