BlueMap-Minecraft / BlueMap

A Minecraft mapping tool that creates 3D models of your Minecraft worlds and displays them in a web viewer.
https://bluecolo.red/bluemap
MIT License
1.92k stars 131 forks source link

No registered ImageReader is able to read the image-stream #593

Closed enncy closed 2 months ago

enncy commented 3 months ago

I got the error but i dont't know hot to fix it. even when i restart the server!

 [12:56:52 ERROR]: [BlueMap] Failed to load tile (-46, 6) (lod: 2)
java.io.IOException: No registered ImageReader is able to read the image-stream
        at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresTile.<init>(LowresTile.java:56) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresLayer.createTile(LowresLayer.java:93) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$3(LocalLoadingCache.java:183) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2688) ~[BlueMap-5.2-paper.jar:?]
        at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916) ~[?:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2686) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2669) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:58) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$3(LocalLoadingCache.java:183) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2688) ~[BlueMap-5.2-paper.jar:?]
        at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916) ~[?:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2686) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2669) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:58) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresLayer.getTile(LowresLayer.java:166) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresLayer.set(LowresLayer.java:170) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresLayer.saveTile(LowresLayer.java:152) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresLayer.lambda$new$0(LowresLayer.java:82) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.lambda$notifyRemoval$1(BoundedLocalCache.java:422) ~[BlueMap-5.2-paper.jar:?]
        at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1423) ~[?:?]
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?]
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?]
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?]
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?]
[12:57:02 ERROR]: [BlueMap] Failed to load tile (-10, 1) (lod: 3)
java.io.IOException: No registered ImageReader is able to read the image-stream
        at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresTile.<init>(LowresTile.java:56) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresLayer.createTile(LowresLayer.java:93) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$3(LocalLoadingCache.java:183) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2688) ~[BlueMap-5.2-paper.jar:?]
        at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916) ~[?:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2686) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2669) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:58) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$3(LocalLoadingCache.java:183) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2688) ~[BlueMap-5.2-paper.jar:?]
        at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916) ~[?:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2686) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2669) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:58) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresLayer.getTile(LowresLayer.java:166) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresLayer.set(LowresLayer.java:170) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresLayer.saveTile(LowresLayer.java:152) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresLayer.lambda$new$0(LowresLayer.java:82) ~[BlueMap-5.2-paper.jar:?]
        at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.lambda$notifyRemoval$1(BoundedLocalCache.java:422) ~[BlueMap-5.2-paper.jar:?]
        at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1423) ~[?:?]
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?]
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?]
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?]
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?]

What i did / Steps to reproduce

seem like when i saving world in linux by using corn job.

Actual result

the saving job is start at 3:00 AM , the error show in 4:xxAM

[04:23:35] [BlueMap-FJP-0/ERROR]: [BlueMap] Failed to save tile (-10, 1) (lod: 3)
javax.imageio.IIOException: Can't create cache file!
    at java.desktop/javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:423) ~[?:?]
    at java.desktop/javax.imageio.ImageIO.write(ImageIO.java:1586) ~[?:?]
    at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresTile.save(LowresTile.java:96) ~[BlueMap-5.2-paper.jar:?]
    at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresLayer.saveTile(LowresLayer.java:113) ~[BlueMap-5.2-paper.jar:?]
    at BlueMap-5.2-paper.jar/de.bluecolored.bluemap.core.map.lowres.LowresLayer.lambda$new$0(LowresLayer.java:82) ~[BlueMap-5.2-paper.jar:?]
    at BlueMap-5.2-paper.jar/de.bluecolored.shadow.benmanes.caffeine.cache.BoundedLocalCache.lambda$notifyRemoval$1(BoundedLocalCache.java:422) ~[BlueMap-5.2-paper.jar:?]
    at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1423) ~[?:?]
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?]
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?]
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?]
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?]
Caused by: java.nio.file.FileSystemException: /tmp/imageio3861677502476964654.tmp: No space left on device
    at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100) ~[?:?]
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106) ~[?:?]
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]
    at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:261) ~[?:?]
    at java.base/java.nio.file.Files.newByteChannel(Files.java:379) ~[?:?]
    at java.base/java.nio.file.Files.createFile(Files.java:657) ~[?:?]
    at java.base/java.nio.file.TempFileHelper.create(TempFileHelper.java:136) ~[?:?]
    at java.base/java.nio.file.TempFileHelper.createTempFile(TempFileHelper.java:159) ~[?:?]
    at java.base/java.nio.file.Files.createTempFile(Files.java:923) ~[?:?]
    at java.desktop/javax.imageio.stream.FileCacheImageOutputStream.<init>(FileCacheImageOutputStream.java:88) ~[?:?]
    at java.desktop/com.sun.imageio.spi.OutputStreamImageOutputStreamSpi.createOutputStreamInstance(OutputStreamImageOutputStreamSpi.java:68) ~[?:?]
    at java.desktop/javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:419) ~[?:?]
    ... 11 more

when i restart the server in 12:00 AM :

 [12:56:52 ERROR]: [BlueMap] Failed to load tile (-46, 6) (lod: 2)
java.io.IOException: No registered ImageReader is able to read the image-stream

Context

BlueMap Version: BlueMap-5.2-paper.jar Paper Version: paper-1.20.4-462.jar platform: linux CentOS 8.5.2111 x86_64 Server Path : /home/mc/xxx

FileSystem: image

Has the world been generated using any minecraft-mods? : NO

TBlueF commented 3 months ago

The first error happens when bluemap is trying to load a corrupted lowres map tile, and the second error you posted with Caused by: java.nio.file.FileSystemException: /tmp/imageio3861677502476964654.tmp: No space left on device means that bluemap failed to write a lowres-tile because there is no storage-space left in the /tmp directory of your server. Which is then probably causing the corrupted map-tile causing the first error.

Make sure you have some free space on the /tmp directory :)