Today we had a couple of users on the Discord server whose Starsector is CTDing on game load, running only LazyLib and no other mods. Also happens with
my test mod and no other mods.
The error looks like this:
33875 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain - java.lang.RuntimeException: Error loading [org.lazywizard.lazylib.LazyLib]
java.lang.RuntimeException: Error loading [org.lazywizard.lazylib.LazyLib]
at com.fs.starfarer.loading.scripts.ScriptStore$3.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.lazywizard.lazylib.LazyLib
at org.codehaus.janino.JavaSourceClassLoader.findClass(JavaSourceClassLoader.java:179)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
26360 [Thread-3] ERROR com.fs.starfarer.combat.CombatMain - java.lang.RuntimeException: Error loading [org.histidine.amino.plugins.AminoModPlugin]
java.lang.RuntimeException: Error loading [org.histidine.amino.plugins.AminoModPlugin]
at com.fs.starfarer.loading.scripts.ScriptStore$3.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.histidine.amino.plugins.AminoModPlugin
at org.codehaus.janino.JavaSourceClassLoader.findClass(JavaSourceClassLoader.java:179)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
There were also a couple such reports on the LazyLib thread earlier this year.
Earlier, when it was a script in MagicLib that was failing to load (during rulecmd validation), I determined that (at least in the MagicLib case) the relevant mod .jar is where it should be, it's specified in the mod_info.json, and the .class file at the expected path in the .jar.
Is it possible that ScriptStore is silently failing to load the mod .jar and letting the game continue loading – until it needs to load the mod plugin class and the jig is up?
(Even though it logs "Getting ready to load jar file <path>" just fine)