Gli sviluppatori Android hanno dovuto disassemblare una libreria Pixel fornita
Un bug di scansione di caratteri wide nelle build Pixel di Android 17 di settembre ha dovuto essere diagnosticato disassemblando la libreria Bionic C fornita perché le sorgenti AOSP pubbliche si basano su uno snapshot precedente.
Un bug di scansione di caratteri wide nelle build Pixel di Android 17 di settembre ha dovuto essere diagnosticato disassemblando la libreria Bionic C fornita perché le sorgenti AOSP pubbliche si basano su uno snapshot precedente. L'episodio collega la cadenza di pubblicazione delle sorgenti di Android del Q2/Q4 con le dichiarazioni di ingegneria AI interna di Google e il lancio dell'API a pagamento e di AI Ultra di Gemini 4 Argon il 13 ottobre.
Leggi l'edizione scritta (inglese) ↗
Contenuto di questo video
- Il problema Android NDK n. 2260 mostra che wcscspn() e wcspbrk() di Bionic si fermano sui caratteri >= U+0100 sulle build Pixel di Android 17 di settembre quando il set di rifiuto ha due o più caratteri < U+0100.
- AOSP rimane open source, con rilasci di sorgenti programmati per il Q2 e il Q4 del 2026; il branch pubblico android17-release Bionic è stato snapshotato l'ultima volta il 28 marzo 2026, in ritardo rispetto ai binari Pixel di settembre.
- Il manutentore di Bionic di Google ha confermato il bug e ha trovato un test interno in wchar_test.cpp:1475 che si aspettava il valore di ritorno sbagliato (2 invece di 3).
- Gemini 4 Argon (gemini-4-argon) ha raggiunto la disponibilità generale il 13 ottobre per l'API Gemini a pagamento e gli abbonati a Google AI Ultra; i documenti di AI Studio e API escludono i livelli Free e Google AI Pro.
- Il prezzo introduttivo dell'API di 2$ in ingresso e 10$ in uscita per 1M di token è valido fino al 30 novembre 2026 e raddoppia a 4$ in ingresso e 20$ in uscita a partire dal 1° dicembre 2026.
- Nella sessione di ottimizzazione ADK di 11 ore notturna di Google, i manutentori umani hanno spedito 2 delle 6 ottimizzazioni proposte da Argon e ne hanno rifiutate 4 durante la revisione del codice.
Trascrizione tradotta
Tradotto dalla narrazione originale inglese. L'audio e i sottotitoli disponibili sono controllati da YouTube.
Perché uno sviluppatore Android ha disassemblato una libreria Pixel?
0:00 Android è open source, eppure il codice sorgente pubblico è mesi indietro rispetto al binario su un telefono Pixel. Uno sviluppatore ha dovuto disassemblare una libreria di sistema fornita solo per segnalare un bug con un emoji. In questo video, perché un emoji ha rotto una libreria C sui telefoni Pixel? Perché il codice Android fornito manca dall'albero pubblico? E chi ottiene effettivamente Gemini 4 Argon ora? Quando un manutentore di Google ha controllato l'albero sorgente privato per quel bug, ha trovato qualcosa di peggio di un test di unità mancante.
0:26 Ti mostrerò l'esatto fallimento prima del verdetto. È mercoledì 14 ottobre, e questo è The Daily Diff. Bionic è la libreria C di base di Android, lo strato su cui ogni app nativa si basa per memoria, file e testo. Google pubblica Android tramite l'Android Open Source Project, mentre spedisce anche strumenti AI per sviluppatori come Gemini 4 Argon. Il bug è emerso in Visual Pinball su Android. Dopo l'aggiornamento di settembre sui telefoni Pixel 7 e Pixel 8a,
0:51 i tavoli di flipper non si caricavano ogni volta che un commento di script conteneva un emoji. Una faccina sorridente ha fatto crashare la macchina da flipper. Il colpevole si trova in due funzioni di ricerca di caratteri wide in Bionic.
Come ha fatto un emoji a rompere la libreria C di Android?
1:01 Un programma gli passa una stringa e un elenco di delimitatori, come un'interruzione di riga, e chiede quanti caratteri appaiono prima del primo delimitatore. Sulla build di Android 17 di settembre, quando l'elenco dei delimitatori ha due o più caratteri inferiori a esadecimale uno cento, la scansione si ferma al primo carattere uguale o superiore a esadecimale uno cento. Questo interrompe oltre un milione e centomila punti di codice Unicode, inclusi emoji, caratteri cirillici e cinesi.
1:24 Quando una libreria open source si rompe, normalmente si legge il repository. Lo sviluppatore francisdb ha controllato il branch pubblico di Android 17 di giugno e ha trovato un loop pulito che funzionava bene. Il binario del telefono eseguiva un codice diverso. Così lo sviluppatore ha estratto la libreria C dal Pixel e ha disassemblato le istruzioni arm sessantaquattro. Per accelerare le ricerche di caratteri multipli, il binario costruisce una tabella di lookup di duecentocinquantasei byte sullo stack.
1:47 Il loop confronta ogni carattere con esadecimale uno cento e continua a scansionare solo mentre il carattere è inferiore. Qualsiasi carattere più largo esce dal loop e segnala una corrispondenza, il che funziona per mantenere i caratteri e fallisce quando li si rifiuta. Il manutentore di Bionic di Google ha risposto entro tre ore e ha confermato il bug.
Perché il codice Android fornito manca dalle sorgenti pubbliche?
2:02 Stava per dire al reporter di leggere la sorgente, finché non ha visto che il branch pubblico mancava delle modifiche di aprile. L'Android Open Source Project rimane open source. Secondo la politica di Google del 2026, allineata con il suo modello trunk stable, Google pubblica il codice sorgente di Android due volte all'anno, nel secondo e quarto trimestre. Il branch pubblico di Bionic di Android 17 si basa ancora su uno snapshot del ventotto marzo. I telefoni Pixel hanno ricevuto la release trimestrale a settembre, lasciando gli sviluppatori esterni a debuggare i binari
2:29 in un disassemblatore fino al rilascio del quarto trimestre. Mentre gli sviluppatori esterni aspettano i rilasci di codice sorgente,
Come sta usando Google Gemini 4 Argon all'interno dei propri repository?
2:33 all'interno di Google il codice si muove più velocemente con l'AI. Google afferma che Gemini 4 Argon ha aiutato Chrome a districare una cartella legacy di sei milioni di righe all'interno del codebase di quarantatre milioni di righe di Chromium, trasformando mesi in settimane. Gli ingegneri di Google Cloud hanno anche eseguito Argon per undici ore durante la notte sul loro Python Agent Development Kit, che comprende duecentocinque mila righe. Argon ha proposto sei ottimizzazioni in trentadue file, riducendo l'overhead di sessione del quaranta percento.
2:59 I manutentori umani hanno rifiutato quattro di queste sei proposte in fase di revisione. Una cache rischiava di restituire dati di sessione obsoleti dopo la garbage collection, e l'eliminazione delle importazioni di primo livello ha rotto venticinque test interni di Google fino a quando non sono state riscritte come lazy loader. Il che ci porta al modello stesso.
Chi ottiene effettivamente Gemini 4 Argon ora, e a che prezzo?
3:14 Quando Google ha annunciato Gemini 4 Argon il trenta settembre, l'ho etichettato come NEEDS REVIEW perché gli sviluppatori regolari non potevano usarlo. Il tredici ottobre, Google ha contrassegnato l'endpoint gemini 4 argon come generalmente disponibile. Anche il rollout presenta una discrepanza nella documentazione. La pagina di DeepMind dice che Argon è disponibile oggi per gli abbonati a Google AI Pro e Ultra. Cliccando sui documenti dei prezzi dell'API, una finestra di avviso dichiara che Argon non è disponibile per il livello Free e per Google AI Pro. In AI Studio e Antigravity, è necessario AI Ultra o una chiave API a pagamento.
3:45 Il prezzo introduttivo di due dollari per milione di token in ingresso e dieci dollari per l'output scade dopo novembre. Il primo dicembre, il prezzo raddoppia a quattro dollari in ingresso e venti in uscita. Nella classifica di Artificial Analysis, Argon ottiene un punteggio elevato di cinquantatre, alla pari con GPT 6 Astra e Claude Fable 5.1, dietro Claude Opus 5.5 a cinquantotto. I test API in tempo reale registrano in media quarantiquattro secondi di riflessione prima che il primo token di risposta arrivi. Google ha anche mostrato Argon controllare un robot Boston Dynamics Spot
4:14 per far cadere lattine in un bidone a pedale. Prima di muovere una gamba fisica, Argon costruisce una simulazione MuJoCo per esercitarsi a bilanciarsi su tre gambe, guidato da abilità umane e suggerimenti di verifica della telecamera.
Cosa ha asserito il test di unità di Google?
4:25 Ora per quel test unitario nell'albero Bionic privato di Google. Trentacinque minuti dopo aver confermato il bug degli emoji del Pixel, il manutentore di Google ha pubblicato un "facepalm". Bionic aveva un test di caratteri wide alla riga millequattrocentosettantacinque, e asseriva il valore di ritorno errato due invece di tre. Sia che una modifica sia scritta da un essere umano ad aprile o da un agente durante la notte, l'ispezione della sorgente e i test reali la mantengono onesta. Se preferisci leggere questo piuttosto che sentirmi dirlo, il diff arriva nella tua casella di posta
4:49 ogni mattina, gratuitamente su the daily diff dot dev, link qui sotto.
Qual è il verdetto sul rilascio a due velocità di Google?
4:52 Quindi il verdetto di oggi è NEEDS REVIEW. Con Gemini 4 Argon sull'API a pagamento, lo testerei su refactoring limitati supportati da una suite di test, e continuerei a spingere Google a pubblicare il codice sorgente di Android quando vengono spediti i binari. E questo è il diff per oggi. Sono Niko di Axrisi. Fondi responsabilmente.
Fonti
- [BUG] bionic: wcscspn()/wcspbrk() treat every wchar_t >= 0x100 as a match (Android 17, CP3A.260905.009) · #2260android/ndk
- Android Open Source Project site updates — 2026 Changes to AOSP (Q2 and Q4 schedule)Android Open Source Project
- fix: avoid wcspbrk, broken for chars >= U+0100 on Android 17 bionic · PR #41vpinball/libwinevbs
- Gemini API Release Notes — October 13, 2026 (Gemini 4 Argon GA)Google AI for Developers
- Gemini Developer API Pricing — Gemini 4 ArgonGoogle AI for Developers
- Google AI plans in AI StudioGoogle AI for Developers
- Gemini 4 Argon — model overview and Chrome refactoring case studyGoogle DeepMind
- Optimizing a 200,000-line Python codebase overnight with Gemini 4 ArgonGoogle for Developers Blog
- Gemini 4 Argon for RoboticsGoogle for Developers Blog
- Gemini 4 Argon (High) Intelligence, Performance & Price AnalysisArtificial Analysis



