Skip to content

docs: note Termux/Android SIGSYS crash and build-from-source workaround#515

Merged
robzolkos merged 2 commits into
mainfrom
docs/termux-android-sigsys-note
Jul 2, 2026
Merged

docs: note Termux/Android SIGSYS crash and build-from-source workaround#515
robzolkos merged 2 commits into
mainfrom
docs/termux-android-sigsys-note

Conversation

@robzolkos

@robzolkos robzolkos commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

Addresses #506.

What

Adds a Troubleshooting entry to install.md for Termux/Android, where the prebuilt binaries and go install …@latest crash on startup with SIGSYS: bad system call — even for basecamp --help.

Why (root cause)

atotto/clipboard — an indirect dependency pulled in by the TUI via charm.land/bubbles/v2/textinput — calls exec.LookPath in its package init(). That triggers the faccessat2 syscall, which Android's seccomp policy kills with SIGSYS before main runs, so nothing the CLI does can catch it.

Why docs-only (no code fix)

There is no go install-safe local fix:

  • Bump the dependencybubbles/v2 v2.1.0 (already our version) is the latest and still imports atotto/clipboard.
  • replace directive to lazy-load clipboardgo install pkg@latest errors when the target module's go.mod contains replace/exclude directives, so this would break installs on every platform.
  • Build-tag out the TUIinternal/tui is wired into the presenter/output/root render paths and many everyday commands; it can't be cleanly excluded.

The durable fix belongs upstream (making textinput's clipboard init lazy). This PR documents the one method that works today — building from source with Termux's patched Go toolchain, which sidesteps the blocked syscall (confirmed by the reporter in #506).

Change

Docs only — one new Troubleshooting entry in install.md.


Summary by cubic

Added a Troubleshooting entry to install.md for Termux/Android where prebuilt binaries and go install github.com/basecamp/basecamp-cli/cmd/basecamp@latest crash on startup with SIGSYS: bad system call. It explains the cause and shows a build-from-source workaround using Termux’s Go, with the full go install command and a note to adjust the go line in go.mod if your Termux Go is older.

Written for commit fc2d89a. Summary will update on new commits.

Review in cubic

Prebuilt binaries and 'go install @latest' crash on startup on Termux with
SIGSYS: bad system call. A transitive dependency (atotto/clipboard, via the
TUI's bubbles textinput) calls exec.LookPath in its package init(), and
Android's seccomp kills the resulting faccessat2 syscall before main runs.

There is no go-install-safe local fix (a replace directive would make
'go install @latest' error for everyone; the latest bubbles still imports
clipboard). Document the working path — building from source with Termux's
patched Go toolchain — until the upstream clipboard init is made lazy.
Copilot AI review requested due to automatic review settings July 2, 2026 19:53
@github-actions github-actions Bot added docs documentation Improvements or additions to documentation labels Jul 2, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Termux/Android-specific troubleshooting guidance to help users work around a startup SIGSYS: bad system call crash by building from source with Termux’s Go toolchain.

Changes:

  • Documented the Termux/Android SIGSYS startup crash scenario (including likely cause).
  • Added a build-from-source workaround for Termux users in the Troubleshooting section.

Tip

If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread install.md Outdated
Comment thread install.md Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 1 file

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread install.md Outdated
… toolchain line

- Replace the elided 'go install …@latest' with the full copy-pasteable command.
- go.mod has no toolchain directive (only a go line), so reference just the go line.
@robzolkos robzolkos merged commit 937d97e into main Jul 2, 2026
26 checks passed
@robzolkos robzolkos deleted the docs/termux-android-sigsys-note branch July 2, 2026 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants