mindstorm38 / fabric-webstreamer

A Fabric mod to display web resources on screens, support for static images, HLS streaming in-game, including Twitch.
https://modrinth.com/mod/webstreamer
GNU Lesser General Public License v3.0
19 stars 9 forks source link

Game crashes if twitch stream ends while webstreamer is viewing it #32

Open Halex000 opened 8 months ago

Halex000 commented 8 months ago

Was watching a livesteam that was ending and when the streamer ended their stream and sent his viewers to another twitch channel my game crashed.

MC version: fabric 1.20.1 webstreamer version: 1.5.0

This was the relevant part of the logs where the crash happened: [16:43:10] [Render thread/ERROR]: [DisplayLayerHls:2E5BC9B2] Failed to request playlist, setting interval to 5 seconds. java.io.IOException: HTTP request failed, status code: 404 at fr.theorozier.webstreamer.display.render.DisplayLayerHls.requestPlaylistBlocking(DisplayLayerHls.java:191) ~[webstreamer-1.5.0.jar:?] at fr.theorozier.webstreamer.util.AsyncProcessor.lambda$fetch$0(AsyncProcessor.java:71) ~[webstreamer-1.5.0.jar:?] at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?] at java.lang.Thread.run(Unknown Source) ~[?:?] [16:43:11] [Render thread/ERROR]: [DisplayLayerHls:2E5BC9B2] Failed to request playlist, setting interval to 5 seconds. java.io.IOException: HTTP request failed, status code: 404 at fr.theorozier.webstreamer.display.render.DisplayLayerHls.requestPlaylistBlocking(DisplayLayerHls.java:191) ~[webstreamer-1.5.0.jar:?] at fr.theorozier.webstreamer.util.AsyncProcessor.lambda$fetch$0(AsyncProcessor.java:71) ~[webstreamer-1.5.0.jar:?] at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?] at java.lang.Thread.run(Unknown Source) ~[?:?] [16:43:16] [Render thread/ERROR]: [DisplayLayerHls:2E5BC9B2] Failed to request playlist, setting interval to 5 seconds. java.io.IOException: HTTP request failed, status code: 404 at fr.theorozier.webstreamer.display.render.DisplayLayerHls.requestPlaylistBlocking(DisplayLayerHls.java:191) ~[webstreamer-1.5.0.jar:?] at fr.theorozier.webstreamer.util.AsyncProcessor.lambda$fetch$0(AsyncProcessor.java:71) ~[webstreamer-1.5.0.jar:?] at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?] at java.lang.Thread.run(Unknown Source) ~[?:?] [16:43:16] [Render thread/INFO]: Forget twitch playlist for channel bigguy [16:43:16] [Render thread/ERROR]: Unreported exception thrown! java.lang.IllegalStateException: Pose stack not empty at net.minecraft.class_761.method_22979(class_761.java:1564) ~[client-intermediary.jar:?] at net.minecraft.class_761.method_22710(class_761.java:1382) ~[client-intermediary.jar:?] at net.minecraft.class_757.method_3188(class_757.java:1110) ~[client-intermediary.jar:?] at net.minecraft.class_757.method_3192(class_757.java:880) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1523(class_310.java:1219) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1514(class_310.java:802) ~[client-intermediary.jar:?] at net.minecraft.client.main.Main.main(Main.java:250) ~[1.20.1-0.15.7.jar:?] at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.7.jar:?] at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.7.jar:?] at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.7.jar:?] [16:43:16] [Server thread/INFO]: Stopping server [16:43:16] [Server thread/INFO]: Saving players [16:43:16] [Server thread/INFO]: Saving worlds

mindstorm38 commented 8 months ago

Thanks! I can guess what's happening, I'll work on it.