marian-m12l / studio

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

impossible de convertir un pack au format FS #469

Closed thinkerchip closed 3 months ago

thinkerchip commented 3 months ago

Describe the bug Bonjour, j'ai créé un pack assez conséquent, la validation de diagramme est OK, et au moment de convertir pour envoyer sur la LUNII j'ai ce type d'erreur

[studio.webui.service.LibraryService] [LibraryService.java:331]: Failed to convert archive format pack to FS format
java.lang.NullPointerException: Cannot invoke "java.awt.image.BufferedImage.getWidth()" because "src" is null

je me suis dit au départ que c'était peut etre qu'il fallait systématiquement une image (j'avais un choix sans illustration) mais j'ai tout revérifié et rien n'y fait. Je ne sais pas comment avoir plus de log pour identifier si c'est un fichier particulier qui est en cause...

To Reproduce Steps to reproduce the behavior:

  1. aller dans la bibliotheque des pack
  2. cliquer sur convertir au format FS
  3. constater l'erreur dans l'invit de commande
  4. See error

Expected behavior succès de la conversion et pack au bon format pour etre transféré

Logs

2024-08-10 15:02:19,478 [INFO ] [studio.webui.service.LibraryService] [LibraryService.java:308]: Pack to transfer is in archive format. Converting to FS format and storing in temporary folder: C:\Users\moonset\.studio\tmp\bibliotheque_infinie-517629f7-0bdd-4c7a-b8c1-daefaadeeea1-v1.zip10781376900641365650
2024-08-10 15:02:19,478 [INFO ] [studio.webui.service.LibraryService] [LibraryService.java:310]: Reading archive format pack
2024-08-10 15:02:19,633 [INFO ] [studio.webui.service.LibraryService] [LibraryService.java:317]: Converting assets if necessary
2024-08-10 15:02:19,648 [DEBUG] [studio.core.v1.utils.PackAssetsCompression] [PackAssetsCompression.java:160]: Converting image asset into 4-bits/RLE BMP
2024-08-10 15:02:20,012 [DEBUG] [studio.core.v1.utils.ID3Tags] [ID3Tags.java:61]: Removing ID3v2 tag at beginning of file (38 bytes).
2024-08-10 15:02:20,080 [DEBUG] [studio.core.v1.utils.PackAssetsCompression] [PackAssetsCompression.java:185]: Re-encoding MP3 audio asset
2024-08-10 15:02:20,755 [DEBUG] [studio.core.v1.utils.PackAssetsCompression] [PackAssetsCompression.java:160]: Converting image asset into 4-bits/RLE BMP
2024-08-10 15:02:21,071 [DEBUG] [studio.core.v1.utils.ID3Tags] [ID3Tags.java:61]: Removing ID3v2 tag at beginning of file (44 bytes).
2024-08-10 15:02:21,071 [DEBUG] [studio.core.v1.utils.PackAssetsCompression] [PackAssetsCompression.java:185]: Re-encoding MP3 audio asset
2024-08-10 15:02:22,606 [DEBUG] [studio.core.v1.utils.PackAssetsCompression] [PackAssetsCompression.java:160]: Converting image asset into 4-bits/RLE BMP
2024-08-10 15:02:22,722 [DEBUG] [studio.core.v1.utils.ID3Tags] [ID3Tags.java:61]: Removing ID3v2 tag at beginning of file (50 bytes).
2024-08-10 15:02:22,722 [DEBUG] [studio.core.v1.utils.PackAssetsCompression] [PackAssetsCompression.java:185]: Re-encoding MP3 audio asset
2024-08-10 15:02:23,146 [DEBUG] [studio.core.v1.utils.ID3Tags] [ID3Tags.java:61]: Removing ID3v2 tag at beginning of file (50 bytes).
2024-08-10 15:02:23,146 [DEBUG] [studio.core.v1.utils.PackAssetsCompression] [PackAssetsCompression.java:185]: Re-encoding MP3 audio asset
2024-08-10 15:02:23,963 [DEBUG] [studio.core.v1.utils.ID3Tags] [ID3Tags.java:61]: Removing ID3v2 tag at beginning of file (50 bytes).
2024-08-10 15:02:23,963 [DEBUG] [studio.core.v1.utils.PackAssetsCompression] [PackAssetsCompression.java:185]: Re-encoding MP3 audio asset
2024-08-10 15:02:24,280 [DEBUG] [studio.core.v1.utils.PackAssetsCompression] [PackAssetsCompression.java:160]: Converting image asset into 4-bits/RLE BMP
2024-08-10 15:02:24,411 [DEBUG] [studio.core.v1.utils.ID3Tags] [ID3Tags.java:61]: Removing ID3v2 tag at beginning of file (40 bytes).
2024-08-10 15:02:24,411 [DEBUG] [studio.core.v1.utils.PackAssetsCompression] [PackAssetsCompression.java:185]: Re-encoding MP3 audio asset
2024-08-10 15:02:24,856 [DEBUG] [studio.core.v1.utils.PackAssetsCompression] [PackAssetsCompression.java:160]: Converting image asset into 4-bits/RLE BMP
2024-08-10 15:02:24,858 [ERROR] [studio.webui.service.LibraryService] [LibraryService.java:331]: Failed to convert archive format pack to FS format
java.lang.NullPointerException: Cannot invoke "java.awt.image.BufferedImage.getWidth()" because "src" is null
    at com.jhlabs.image.WholeImageFilter.filter(WholeImageFilter.java:45)
    at studio.core.v1.utils.ImageConversion.redrawIndexedImage(ImageConversion.java:126)
    at studio.core.v1.utils.ImageConversion.anyToRLECompressedBitmap(ImageConversion.java:64)
    at studio.core.v1.utils.PackAssetsCompression.withPreparedAssetsFirmware2dot4(PackAssetsCompression.java:161)
    at studio.webui.service.LibraryService.addConvertedFsPackFile(LibraryService.java:318)
    at studio.webui.api.LibraryController$2.run(LibraryController.java:102)
    at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
    at java.base/java.util.TimerThread.run(Timer.java:516)

Desktop and environment (please complete the following information):

merci à vous

marian-m12l commented 3 months ago

A priori l'image ne peut pas être lue par ImageIO#read. Est-ce qu'il y a dans le pack une image dans un format différent ? ou un fichier corrompu ? Pour identifier plus facilement le noeud concerné il est possible d'ajouter par exemple l'uuid node.getUuid() et le type mime de l'image node.getImage().getMimeType() dans les logs ici: https://github.com/marian-m12l/studio/blob/572e4c038723756e3814a25a3166b64da7e3d697/core/src/main/java/studio/core/v1/utils/PackAssetsCompression.java#L160

thinkerchip commented 3 months ago

normalement tout est du png, mais je vais repasser les images une a une, en tout cas toutes sont chargées par le navigateur et l'OS donc ca aide pas trop. je vais check le mime-type effectivement peut etre qu'il y a un "faux" png dedans... en tout cas avant de devoir aller modifier les sources et refaire moi meme les jar ce sera une premiere étape. merci

thinkerchip commented 3 months ago

@marian-m12l merci pour la piste du content-type, en reparcourant la liste des images utilisées il y avait un petit vicieux de webp en .png, apres avoir modifié l'image, toute la conversion se passe sans probleme. Grand merci pour la réactivité