今日已更新 172 条资讯 | 累计 37723 条内容
关于我们

How a GitHub issue closed as 'not planned' sat broken for 10 months until someone brought back a stack trace

/u/Capable-Plantain8709 2026年08月07日 21:38 2 次阅读 来源:Reddit r/programming

TL;DR: pnpm create vite / pnpm run dev has been crashing with a bare Illegal instruction on Android (Termux) for about 10 months. Traced it through a logcat tombstone to Rolldown's native binary, found a closed-as-not-planned upstream issue from last September, got it reopened with hard evidence, and the actual root cause turned out to be one missing target_os check in a mimalloc build flag. Fix is verified on the exact crashing hardware, PR is open, not merged yet. A few days ago I tried to spin up a fresh Vite + React project on my Android tablet, in Termux. Nothing fancy: $ pnpm create vite test-react-app --template react-compiler-ts $ cd test-react-app && pnpm run dev Illegal instruction No stack trace, no error message, just dead on arrival. Tried create-vue — same crash. Tried a bare vite dev — same crash. Three different starters, one identical death. Termux-on-Android matters more than it sounds like it should, because for a lot of people it's the only dev environment they've got — no laptop, just an old Android phone. When the standard create vite path just dies with zero explanation, that's not a minor bug, it's a wall. Chasing it down Assumed it was a Termux packaging problem first and filed a report with logs for Next.js, Vite+React, and Vue all crashing or silently falling back to a slower path. A maintainer pointed out pkg install turbopack fixes the Next.js case — but Vite and Vue don't touch Turbopack at all, so that didn't explain the rest. Turns out Vite 6+ ships Rolldown as its default bundler: a Rust/N-API bundler that loads a native binary ( @rolldown/binding-android-arm64 here). Something in that binary was blowing up on load. A maintainer asked for a logcat tombstone instead of terminal output, and that's where it got interesting: ``` signal 4 (SIGILL), code 1 (ILL_ILLOPC) backtrace: #00 pc ... rolldown-binding.android-arm64.node #01 pc ... rolldown-binding.android-arm64.node #02 pc ... linker64 (call_array+288) #03 pc ... linker64 (soinfo::ca

本文内容来源于互联网,版权归原作者所有
查看原文