Fix pipeline - #33
Open
runlevel5 wants to merge 21 commits into
Open
Conversation
runlevel5force-pushed
the
update-github-actions-v4
branch
5 times, most recently
from
January 20, 2026 00:18
debd972 to
0252d48Compare- 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
runlevel5force-pushed
the
update-github-actions-v4
branch
from
January 20, 2026 00:19
0252d48 to
bbd1dc5CompareAuthor
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
runlevel5force-pushed
the
update-github-actions-v4
branch
from
January 20, 2026 02:40
cf1c72f to
34afd26Comparerunlevel5
commented
Jan 20, 2026
Author
@sfackler the PR is ready for review. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CI/Workflow Updates (.github/workflows/ci.yml)
Updated GitHub Actions to newer versions (checkout@v6)
Adopt the modern pattern of caching by using
Swatinem/rust-cache@v2Fixed libunwind build by adding
-fcommonflag for GCC 10+ compatibility with older libunwind versionsFixed header installation - manually copy headers instead of using
make -C include installwhich doesn't work standaloneWhat to do with buggy libunwind/target (they get segfault) - please see [failed builds] - I've lodged the ticket upstream [x86/x86_64] SIGSEGV in access_reg() due to NULL/invalid ucontext during local unwinding libunwind/libunwind#938 (https://github.com/runlevel5/rstack/actions/runs/21155593107/job/60839788144?pr=1)
Rust check-cfg lint fixes
unwind-sys/build.rs: Declared custom cfg flags (pre12, pre13, pre14, pre16) for the check-cfg lintunwind/build.rs: Declared custom cfg flags (pre12, pre16) for the check-cfg lintDead code fix
unwind-sys/src/aarch64.rs: Added#[allow(dead_code)]to theunw_sigcontext_paddingstruct used for alignment purposes