AOSP देर से जारी, डेवलपर्स लाइब्रेरी डिसअसेंबल कर बग ढूंढते हैं

मूल शीर्षक: AOSP Source Releases Are So Late Developers Disassemble Libraries to Report Bugs

यह क्यों महत्वपूर्ण है

AOSP source की देरी से डेवलपर्स shipped binary और public code के बीच regression पकड़ नहीं पाते, जो Android ecosystem की पारदर्शिता पर सवाल उठाता है।

Android 17 के सितंबर 2026 बिल्ड (CP3A.260905.009) में wcscspn()/wcspbrk() फंक्शन U+0100 से बड़े हर wchar_t को गलत तरीके से match मान लेते हैं। Pixel 7 और Pixel 8a पर बग की पुष्टि हुई।

GitHub पर android/ndk repository में issue #2260 दर्ज हुआ है, जिसमें डेवलपर francisdb ने बताया कि Android 17 के सितंबर 2026 बिल्ड में bionic लाइब्रेरी के wcscspn() और wcspbrk() फंक्शन टूटे हुए हैं। समस्या यह है कि जब reject set में दो या अधिक ASCII-रेंज (U+0100 से नीचे) के कैरेक्टर हों, तो U+0100 या उससे बड़े किसी भी wide character — जैसे emoji, CJK, Cyrillic, Greek, या Latin Extended — को गलती से match मान लिया जाता है, भले ही वह set में हो ही नहीं। इससे वह कोड टूट जाता है जो wide string में ASCII delimiter खोजता है।

Pixel 7 और Pixel 8a दोनों पर बग की पुष्टि हुई, जबकि Nothing Phone 2 (Android 16, अगस्त 2026 पैच) सही काम कर रहा है। wcsspn(), wcschr(), wcsrchr(), wmemchr() और wcsstr() इस बग से अप्रभावित हैं।

सबसे बड़ी समस्या यह है कि जून 2026 में जारी सार्वजनिक android-17.0.0_r1 source में यह बग नहीं है — वहाँ external/llvm-libc से plain nested loop वाला सही कोड है। लेकिन सितंबर बिल्ड में अलग implementation है, जो source के रूप में सार्वजनिक नहीं हुई। इसी कारण डेवलपर को बग समझने के लिए device की लाइब्रेरी को disassemble करना पड़ा। AOSP source release की यह देरी डेवलपर्स को blindspot में डाल देती है।

स्रोत

github.com — मूल लेख पढ़ें →