Android devs reverse-engineer libs to file bug reports

Original: AOSP Source Releases Are So Late Developers Disassemble Libraries to Report Bugs

Why This Matters

AOSP source lag forces NDK developers to reverse-engineer shipped system libraries to debug regressions.

A bug in Android 17's September 2026 build causes wcscspn()/wcspbrk() to misidentify any wchar_t ≥ U+0100 as a match, breaking wide-string parsing for emoji, CJK, and extended Latin characters.

A GitHub issue filed against the Android NDK repo exposes a pair of problems at once: a genuine bionic regression, and a growing gap between Google's public AOSP source releases and what actually ships on devices.

The bug, reported by francisdb on October 12, 2026, affects Android 17 builds from September 2026 (CP3A.260905.009). The standard C functions wcscspn() and wcspbrk() incorrectly treat any wide character ≥ U+0100 as a match, even when that character is absent from the rejection set. The result: any app scanning wide strings for ASCII delimiters—newlines, wildcards, punctuation—breaks the moment the text contains emoji, CJK, Cyrillic, Greek, or Latin Extended codepoints. wcsspn(), wcschr(), wcsrchr(), wmemchr(), and wcsstr() are unaffected.

Tested devices confirm it: Pixel 7 and Pixel 8a running the September build are broken; a Nothing Phone 2 on an August Android 16 build is fine.

The deeper problem the reporter highlights is sourcing. The public android17-release tag (android-17.0.0_r1, June 2026) builds wcscspn/wcspbrk from external/llvm-libc using a straightforward nested loop—correct behavior. The September OTA build runs different code. Because the source for that build hasn't been released, the reporter had to disassemble the shipped library to identify the mechanism of failure. That's not a workaround; it's a symptom of AOSP source drops falling months behind production releases.

Source

github.com — Read original →