Emoji in build script caused silent Windows crash misread as version error
During the Windows build of v1.6.11, a build gate repeatedly reported a version inconsistency error despite all version numbers being correct. The real culprit was emoji characters in the output of bump_version.py: on Japanese Windows, the default cp932 encoding cannot represent symbols like ✅, causing Python to throw a UnicodeEncodeError and exit with a non-zero code. Because development and builds were always run on macOS first — where UTF-8 is the default — the bug had no opportunity to surface locally. The fix replaced all emoji in the script's output with plain ASCII equivalents such as [OK] and [NG], and updated the build gate to explicitly enforce UTF-8 encoding when invoking subprocesses. Three automated test layers were also added to catch any future recurrence through static source scanning, behavioral subprocess testing under cp932, and a negative check that verifies the detector itself can catch injected emoji.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in