Uso la libreria Square Tape per accodare i caricamenti di dati al server.EOFException durante la lettura del nastro QueueFile
La coda è archiviata in File in formato JSON. Quando l'app si avvia, inizio la coda e avvio il caricamento (ad esempio se su Wifi) Tuttavia su alcuni dispositivi sugli utenti sto vedendo EOFException
con il messaggio 'null'
(bloccato in crashlytics).
L'errore si verifica quando si crea un oggetto FileObjectQueue
da un file esistente: dalle informazioni di debug il file effettivo è ~ 1 MB.
Qualche idea che cosa sta causando questo o come prevenirlo? - Forse ho bisogno di rispolverare il mio java.io.
Edit: usando nastro v1.2.1
Caused by: java.io.EOFException
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:419)
at java.io.RandomAccessFile.readInt(RandomAccessFile.java:439)
at com.squareup.tape.QueueFile.readElement(:182)
at com.squareup.tape.QueueFile.readHeader(:162)
at com.squareup.tape.QueueFile.(:110)
at com.squareup.tape.FileObjectQueue.(:35)
at com.myapp.queue.MyUploadTaskQueue.create(:125)
Aggiornato - vedendo anche questo errore in quanto l'aggiornamento a 1.2.2
Caused by: java.io.IOException: File is corrupt; length stored in header is 0.
at com.squareup.tape.QueueFile.readHeader(:165)
at com.squareup.tape.QueueFile.<init>(:117)
at com.squareup.tape.FileObjectQueue.<init>(:35)
Quale versione della libreria stai usando? –
Hey Jake, usando Tape v1.2.1 (aggiornato in questione) ma controllando il registro delle modifiche, vedo forse una correzione correlata "Prevenire la corruzione quando si espande una coda perfettamente saturata", quindi proveremo 1.2.2. grazie – scottyab
Cool. Questo è esattamente il motivo per cui ho chiesto! –