rowboatlabs / rowboatlabs/rowboat
Crash (EXC_BREAKPOINT/SIGTRAP) during Google OAuth sign-in on macOS 27 beta
- Dominant language
- TypeScript
- Stars
- 17.6k
- Forks
- 1.7k
- Avg merge
- 11h 37m
- Merged PRs (30d)
- 173
Description
## Description
Rowboat 0.8.7 crashes with `EXC_BREAKPOINT` / `SIGTRAP` inside the bundled Node/V8
runtime, reproduced twice within a few minutes on the same machine. Both crash
reports have an (almost) identical native stack, so this looks deterministic
rather than random memory corruption.
## Environment
- Rowboat version: 0.8.7 (latest at time of filing)
- macOS: 27.0, build `26A5406e` (**beta**)
- Hardware: Apple Silicon (Mac16,12)
## Steps to reproduce
1. Open Settings → Connections
2. Click "Connect" under Google (Primary accounts) to start Gmail sign-in
3. If the browser callback doesn't complete immediately, click "Connect" again
before the first attempt finishes/errors
4. App crashes shortly after — both crashes in the two attached reports happened
right after TLS certificate validation activity (`SecTrustCopyAppleTrustAnchors`,
`SecKeyVerifySignature` in the system log), consistent with the OAuth token
exchange network call
Note: retrying "Connect" while a prior sign-in flow is still active also
separately produces a `Port 8081 is unavailable (EADDRINUSE)` error dialog
(the callback server from the earlier attempt isn't released before the new
one binds) — possibly related, possibly a separate symptom of the same
underlying race.
## Crash signature (both reports, same top frames)
```
Exception Type: EXC_BREAKPOINT (SIGTRAP)
ares_dns_rr_get_ttl (likely mis-symbolicated, stripped binary)
ares_dns_rr_get_ttl
ares_dns_rr_get_ttl
node::sqlite::UserDefinedFunction::xDestroy(void*)
v8::PropertyDescriptor::set() const
v8::PropertyDescriptor::set() const
temporal_rs_PlainDateTime_days_in_week
v8::Value::IsFunction() const
v8::Value::IsFunction() const
v8::Value::IsFunction() const
v8::internal::compiler::CompilationDependencies::DependOnConsistentJSFunctionView(...)
v8::internal::compiler::CompilationDependencies::DependOnConsistentJSFunctionView(...)
```
I want to flag explicitly: the symbol names above are almost certainly
**mis-attributed** (nearest-export symbolication on a stripped binary) --
please don't read `ares_dns_rr_get_ttl` or `temporal_rs_PlainDateTime_days_in_week`
literally as the actual crash site. I'm not filing this as "I found the bug",
just as a reproducible data point: same native crash, same rough location,
twice, correlated with an in-flight HTTPS request during the Google OAuth flow,
on a beta macOS build.
## My best-effort read (not a diagnosis, happy to be wrong)
Given this is a beta OS release (`26A5406e`) and the crash sits inside V8/Node
internals rather than app code, this may well be an Electron/Node/macOS-27-beta
compatibility issue rather than a Rowboat-specific bug -- flagging in case
others hit it on the same beta, or in case it's useful signal either way.
## Attachments
Full `.ips` crash reports available on request (contain local file paths;
happy to share via a different channel if preferred over pasting them here).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the Settings → Connections Google “Connect” OAuth flow and the callback server using port 8081; reproduce the crash by retrying while the first sign-in remains active. Compare the two attached .ips reports and check whether the flow completes without a crash or EADDRINUSE error on macOS 27 beta.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, node.js
- Domain
- authentication, desktop, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100