SpriteFinder sometimes fails to initialize
rokoblox opened this issue ยท 20 comments
Leaving the game then joining again right in the nether causes lots of surfaces to be invisible yet still interactable.
I'm on version 2.0.0-1.19 fabric 0.14.7
Sorry for the late reply.
Apparently this doesn't just happen when I log in the nether, it just happens randomly sometimes, I have sodium + indium and immersive portals installed if these cause any conflicts.
Here is the log https://mclo.gs/Ohvxzdl
It seems as though the SpriteFinder
is not properly initialized, which will cause Continuity to not work. The log does not state the cause of the issue, but it is not a Continuity issue. This will be investigated.
I just tried without the mod DashLoader which seems to have fixed the issue for this and another mod (Xaero's map) but I'm unsure because this issue didn't always occur even with the mod enabled.
Could you send the log from when it worked as well (same mods but without DashLoader)? It might provide some key information needed to fix this.
There you go https://mclo.gs/WT65SYG
I logged into a world, went into the nether, quit the world, then loaded it again in the nether.
Everything seems fine now though.
I also get this issue at random: https://gist.github.com/Brittank88/3c0a9061c2357808c1cdfa93d5f66261
@rokoblox recommend retitling this issue to be more accurate to what's actually happening so that other people like me can have an easier time finding it (it has taken me DAYS to find this issue).
I found the issue to be with dashloader though, I don't know which name do you think fits best here.
I found the issue to be with dashloader though
Are you sure it's DashLoader? Disabling it and having it not happen for a little while isn't enough - sometimes I've been playing on a test world for an entire day before this decides to happen again.
I mean, it's definitely possible, likely even, but let's not narrow down on one thing too fast, in case it ends up not being the root cause.
Hi so ive got the same problem. I also had dashloader installed, deleted it but it happened again.
Or is there a known fix or what causes this? ^^"
It always happens randomly.
https://gist.github.com/pewblaze/7caafeafc237b21facb420877306bead
@pewblaze Your issue is different than the SpriteFinder
bug and will be fixed in the next release.
The current status of this issue as follows.
- This is not a Continuity bug.
SpriteFinder
is a Fabric API class which is used by Continuity, which is why the bug does not appear when Continuity is not present. Fundamentally this is likely a Fabric API bug, which is why the issue has the "upstream issue" label and no "bug" label. - The root of the issue is that the
SpriteFinder
for the block atlas failed to initialize due to stack overflow due to infinite recursion. The maximum recursion depth should not exceed 16 under any circumstances. - A reliable reproduction case has not been found. This means that no set of mods and resource packs has been found that can always trigger the error regardless of the user's environment. Without such a case, the root cause of the issue cannot be found and thus the issue cannot be fixed.
Any help with debugging this further would be appreciated.
@PepperCode1 I am reliably crashing 1.18.2 with Continuity: #121 (comment)
@PepperCode1 I am reliably crashing 1.18.2 with Continuity: #121 (comment)
That is #107 and completely unrelated to this issue. Read the large warnings on the project pages.
That is #107 and completely unrelated to this issue. Read the large warnings on the project pages.
Oh, okay, thank you. I got this as a pack of mods, so didn't really pay much attention to any project pages FWIW ๐๐
The current status of this issue as follows.
- This is not a Continuity bug.
SpriteFinder
is a Fabric API class which is used by Continuity, which is why the bug does not appear when Continuity is not present. Fundamentally this is likely a Fabric API bug, which is why the issue has the "upstream issue" label and no "bug" label.- The root of the issue is that the
SpriteFinder
for the block atlas failed to initialize due to stack overflow due to infinite recursion. The maximum recursion depth should not exceed 16 under any circumstances.- A reliable reproduction case has not been found. This means that no set of mods and resource packs has been found that can always trigger the error regardless of the user's environment. Without such a case, the root cause of the issue cannot be found and thus the issue cannot be fixed.
Any help with debugging this further would be appreciated.
Interesting to note is that even with a custom-built version of FAPI that implements manual code to prevent infinite recursion, the same sort of crash would still occur.
Feels like a while ago now, so it's hard for me to remember if this was a separate issue or still part of the same hunt to resolve this issue, but if I remember correctly I found out that parts of the world not rendering and everything freezing was actually caused by something totally separate: https://github.com/svenhjol/Charm/issues/246#issuecomment-1193206521
It's at least something for others suffering from these game symptoms to check.
Some Fabric API developers have been able to reproduce the issue in a development environment and find the cause, which is that some mods like DashLoader and BetterEnd add sprites to the atlas with invalid UV bounds that are absolute instead of normalized. Fabric API commit FabricMC/fabric@c0ae659 has added a check to the SpriteFinder to prevent the initialization from failing completely.