Skip to content

Fix pipeline - #33

Open
runlevel5 wants to merge 21 commits into
sfackler:masterfrom
runlevel5:update-github-actions-v4
Open

Fix pipeline#33
runlevel5 wants to merge 21 commits into
sfackler:masterfrom
runlevel5:update-github-actions-v4

Conversation

@runlevel5

@runlevel5runlevel5 commented Jan 19, 2026

Copy link
Copy Markdown

Summary

CI/Workflow Updates (.github/workflows/ci.yml)

Rust check-cfg lint fixes

  • unwind-sys/build.rs: Declared custom cfg flags (pre12, pre13, pre14, pre16) for the check-cfg lint
  • unwind/build.rs: Declared custom cfg flags (pre12, pre16) for the check-cfg lint

Dead code fix

  • unwind-sys/src/aarch64.rs: Added #[allow(dead_code)] to the unw_sigcontext_padding struct used for alignment purposes

@runlevel5
runlevel5force-pushed the update-github-actions-v4 branch 5 times, most recently from debd972 to 0252d48CompareJanuary 20, 2026 00:18
- Bump actions/checkout to v6 and actions/cache to v5
- Replace deprecated set-output with GITHUB_OUTPUT
- Replace manual cargo caching with Swatinem/rust-cache@v2
- Add -fcommon flag for libunwind < 1.5.0 (GCC 10+ compatibility)
- Disable tests for libunwind < 1.3.0 (protected symbol errors)
- Fix CFLAGS quoting for i686 builds
- Disable fail-fast for libunwind matrix
@runlevel5
runlevel5force-pushed the update-github-actions-v4 branch from 0252d48 to bbd1dc5CompareJanuary 20, 2026 00:19
@runlevel5runlevel5 changed the title Update GitHub Actions to v4 (cache and checkout)Fix pipelineJan 20, 2026
@runlevel5

runlevel5 commented Jan 20, 2026

Copy link
Copy Markdown
Author

I am unsure if the CI has ever passed, but upon fixing it the build does show some errors (for example https://github.com/runlevel5/rstack/actions/runs/21155593107/job/60839788144?pr=1), I am wondering if it is a known issue or not @sfackler

EDIT: I've lodged a ticket upstream libunwind/libunwind#938

libunwind 1.6.2 on i686 has a bug where access_reg() dereferences
cursor->uc without checking if it's NULL. When DWARF unwinding
encounters a DWARF_LOC_TYPE_REG location, it calls access_reg()
which assumes uc is valid, causing SIGSEGV.
This is an upstream libunwind bug that cannot be fixed in the wrapper.
All three failures are the same root cause - access_reg() dereferences
cursor->uc without validity check when handling DWARF_LOC_TYPE_REG:
- x86_64 + 1.4.0: uc=0x0, addr=0x78
- i686 + 1.2.1: uc=0x2, addr=0x2e
- i686 + 1.6.2: uc=0x0, addr=0x2c
@runlevel5
runlevel5force-pushed the update-github-actions-v4 branch from cf1c72f to 34afd26CompareJanuary 20, 2026 02:40
@runlevel5

Copy link
Copy Markdown
Author

@sfackler the PR is ready for review.

@runlevel5runlevel5 mentioned this pull request Jan 20, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@runlevel5