Mekanism Tools

Mekanism Tools

77M Downloads

Concurrency crash in mod constructor

Darkere opened this issue · 5 comments

commented

Issue description

https://gist.github.com/Tanden22/240a2af8a9a8ff98e4b1e43a984cfe16

Crashlog is likely useless due to EE continuing to run even when the game has already stopped
https://gist.github.com/Tanden22/407fdc7ba0684c3bfcba368a59769cdb

Steps to reproduce

¯_(ツ)_/¯

Minecraft version

1.19.2 (Latest)

Forge version

43.2.14

Mekanism version

10.3.9 (Latest)

Other relevant versions

No response

If a (crash)log is relevant for this issue, link it here: (It's almost always relevant)

No response

commented

Uhh this looks like a CME in modlauncher's classloader more than something in mek. Is this at all reproduceable by the user?

commented
commented

I can't reliably reproduce it, it happens occasionally but a re-launch makes it go away.

commented

I think the error occurs as a result of a mod injecting a modlauncher plugin service during mod construction. FML invokes mod constructors in parallel, and if the mod injects the plugin while modlauncher is preparing to transform another class, a CME is thrown.

After a github search, I found a mod that perfectly matches this scenario and also happens to be installed in your instance: Create: Steam 'n' Rails. See their injection code here. Advice for Steam n Rails maintainers: please perform injection in a transformation service or mixin plugin, before the transformable layer is even created.
CC @techno-sam @IThundxr

commented

@Su5eD could you point me in the direction of the documentation for transformation services/mixin plugins?

Can mixin plugins do custom transformation?