
Using RenderType.text can crash the game due to some assumptions sodium does
Closed this issue · 7 comments
Bug Description
Using RenderType.text in some context will make sodium throw an ecpetion for a "missing TANGENT". I was able to trigger this by rendering a ModePart using that render type. That works fine in vanilla. To note that the reason I was using that render type there shouldn't really matter, in fact I'm using another one now. Still I believe this to be a sodium issue since it makes an assumption. Text render type isn't even just used for text in vanilla, Map renderers use it too
Reproduction Steps
Use that render type in arbitrary places
Log File
crash-2025-08-06_02.33.47-client (2).txt
Note that this was on forge but same issue was reported on base sodium
Crash Report
Same as above
This needs to be reproduced using Sodium on a version and platform we support for this to become an actionable issue. Sodium cannot be assumed to have the same bugs as Embeddium, especially given that we don't support old forge at all.
The reproduction steps are not clear.
Did you read what I just wrote? As I've said above I got this same issue on sodium alone.... Don't believe my words, crash log below alone is enough.
Reproduction steps are what I said, use that render type to render arbitrary stuff, in my case a Model part. Stacktrace says that too.
As I said, we needed to have a reproduction on a platform and version we support for the mod we make. The crashlog on forge with a giant modpack is both not a minimal reproduction, full of noise, and we cannot be sure with just "issue was reported on base sodium". Thanks for providing the necessary information.
For reference, I've tracked down the file that reproduces this so we can actually have code: https://github.com/MehVahdJukaar/amendments/blob/3ff00e717509e740aee2be644fbc451daa8243fe/common/src/main/java/net/mehvahdjukaar/amendments/client/renderers/Fireball3DRenderer.java
TANGENT is a shader mod vertex element; this isn’t a Sodium bug. I’ll look into what’s going on in Iris.
For clarification of the situation for other readers, the reproduction only works if iris is present. Also see this message.