Crash on start 1.8.9

Hello Community,

I want use Sponge on my server but is crash on starting the server

my installed mods:
-Evs-Ivs-1.8.9-4.1.0-universal
-MoreCommands-1.8.9-2.7
-Pixelmon-1.8.9-4.2.7-universal
-pixelmonfriends-1.8.9-1.3.1-universal
-SecurityCraft v1.8.1-1.8.8
-TrainerCommands-1.8.9-2.1.0-universal
-WonderTrade-1.8.9-4.3.1-universal
-worldedit-forge-mc1.8.9-6.1.1
-colorchat-1.8.8-1.0.2-universal
-k4lib-1.8.9-1.0.18-universal

my Forge version is: 11.15.1.1902
tested Sponge version: spongeforge-1.8.9-1890-4.2.0-BETA-1574

crashlog: http://pastebin.com/3XTeQKMb

hope you can help me

and sry for my very bad english :frowning:

  1. crash log
    http://pastebin.com/n653eYxx
Missing Mods:
    k4lib : any

net.minecraftforge.fml.common.MissingModsException: Mod colorchat (ColorChat) requires [k4lib]

Seems pretty clear

http://mods.curse.com/mc-mods/minecraft/224740-k4lib

Without Sponge is it working and the k4lib is installed, i have removed the k4lib and colorchat and now i have not a crash log on crash i have fml-server-latest only

edit: why is my post flaged as spam? i want help and i can´t post 2 links in 1 message, now i can´t post 1 link -.-

It’s an automated forum security feature to stop spambots from choking it. It’s a bit trigger happy at times, as new users have a limit on links they can post. I’ve unhidden the posts for now.

3 Likes

No one can help me?

For your second error, try renaming the spongeforge.jar to 111spongeforge.jar. That will force it to load before other coremods, which appear to be messing with expected classes (ie. java.lang.ClassNotFoundException: net.minecraft.block.BlockRail).

i have edit it to 111sponge…
but it crash again :confused:

@Wuppertaler93

[03:28:34] [main/TRACE] [FML/]: Registering transformer com.mrnobody.morecommands.asm.transform.TransformBlockRailBase

Sponge cannot find BlockRail, hence the crash and I’m willing to throw down some money that MoreCommands is classloading BlockRail too early (before Sponge can transform it with Mixin).

Remove it from your server and launch it, will probably load fine. @Aaron1011, investigate his codebase…he references a Reference class that has a few imports to Forge code.

1 Like

It’s actually a different issue:

Caused by: java.lang.ClassFormatError: Duplicate field name&signature in class file net/minecraft/block/BlockRailBase
	at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_91]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_91]
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_91]
	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_91]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_91]
	at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_91]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_91]
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_91]
	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_91]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_91]
	at org.spongepowered.common.registry.provider.BlockPropertyIdProvider.<init>(BlockPropertyIdProvider.java:207) ~[BlockPropertyIdProvider.class:1.8.9-1890-4.2.0-BETA-1574]
	at org.spongepowered.common.registry.provider.BlockPropertyIdProvider$Holder.<clinit>(BlockPropertyIdProvider.java:303) ~[BlockPropertyIdProvider$Holder.class:1.8.9-1890-4.2.0-BETA-1574]
	at org.spongepowered.common.registry.provider.BlockPropertyIdProvider.getInstance(BlockPropertyIdProvider.java:49) ~[BlockPropertyIdProvider.class:1.8.9-1890-4.2.0-BETA-1574]
	at org.spongepowered.common.registry.provider.BlockPropertyIdProvider.getIdAndTryRegistration(BlockPropertyIdProvider.java:67) ~[BlockPropertyIdProvider.class:1.8.9-1890-4.2.0-BETA-1574]
	at org.spongepowered.common.registry.type.BlockTypeRegistryModule.registerBlockTrait(BlockTypeRegistryModule.java:128) ~[BlockTypeRegistryModule.class:1.8.9-1890-4.2.0-BETA-1574]
	at org.spongepowered.common.registry.type.BlockTypeRegistryModule.registerFromGameData(BlockTypeRegistryModule.java:116) ~[BlockTypeRegistryModule.class:1.8.9-1890-4.2.0-BETA-1574]
	at net.minecraft.block.Block.handler$onRegisterBlock$0(Block.java:131) ~[afh.class:?]
	at net.minecraft.block.Block.func_176215_a(Block.java:2426) ~[afh.class:?]
	at net.minecraft.block.Block.func_176219_a(Block.java:2430) ~[afh.class:?]
	at net.minecraft.block.Block.func_149671_p(Block.java:2177) ~[afh.class:?]
	at net.minecraft.init.Bootstrap.func_151354_b(Bootstrap.java:512) ~[kb.class:?]
	at net.minecraft.server.MinecraftServer.main(MinecraftServer.java:1407) ~[MinecraftServer.class:?]
	... 12 more

@gabizou

Oh, I’m willing to bet that the transformer is trying to re-add the field and method because of the transformer chain. Wanna suggest or PR some mixins?

While excluding the block rail base transformer with an @Resource annotation does appear to fix the issue, I’m still trying to work out exactly what’s causing this - in particular, why it’s only affecting this one transformer.

1 Like

@Aaron1011 because the transformer is not expecting to modify the class twice.

None of the transformers are expecting to modify a class twice. However, the transformed bytecode from Mixin’s initial first pass is only used internally (by Mixin). I’m still trying to figure out what’s causing the issue for that transformer.

I’m almost willing to submit a PR to convert some of the transformers to use mixins.

I just realized what the issue is - it’s quite simple.

The base class WriterTransformer re-uses a ClassWriter between calls to transform. The error makes perfect sense - cv.visitField and cv.visitMethod are being called twice.

@Wuppertaler93: I’ve opened a PR which resolves this issue.

1 Like

ok thank you, I must wait for a fix now right?