Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.tlc.cellulari.android > #111407

Re: [NeReO]1.2.9b - con bugfixer

Subject Re: [NeReO]1.2.9b - con bugfixer
From MCSM <despammed@mcsm.anonaddy.me>
References (2 earlier) <117f9eh$ur32$1@dont-email.me> <117fad8$urfi$1@dont-email.me> <XnsB4BDEDEA8870Aall321en@not.for.you> <117gdc9$19lb9$1@dont-email.me> <XnsB4BE6C00388CCall321en@not.for.you>
Newsgroups it.tlc.cellulari.android
Message-ID <mn.2a807ea9d02562cc.0@mcsm.org> (permalink)
Organization mcsm.org
Date 2026-09-05 10:40 +0200

Show all headers | View raw


On 05/09/2026 , *Allen* wrote:
.....
> Cambiamo domanda, qual'è(ra) il gruppo più corposo? :-(

Per tua info ti riporto qui cosa ci dice Claude dopo aver sottoposto il 
risultato di macchia (so che ti piacciono queste info! ;)

PS: è lunghetto...
Finalmente un dato vero da mordere!

Quello che è certo (deduzione diretta dalla traccia, verificato sul 
codice — non ipotesi):

Il crash *non è nel nostro codice di logica*: è dentro il codice 
generato da Room mentre converte le righe di un cursore SQLite in 
oggetti Article, dentro il meccanismo con cui Room implementa un Flow 
che si auto-aggiorna quando la tabella articles cambia. ArticleDao ha 
esattamente tre query di questo tipo: la lista di un gruppo, e due di 
ricerca. La riga "Suppressed... StandaloneCoroutine{Cancelling}" nella 
traccia è la prova diretta che quella raccolta di dati era in fase di 
cancellazione — cioè una schermata stava chiudendosi — nello stesso 
istante in cui Room stava ancora leggendo righe dal suo cursore.

La parte abduttiva (la spiegazione più coerente con tutto, non una 
certezza): Macchia non stava cercando nulla, quindi il colpevole più 
probabile è la query della lista articoli di un gruppo — verosimilmente 
ancora in smontaggio proprio mentre lui tornava alla schermata Server 
per lanciare "aggiorna tutti", e quel bulk-sync scriveva a raffica 
sulla stessa tabella che quella Flow stava osservando: la scrittura 
scatena una nuova esecuzione della query proprio mentre la vecchia sta 
morendo, e in quella finestra la lettura del cursore fallisce.

E qui c'è una correzione importante da fare a me stesso, non solo un 
aggiornamento: Macchia aveva l'aggiornamento automatico disattivato 
(solo manuale) — il timer periodico che il Piano B ha messo in 
sicurezza non era nemmeno in gioco qui, è bastato UN sync manuale. E il 
Piano B (il mutex) serializza solo scrittura-contro-scrittura fra sync; 
non tocca in nessun modo scrittura-contro-lettura — e questa traccia è 
esattamente una lettura (una Flow della UI) che si scontra con una 
scrittura (il sync). Con ogni probabilità il Piano B non avrebbe 
evitato questo episodio specifico. Non lo rende inutile — il difetto 
sync-vs-sync che chiude resta reale — ma sposta il centro dell'indagine 
su un fronte diverso e finora non guardato.

Tre strade, nessuna esclude le altre:

Piano A — verifica mirata (solo lettura, rischio zero) di come la 
navigazione smonta la schermata precedente quando si torna ai Server, 
per capire se quella Flow viene davvero cancellata quando dovrebbe o 
resta viva più a lungo del previsto.

Piano B — aggiungere una gestione d'errore (.catch) nei tre punti che 
leggono questa Flow, così un fallimento di lettura del cursore (che 
pare un evento raro e transitorio) faccia al più restare la lista 
com'era, invece di far cadere l'intera app. Cura il sintomo anche senza 
aver capito la causa esatta.

Piano C — valutare l'aggiornamento della libreria Room (siamo fermi 
alla 2.6.1): alcune versioni più recenti hanno irrobustito proprio la 
gestione della cancellazione in questo punto. Se è lì la causa, si 
risolverebbe senza toccare una riga nostra — ma richiede ricompilazione 
e un giro di collaudo completo, quindi più lento.

Nessun codice toccato, come da patto. Dimmi come vuoi procedere — la 
mia inclinazione sarebbe A (per capire, gratis) più B (per limitare il 
danno subito, a prescindere da cosa dirà A), tenendo C sul tavolo per 
un giro successivo.

-- 
          .:. MCSM .:.
-> posting from PC with MesNews <-

Back to it.tlc.cellulari.android | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[NeReO]1.23.9 con bugfixer MCSM <despammed@mcsm.anonaddy.me> - 2026-09-04 13:38 +0200
  Re: [NeReO]1.2.9b - con bugfixer MCSM <despammed@mcsm.anonaddy.me> - 2026-09-04 13:39 +0200
    Re: [NeReO]1.2.9b - con bugfixer Macchia <TOGLIMI_la.macchia.nera@gmail.com> - 2026-09-04 20:24 +0000
      Re: [NeReO]1.2.9b - con bugfixer Macchia <TOGLIMI_la.macchia.nera@gmail.com> - 2026-09-04 20:41 +0000
        Re: [NeReO]1.2.9b - con bugfixer Allen <allen@spamfence.net> - 2026-09-04 21:27 +0000
          Re: [NeReO]1.2.9b - con bugfixer Macchia <TOGLIMI_la.macchia.nera@gmail.com> - 2026-09-05 06:38 +0000
            Re: [NeReO]1.2.9b - con bugfixer Allen <allen@spamfence.net> - 2026-09-05 08:37 +0000
              Re: [NeReO]1.2.9b - con bugfixer MCSM <despammed@mcsm.anonaddy.me> - 2026-09-05 10:40 +0200
                Re: [NeReO]1.2.9b - con bugfixer Allen <allen@spamfence.net> - 2026-09-05 11:27 +0000
                Re: [NeReO]1.2.9b - con bugfixer MCSM <despammed@mcsm.anonaddy.me> - 2026-09-05 14:14 +0200
              Re: [NeReO]1.2.9b - con bugfixer Macchia <TOGLIMI_la.macchia.nera@gmail.com> - 2026-09-05 18:45 +0000
                Re: [NeReO]1.2.9b - con bugfixer Allen <allen@spamfence.net> - 2026-09-06 13:48 +0000
                Re: [NeReO]1.2.9b - con bugfixer Macchia <TOGLIMI_la.macchia.nera@gmail.com> - 2026-09-06 22:35 +0000
                Re: [NeReO]1.2.9b - con bugfixer Allen <allen@spamfence.net> - 2026-09-07 19:28 +0000
                Re: [NeReO]1.2.9b - con bugfixer Macchia <TOGLIMI_la.macchia.nera@gmail.com> - 2026-09-08 06:36 +0000
                Re: [NeReO]1.2.9b - con bugfixer Allen <allen@spamfence.net> - 2026-09-08 12:41 +0000
  Re: [NeReO]1.23.9 con bugfixer Cercaparole <cercaparole@-.dai> - 2026-09-04 20:25 +0000
    Re: [NeReO]1.23.9 con bugfixer MCSM <despammed@mcsm.anonaddy.me> - 2026-09-05 10:32 +0200
  Re: [NeReO]1.23.9 con bugfixer fandango <fandango@invalid.invalid> - 2026-09-05 08:51 +0200
    Re: [NeReO]1.23.9 con bugfixer MCSM <despammed@mcsm.anonaddy.me> - 2026-09-05 10:22 +0200

csiph-web