Hacker News | 📄 原文链接 | 2026-10-15 收录

AOSP 源码发布太慢,开发者只能反汇编库来报 bug — Hacker News 中文摘要

来源:github.com — 443 分 · by tharen

📋 概述

android/ndk 仓库的 issue #2260 记录了一个 bionic 的回归:在 2026 年 9 月的 Android 17 构建上,wcscspn() 与 wcspbrk() 会在字符串里遇到第一个大于等于 U+0100 的宽字符时提前停止——只要「拒绝集合」里有两个以上都小于 U+0100 的字符,这个不在集合里的字符也会被当成命中。wcsspn()、wcschr()、wcsrchr()、wmemchr() 与 wcsstr() 都正常。任何用宽字符串扫描 ASCII 分隔符(例如换行或通配符)的代码,只要文本里出现 emoji、CJK、西里尔、希腊或拉丁扩展字符就会出错;报告者在 Pixel 7、Pixel 8a 的 Android 17(2026-09-05 补丁)上复现,Nothing Phone 2 的 Android 16 正常。更值得注意的是取证方式:公开的 android17-release 源码(android-17.0.0_r1,2026 年 6 月)从 external/llvm-libc 编译出的这两函数是一个朴素的嵌套循环、逻辑正确,与九月构建的行为不符,也就是说回归发生在六月到九月的版本之间,而开发者手里没有对应源码,只能通过反汇编库来定位差异——这正是标题所指的「源码发布太慢」。

🔑 核心要点

💡 金句

The public android17-release sources (android-17.0.0_r1, June 2026) build wcscspn / wcspbrk from external/llvm-libc, which is a plain nested loop over wchar_t and is correct.
← 返回 Hacker News 首页