marian-m12l / studio

STUdio - Story Teller Unleashed
https://marian-m12l.github.io/studio-website/
Mozilla Public License 2.0
694 stars 130 forks source link

[s.w.a.DeviceController]: Failed to read packs from device #409

Closed BaseZoubru closed 11 months ago

BaseZoubru commented 11 months ago

Hello everyone, I speak both, English and French, but my French is better ;)

Bonjour à tous, j'ai cette erreur et depuis je ne peut plus ajouter ou retirer de pack de ma lunii :-(

I've got this error, then I can't add or remove story pack from/to my lunii anymore :-(

SharedScreenshot LUNII

Here my logs :

2023-10-30 13:55:31,069 [DEBUG] [s.d.f.FsStoryTellerAsyncDriver]: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX 2023-10-30 13:55:31,069 [ERROR] [s.w.a.DeviceController]: Failed to read packs from device java.util.concurrent.CompletionException: studio.driver.StoryTellerException: Failed to read pack metadata on device partition at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1311) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1841) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1806) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177) Caused by: studio.driver.StoryTellerException: Failed to read pack metadata on device partition at studio.driver.fs.FsStoryTellerAsyncDriver.lambda$getPacksList$0(FsStoryTellerAsyncDriver.java:225) at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646) ... 8 more Caused by: java.lang.IndexOutOfBoundsException at java.base/java.nio.Buffer.checkIndex(Buffer.java:749) at java.base/java.nio.HeapByteBuffer.getShort(HeapByteBuffer.java:394) at studio.driver.fs.FsStoryTellerAsyncDriver.lambda$getPacksList$0(FsStoryTellerAsyncDriver.java:209) ... 9 more 2023-10-30 13:55:31,069 [ERROR] [s.w.MainVerticle]: Exception thrown java.util.concurrent.CompletionException: studio.driver.StoryTellerException: Failed to read pack metadata on device partition at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1311) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1841) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1806) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177) Caused by: studio.driver.StoryTellerException: Failed to read pack metadata on device partition at studio.driver.fs.FsStoryTellerAsyncDriver.lambda$getPacksList$0(FsStoryTellerAsyncDriver.java:225) at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646) ... 8 more Caused by: java.lang.IndexOutOfBoundsException at java.base/java.nio.Buffer.checkIndex(Buffer.java:749) at java.base/java.nio.HeapByteBuffer.getShort(HeapByteBuffer.java:394) at studio.driver.fs.FsStoryTellerAsyncDriver.lambda$getPacksList$0(FsStoryTellerAsyncDriver.java:209) ... 9 more

I'm not sure to be in the good section by posting this, but please help me! Je ne suis pas certain d'être dans la bonne section avec ce post, mais svp aidez moi!

Many thanks for your reading Merci d'avoir lu ce post

BaseZoubru commented 11 months ago

J'ai réussi en modifiant le fichier .pi avec un éditeur hexadécimal, j'ai supprimé les valeurs correspondantes aux répertoires absents dans le répertoire ".content". En tout, j'en avais 9, et bien-sur c'était les 9 dernières chaînes de caractères correspondantes à 9 répertoires absents.

BaseZoubru commented 11 months ago

Problème résolu!!!

BaseZoubru commented 11 months ago

P.S. Mes logs ne montrent pas le répertoire absent qui corrompt mon .pi puisqu'à ce moment là j'essayais une méthode pour tromper le job avec répertoire et fichier .ni bidons...

Jrmewam commented 8 months ago

Merci! La solution de BaeZoubru fonctionne, j'avais 4 histoires dans .contents et 6 lignes dans .pi Ne sachant pas lesquelles étaient "corrompues" j'ai supprimé les 2 dernières et ça a fonctionné (lunii V3)