Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1.12.2] Duplicate Method Error on World Load #7

Open
Tommsy64 opened this issue Jun 29, 2020 · 4 comments
Open

[1.12.2] Duplicate Method Error on World Load #7

Tommsy64 opened this issue Jun 29, 2020 · 4 comments

Comments

@Tommsy64
Copy link

Tommsy64 commented Jun 29, 2020

This bug report isn't going to be super useful because it's happening as part of a 286 mod pack.

The following error occurs when I try joining/creating a singleplayer world only when TickCentral is in the pack.

[Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception
java.lang.NoClassDefFoundError: net.minecraft.world.WorldServer$DummyBlock$b872838cc1324f09b2eeaf6503d8236c
	at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:132) ~[chd.class:?]
	at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:233) ~[chd.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:821) [?:1.8.0_252]
Caused by: java.lang.ClassNotFoundException: net.minecraft.world.WorldServer$DummyBlock$b872838cc1324f09b2eeaf6503d8236c
	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
	at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:953) ~[?:1.8.0_252]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:898) ~[?:1.8.0_252]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:881) ~[?:1.8.0_252]
	... 4 more
Caused by: java.lang.ClassFormatError: JVMCFRE106 duplicate method; class=net/minecraft/world/WorldServer$DummyBlock$b872838cc1324f09b2eeaf6503d8236c, offset=2075
	at java.lang.ClassLoader.defineClassImpl(Native Method) ~[?:1.8.0_252]
	at java.lang.ClassLoader.defineClassInternal(ClassLoader.java:398) ~[?:1.8.0_252]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:359) ~[?:1.8.0_252]
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_252]
	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?]
	at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:953) ~[?:1.8.0_252]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:898) ~[?:1.8.0_252]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:881) ~[?:1.8.0_252]
	... 4 more

Mod List

forge-1.12.2-14.23.5.2847.jar, OpenEye-1.12.2-0.8.jar, TickCentral-2.6.jar, randompatches-1.12.2-1.21.0.3.jar, AdditionalBanners-1.12.2-1.1.76.jar, CTM-MC1.12.2-1.0.2.31.jar, appliedenergistics2-rv6-stable-7.jar, bdlib-1.14.3.12-mc1.12.2.jar, ae2stuff-0.7.0.4-mc1.12.2.jar, Baubles-1.12-1.5.2.jar, EnderCore-1.12.2-0.5.76.jar, CraftTweaker2-1.12-4.1.20.577.jar, MTLib-3.0.6.jar, modtweaker-4.0.18.jar, jei_1.12.2-4.15.0.296.jar, BiomeTweaker-1.12.2-3.2.354.jar, BiomesOPlenty-1.12.2-7.0.1.2444-universal.jar, chiselsandbits-14.33.jar, FancyBlockParticles-1.12.x-2.4.1.jar, ProportionalDestructionParticles-1.12.2-1.2.4.jar, RedstoneFlux-1.12-2.1.1.1-universal.jar, CoFHCore-1.12.2-4.6.6.1-universal.jar, CraftStudioAPI-universal-1.0.1.95-mc1.12-alpha.jar, Pam's+HarvestCraft+1.12.2zg.jar, twilightforest-1.12.2-3.10.1013-universal.jar, animania-1.12.2-1.7.3.jar, CodeChickenLib-1.12.2-3.2.3.358-universal.jar, BrandonsCore-1.12.2-2.4.18.210-universal.jar, CoFHWorld-1.12.2-1.4.0.1-universal.jar, ThermalFoundation-1.12.2-2.6.7.1-universal.jar, Draconic-Evolution-1.12.2-2.3.25.351-universal.jar, ThermalExpansion-1.12.2-5.5.7.1-universal.jar, EnderIO-1.12.2-5.2.59.jar, Mantle-1.12-1.3.3.55.jar, ProjectE-1.12.2-PE1.4.1.jar, Chisel-MC1.12.2-1.0.2.45.jar, EnderIO-1.12.2-5.2.59.jar, Quark-r1.6-179.jar, Forgelin-1.8.4.jar, librarianlib-1.12.2-4.21.jar, AutoRegLib-1.3-32.jar, Psi-r1.1-78.jar, rpsideas-2.4.2.jar, TinkersExtras-1.12.2-1.1.0.jar, TConstruct-1.12.2-2.13.0.183.jar, p455w0rdslib-1.12.2-2.3.161.jar, AE2WTLib-1.12.2-1.0.34.jar, alcatrazcore-1.0.4.jar, AppleCore-mc1.12.2-3.4.0.jar, AppleSkin-mc1.12-1.0.14.jar, Aroma1997Core-1.12.2-2.0.0.2.b165.jar, AromaBackup-1.12.2-2.1.1.4.jar, AromaBackup-1.12.2-2.1.1.4.jar, AttributeFix-1.12.2-1.0.4.jar, Avaritia-1.12.2-3.3.0.33-universal.jar, base-1.12.2-3.13.0.jar, bettercaves-1.12.2-2.0.3.jar, BetterFoliage-MC1.12-2.2.0.jar, BetterInvalidSession-1.12.2-1.0.3.jar, betternether-0.1.8.6.jar, BetterWaterSplash-1.0.jar, blockdrops-1.12.2-1.4.0.jar, Bookshelf-1.12.2-2.3.589.jar, Caliper-1.12.2-1.1.46.jar, CarryOn+MC1.12.2+v1.12.3.jar, Chameleon-1.12.2-4.1.3-CUSTOM.jar, Chunk+Pregenerator+V1.12-2.3.jar, ChunkAnimator-MC1.12-1.2.jar, ClientTweaks_1.12.2-3.1.11.jar, StorageDrawers-1.12.2-5.4.2.jar, CompactDrawers-1.12.2-1.0.5.125.jar, industrialcraft-2-2.8.220-ex112.jar, CompositeGear-1.12.2-1.7.1.jar, ContainerFix+MC1.12.2+v1.0.jar, ContentTweaker-1.12.2-4.9.1.jar, Controlling-3.0.7.jar, CookingForBlockheads_1.12.2-6.4.71.jar, coroutil-1.12.1-1.2.32.jar, coroutil-1.12.1-1.2.32.jar, coroutil-1.12.1-1.2.32.jar, corpse-1.12.2-1.0.5.jar, CraftPresence-1.12.2-1.6.5.jar, CraftTweaker2-1.12-4.1.20.577.jar, CraftTweaker2-1.12-4.1.20.577.jar, GalacticraftCore-1.12.2-4.0.2.280.jar, Galacticraft-Planets-1.12.2-4.0.2.280.jar, Crops++[1.12.2]1.12.2-0.0.1-1.12.2-0.0.1.jar, Crops++[1.12.2]1.12.2-0.0.1-1.12.2-0.0.1.jar, CsokiCraftUtil-1.3.6.jar, CsokiCraftUtil-1.3.6.jar, Cucumber-1.12.2-1.1.3.jar, CustomMainMenu-MC1.12.2-2.0.9.1.jar, PTRLib-1.0.4.jar, Decocraft-2.6.3_1.12.2.jar, SereneSeasons-1.12.2-1.2.18-universal.jar, OreLib-1.12.2-3.6.0.1.jar, DynamicSurroundings-1.12.2-3.6.1.0.jar, RecurrentComplex-1.4.8.2.jar, DynamicTrees-1.12.2-0.9.8.jar, DynamicTreesBOP-1.12.2-1.4.1e.jar, DynamicTreesPHC-1.12.2-1.4.2.jar, effortlessbuilding-1.12.2-2.16.jar, EnderIO-1.12.2-5.2.59.jar, EnderIO-1.12.2-5.2.59.jar, EnderIO-1.12.2-5.2.59.jar, OpenComputers-MC1.12.2-1.7.5.192.jar, EnderIO-1.12.2-5.2.59.jar, EnderIO-1.12.2-5.2.59.jar, EnderIO-1.12.2-5.2.59.jar, EnderIO-1.12.2-5.2.59.jar, EnderIO-1.12.2-5.2.59.jar, EnderIO-1.12.2-5.2.59.jar, EnderIO-endergy-1.12.2-5.2.59.jar, EnderIO-zoo-1.12.2-5.2.59.jar, EnderStorage-1.12.2-2.4.5.136-universal.jar, environmentalcreepers-1.12.2-1.4.0.jar, Exotic+Birds+1.12.2-3.2.0.jar, ExtendedCrafting-1.12.2-1.5.6.jar, Hwyla-1.8.26-B41_1.12.2.jar, ExtraCells-1.12.2-2.6.5.jar, MJRLegendsLib-1.12.2-1.1.9.jar, FastFurnace-1.12.2-1.3.1.jar, FastWorkbench-1.12.2-1.7.3.jar, Slab_Machines-1.0.6.jar, MCMultiPart-2.5.3.jar, Mekanism-1.12.2-9.8.3.390.jar, Numina-1.12.2-1.0.0-CUSTOM.jar, railcraft-12.0.0.jar, ModularPowersuits-1.12.2-1.0.46.jar, ExtraPlanets-1.12.2-0.6.4.jar, FantasticLib-1.12.2.034.jar, FastLeafDecay-v14.jar, flatcoloredblocks-mc1.12-6.8.jar, FloodLights-1.12.2-1.4.1-17.jar, foamfix-0.10.10-1.12.2.jar, ForgeMultipart-1.12.2-2.6.2.83-universal.jar, ForgeMultipart-1.12.2-2.6.2.83-universal.jar, ForgeMultipart-1.12.2-2.6.2.83-universal.jar, fortuity_1.12.2-0.3.0.0.jar, GalacticraftTweaker-1.12.2-1.0.3.jar, GasConduits-1.12.2-1.2.3.jar, generators-0.9.20.12-mc1.12.2.jar, Gravitation+Suite-3.1.1.jar, Guide-API-1.12-2.1.8-63.jar, HardcoreDarkness-MC1.12.2-2.0.jar, hardercoolant_1.12.2-1.0.0.0.jar, HungerInPeace-mc1.12-1.0.0.jar, HungerOverhaul-1.12.2-1.3.4.DEV.b2316cd.jar, IC2CropBreeding+Plugin+V1.12-1.1.jar, ic2magma-1.0.jar, ICBM-classic-1.12.2-4.0.1b75.jar, industrialprograms-1.0.jar, industrialprograms-1.0.jar, InventoryTweaks-1.64+dev.151.jar, ironchest-1.12.2-7.0.72.847.jar, itemzoom_1.12.2-1.11.jar, JAOPCASingularities-1.12.2-2.2.0.9.jar, JAOPCA-1.12.2-2.2.8.103.jar, JAOPCA-1.12.2-2.2.8.103.jar, jeiintegration_1.12.2-1.5.1.36.jar, jepb-1.12-1.2.1.jar, jetif-1.12.2-1.5.2.jar, journeymap-1.12.2-5.7.1.jar, Pam's+BrewCraft+1.12.2-1.0.1.jar, just-enough-brewcraft-1.12.2-1.0.1.jar, just-enough-harvestcraft-1.12.2-1.6.6.jar, JustEnoughCalculation-1.12.2-3.2.2.jar, JustEnoughEnergistics-1.12.2-1.0.8.jar, JustEnoughIDs-1.0.3-55.jar, LootTweaker-0.1.2+MC1.12.2.jar, JustEnoughResources-1.12.2-0.9.2.60.jar, keywizard-1.12.2-1.7.3.jar, KleeSlabs_1.12.2-5.4.12.jar, logisticspipes-0.10.3.46.jar, LogisticsBridge-1.3.6.jar, malisiscore-1.12.2-6.5.1.jar, malisisblocks-1.12.2-6.1.0.jar, mcjtylib-1.12-3.5.4.jar, MekanismGenerators-1.12.2-9.8.3.390.jar, mekatweaker-1.12-1.2.0.jar, NuclearCraft-2.18l-1.12.2.jar, mekores-2.0.12.jar, MFFS-1.12.2-4.0.1.0_1.12_cc3a5aa.jar, MineMenu-1.12.2-1.6.11-universal.jar, minicoal-1.12.2-1.0.jar, moartinkers-0.6.0.jar, ModernLights-1.0.3_1.12.jar, MoreTweaker-1.0.2.jar, MouseTweaks-2.10-mc1.12.2.jar, MPUtils-1.12.2-1.5.7.jar, mpbasic-1.12.2-1.4.11.jar, MrTJPCore-1.12.2-2.1.4.43-universal.jar, MultiMine-1.12.2.jar, ProjectRed-1.12.2-4.9.4.120-Base.jar, plustic-7.1.6.1.jar, ProjectRed-1.12.2-4.9.4.120-world.jar, Wawla-1.12.2-2.6.275.jar, Netherending-Ores-1.12.2-1.4.1.jar, NoAdvancements-1.12.2.002.jar, nolancheating-1.12.2-v1.0.jar, NoNVFlash-1.12.2-1.2.0.3-universal.jar, notreepunching-2.0.21.jar, omlib-1.12.2-3.1.4-249.jar, ompd-1.12.2-3.1.0-73.jar, openmodularturrets-1.12.2-3.1.11-372.jar, OpenPrinter-1.12.2-0.1.0.9.jar, OpenSecurity-1.12.2-1.0-41.jar, overloadedarmorbar-1.0.4g.jar, PackagedAuto-1.12.2-1.0.2.9.jar, PackagedExCrafting-1.12.2-1.0.1.1.jar, packcrashinfo-1.0.1.jar, parry-1.0-hotfix.jar, PassthroughSigns-1.12.2-2.1.5.jar, Patchouli-1.0-20.jar, PickBlockPlus-1.12-1.1.1.jar, PickUpNotifier-v1.1.4-1.12.2.jar, Placebo-1.12.2-1.6.0.jar, PlanetProgression-1.12.2-0.4.4.jar, pneumaticcraft-repressurized-1.12.2-0.11.15-398.jar, ProjectEIntegration-1.12.2-2.3.1.jar, ProjectIntelligence-1.12.2-1.0.9.28-universal.jar, ProjectRed-1.12.2-4.9.4.120-compat.jar, ProjectRed-1.12.2-4.9.4.120-integration.jar, ProjectRed-1.12.2-4.9.4.120-integration.jar, ProjectRed-1.12.2-4.9.4.120-fabrication.jar, ProjectRed-1.12.2-4.9.4.120-lighting.jar, ProjectRed-1.12.2-4.9.4.120-mechanical.jar, ProjectRed-1.12.2-4.9.4.120-mechanical.jar, ProjectRed-1.12.2-4.9.4.120-mechanical.jar, RealisticItemDrops-1.2.14.jar, RedstoneArsenal-1.12.2-2.6.6.1-universal.jar, repose_1.12.2-0.2.0.0.jar, rflux-1.12-0.4.0.jar, rftools-1.12-7.73.jar, ShoulderSurfing-1.12.2-1.15.1.jar, sodiumcraft-1.3.5.jar, Sound-Physics-1.12.2-1.0.9.jar, spatialservermod-1.3.jar, SpiceOfLife-mc1.12-1.3.12.jar, stg-1.12.2-1.2.3.jar, StorageDrawersExtras-1.12-3.1.2-CUSTOM.jar, Surge-1.12.2-2.0.79.jar, Tatw-1.12.2-1.0.1.2.b27.jar, ThermalCultivation-1.12.2-0.3.6.1-universal.jar, ThermalDynamics-1.12.2-2.5.6.1-universal.jar, ThermalInnovation-1.12.2-0.3.6.1-universal.jar, TinkersComplement-1.12.2-0.4.3.jar, tinkersjei-1.2.jar, tinkersoc-0.6.jar, Tips-1.12.2-1.0.7.jar, UndergroundBiomesConstructs-1.12-1.3.8.jar, UnlimitedChiselWorks-0.3.4.jar, VanillaFix-1.0.10-150.jar, volumetricflask-0.16.jar, WailaHarvestability-mc1.12-1.1.12.jar, WAIM-1.0.0.jar, WanionLib-1.12.2-2.4.jar, WatchDog-AntiCheat-1.12.2-1.0.3.jar, WirelessCraftingTerminal-1.12.2-3.12.97.jar, WirelessFluidTerminal-1.12.2-1.0.4.jar, WirelessInterfaceTerminal-1.12.2-1.0.2.jar, WirelessPatternTerminal-1.12.2-1.0.3.jar, World-Stripper-1.6.0-1.12.2.jar, World-Tooltips-1.12.2-1.3.0-111.jar, zombieawareness-1.12.1-1.11.16.jar, zzz_old_mixin_betterportals-0.3.7.7.jar, capabilityadapter-1.1.0.jar, Commons0815-1.12.2-1.3.7.jar, Commons0815-1.12.2-1.3.7.jar, Commons0815-1.12.2-1.3.7.jar, DenseMetals-1.12.2-2.0.0.30.jar, DynamicSurroundingsHuds-1.12.2-3.6.0.0.jar, ocdevices-MC1.12.2-1.0.0-44.jar, OpenGlasses-MC1.12.2-2.2-50.jar, phosphor-forge-mc1.12.2-0.2.7-universal.jar, reauth-3.6.0.jar, RTG-1.12.2-6.1.0.0-snapshot.2-custom.jar, librarianlib-1.12.2-4.21.jar, UniDict-1.12.2-2.9.6.jar, WrapUp-1.12-1.1.3.jar

Here is the OpenEye report.

I'm opening this issue just to document that this crash happens. Maybe the author of TickCentral might have an idea how this crash is possible. I spent 2 hours binary searching to find which mod was causing this crash, and I'll probably have to do just as much to find which mod or combination of mods TickCentral is interacting with to cause this crash. Thus, I'm just removing TickCentral from the pack for now.

@TerminatorNL
Copy link
Owner

Can you adjust the config ./config/TickCentral/config.cfg to the following values?
SHOW_FORCED_LOADING = true
DEBUG = true

Then, start the server, and then send me the following directory: ./config/TickCentral/DEBUG/net/minecraft/world.

@Tommsy64
Copy link
Author

Tommsy64 commented Jul 1, 2020

I've think I found the cause with the help of DEBUG=true. Of all the mods in the pack, it just so happens that my own mod is the one conflicting with Tick Central.

It seems that TickCentral is running the transformer to add the TickCentral_TrueUpdateTick method on a inner class within a mixin. This mixin is then applied to net/minecraft/world/WorldServer, copying the inner class too. Then TickCentral runs its transformer on the copied inner class, which already contains the transformations TickCentral applied. Thus, there is the duplicate method error.

I can fix this conflict in my mod by moving my DummyBlock inner class to be a regular class; however, I think it's a better idea to not run TickCentral transformations on classes annotated with @Mixin (org.spongepowered.asm.mixin.Mixin) because Mixins are like transformers themselves.

[04:46:02] [Server thread/INFO] [TickCentral]: Block found: com/tommsy/repose/mixin/core/MixinWorldServer$DummyBlock (com.tommsy.repose.mixin.core.MixinWorldServer$DummyBlock)
[04:46:02] [Server thread/INFO] [TickCentral]: Writing class: com/tommsy/repose/mixin/core/MixinWorldServer$DummyBlock (com.tommsy.repose.mixin.core.MixinWorldServer$DummyBlock)
[04:46:02] [Server thread/INFO] [TickCentral]: Block found: net/minecraft/world/WorldServer$DummyBlock$aa3efcc3cfe14204ad82536f3ea81f42 (net.minecraft.world.WorldServer$DummyBlock$aa3efcc3cfe14204ad82536f3ea81f42)
[04:46:02] [Server thread/INFO] [TickCentral]: Writing class: net/minecraft/world/WorldServer$DummyBlock$aa3efcc3cfe14204ad82536f3ea81f42 (net.minecraft.world.WorldServer$DummyBlock$aa3efcc3cfe14204ad82536f3ea81f42)
[04:46:02] [Server thread/ERROR] [net.minecraft.server.MinecraftServer]: Encountered an unexpected exception
java.lang.NoClassDefFoundError: net/minecraft/world/WorldServer$DummyBlock$aa3efcc3cfe14204ad82536f3ea81f42
	at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:132) ~[chd.class:?]
	at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:233) ~[chd.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
Caused by: java.lang.ClassNotFoundException: net.minecraft.world.WorldServer$DummyBlock$aa3efcc3cfe14204ad82536f3ea81f42
	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_252]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_252]
	... 4 more
Caused by: java.lang.ClassFormatError: Duplicate method name "TickCentral_TrueUpdateTick" with signature "(Lnet.minecraft.world.World;Lnet.minecraft.util.math.BlockPos;Lnet.minecraft.block.state.IBlockState;Ljava.util.Random;)V" in class file net/minecraft/world/WorldServer$DummyBlock$aa3efcc3cfe14204ad82536f3ea81f42
	at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_252]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:756) ~[?:1.8.0_252]
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_252]
	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_252]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_252]
	... 4 more

(Also, fyi ./config/TickCentral/DEBUG/net/minecraft/world didn't exist)

@EverNife
Copy link

EverNife commented Oct 15, 2020

@Tommsy64 Have you found a solution for this in your mod?

@embeddedt
Copy link

A player has encountered the same issue with a mod I maintain, Aqua Acrobatics. I use mixins to add an updateTick method to two vanilla blocks so I don't have to override them. Here is the mixin in question. Unfortunately it seems that this causes TickCentral to fail with the error mentioned above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants