[Bug] [1.14.4] Village make the game hangs, chunks can't load, Alchemy table crashing server, coffin not dropping, minor bugs...
dondoma opened this issue · 32 comments
Versions
- Minecraft: 1.14.4
- Forge: 28.2.0
- Vampirism: 1.6.0-beta.1
Issue Description
Somehow, when reaching out a certain village (we were on a server) which has been object of conquer and reconquer between vampire and hunter faction, the chunks within the village don't load and after that the server throw a "Timed out" and doesn't respond at all to commands nor chat messages. I tried to reproduce the same in singleplayer, and achieved this: basically the same except there is not "Timed out", just enitites stop move, chunks don't load and when you try to exit the game, it hangs with a "Saving world" screen.
Reproduce Steps
I uploaded the server world in a .zip format here
Just /tp 300 80 300 and this happens
If you /tp 250 80 250 and you can see the chunks not loading but game is still "running"
Before all of this, the world filesize was a lot smaller, like before it was 25MB and after that the aternos server says 99MB. The village once it could be loaded without problem, but it has been attacked and reattacked since it was getting visited by me (vampire) and by my friend (hunter) often in the same hour.
Additional Information
These are the final lines of the minecraft console when tipping myself to 200 100 200 (I'm using Tlauncher to launch my minecraft):
�[m�[32m[09:17:56] [Server thread/INFO] [minecraft/MinecraftServer]: [budapest_god: Teleported budapest_god to 200.5, 100.0, 200.5]
�[m�[32m[09:17:56] [Client thread/INFO] [minecraft/NewChatGui]: [CHAT] Teleported budapest_god to 200.5, 100.0, 200.5
�[m
Here I am!
[VersionManager] Refreshing versions locally...
[VersionManager] Versions has been refreshed (65 ms)
[Launcher] Minecraft closed with exit code: 1
[Launcher] Launcher exited.
I'm like, yo wtf, "Here I am"? Like the string before it's incomplete and then that message? This just seems like some Herobrine trolling
Thank you for reporting.
I haven't checked the world file yet, as I am not at home, but are you using any other mods besides Vampirism? If so could you upload your mod list, your mod pack or a full client-debug.log? Thanks
The "Here I am" is not coming from Vampirism btw
The server should have only Vampirism mod, but on my client I also have:
Just Enough Items
TLskincape
I honestly don't think that these mods are related to the crash, since also the server (hosted on aternos.org) crashes, and the server don't have these mods.
I can't find any file named "client-debug.log" after I tried the usual procedure to obtain the bug using the world in my singleplayer. The procedure is: spawn, /tp 300 80 300
, and minecraft hangs. You have to kill it through Task Manager.
PS: do you know what causes the "Here I Am!"? I can't find anything on the internet.
no therefor the mod must fix it, but if its work your world should work fine again
Alright, thank you for your detailed description. I can reproduce the issue with your world and have found the source. Even though I do not fully understand how the issue happens exactly, I found a design mistake in Vampirism that is allowing such errors to occur.
Unfortunately, this is not a quick fix, but hopefully I will find enough time in the next days to find a solution.
Alternatively @Cheaterpaul could have a look if he should have more time.
Still don't know where the "Here I Am" is coming from, but my guess is TLauncher is logging this as soon as MC closes and it takes over control again.
Technical details (for Paul or anyone else interested)
All village capture related entities have the VillageAttribute property which can hold the tile entity. The VillageAttribute is retrieved from the totem tile entity present in the world during Entity#read
.
There are two issues here:
- The entity should avoid having a hard reference to the tile as both can be dynamically loaded/unloaded and the hard reference prevents garbage collector from working and holds dead objects in memory.
- The
Entity#read
method should be self-sufficient and not interact with other dynamic things like chunks or tiles which are loaded asynchronous as well.
I could not find a quick solution to avoid those issues, while maintaining the other capture functionality yet.
Goals:
- do not access world on read
- do not hard reference the tile in the entity
One could consider some sort of lazy load (like LazyOptional but allowing null),WeakReference
or something entirely different.
Thanks for taking this, I'm glad that you're still working on this wonderful mod
I'm somewhat of a programmer myself, maybe I could help, but I have no experience with Java nor with Minecraft modding
Alright, then I'll just have to update the mod (when it's fixed obv) and all should be ok?
Very well, I'll wait for your answers.
Btw this bug seems to occur also in another place but i don't really know the coordinates of that since it wasn't me this time who made the server crash, but another player and couldn't check for coords
PS as a lv7 vampire I crafted an alchemy table and when trying to use it some exception is thrown and the server crashes and shuts down
This is not right but it is not such a big problem I guess (?) vampires should not use an alchemy table
We are still working on finding a proper solution, but to take the pressure of that, I decided to implement a small workaround.
Hunter/Vampires (CaptureEntities) won't load their village information on world load. But since they are updated every 2 seconds anyway, this shouldn't affect gameplay.
Will upload a new beta
just that i referred this issue from a Pull Request, so anyone who find this issue can see that there is being worked on to fix this bug. And in this case closes this issue if the changes are on the 1.14 branch for the next release.
I tried the beta 2 in singleplayer and it works, but if using it in the server, it crashes while starting, these are the final lines of the log:
[11Mar2020 18:08:03.243] [Server thread/DEBUG] [net.minecraftforge.fml.javafmlmod.FMLModContainer/LOADING]: Firing event for modid vampirism : RegistryEvent.Registerminecraft:block
175 | [11Mar2020 18:08:07.172] [Server thread/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/]: Exception caught during firing event: net/minecraft/client/particle/Particle
176 | Index: 3
177 | Listeners:
178 | 0: NORMAL
179 | 1: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterActions(Lnet/minecraftforge/event/RegistryEvent$Register;)V
180 | 2: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterBiomes(Lnet/minecraftforge/event/RegistryEvent$Register;)V
181 | 3: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterBlocks(Lnet/minecraftforge/event/RegistryEvent$Register;)V
182 | 4: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterContainer(Lnet/minecraftforge/event/RegistryEvent$Register;)V
183 | 5: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterEnchantments(Lnet/minecraftforge/event/RegistryEvent$Register;)V
184 | 6: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterEntities(Lnet/minecraftforge/event/RegistryEvent$Register;)V
185 | 7: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterEntityActions(Lnet/minecraftforge/event/RegistryEvent$Register;)V
186 | 8: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterFeatures(Lnet/minecraftforge/event/RegistryEvent$Register;)V
187 | 9: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterFluids(Lnet/minecraftforge/event/RegistryEvent$Register;)V
188 | 10: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterItems(Lnet/minecraftforge/event/RegistryEvent$Register;)V
189 | 11: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterParticles(Lnet/minecraftforge/event/RegistryEvent$Register;)V
190 | 12: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterPotions(Lnet/minecraftforge/event/RegistryEvent$Register;)V
191 | 13: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterProfessions(Lnet/minecraftforge/event/RegistryEvent$Register;)V
192 | 14: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterPointOfInterest(Lnet/minecraftforge/event/RegistryEvent$Register;)V
193 | 15: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterSchedule(Lnet/minecraftforge/event/RegistryEvent$Register;)V
194 | 16: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterRecipeSerializer(Lnet/minecraftforge/event/RegistryEvent$Register;)V
195 | 17: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterSkills(Lnet/minecraftforge/event/RegistryEvent$Register;)V
196 | 18: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterSounds(Lnet/minecraftforge/event/RegistryEvent$Register;)V
197 | 19: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterStats(Lnet/minecraftforge/event/RegistryEvent$Register;)V
198 | 20: ASM: de.teamlapen.vampirism.core.RegistryManager@397e77e9 onRegisterTiles(Lnet/minecraftforge/event/RegistryEvent$Register;)V
199 | java.lang.NoClassDefFoundError: net/minecraft/client/particle/Particle
200 | at de.teamlapen.vampirism.core.ModBlocks.registerBlocks(ModBlocks.java:147)
201 | at de.teamlapen.vampirism.core.RegistryManager.onRegisterBlocks(RegistryManager.java:95)
202 | at net.minecraftforge.eventbus.ASMEventHandler_12_RegistryManager_onRegisterBlocks_Register.invoke(.dynamic)
203 | at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:80)
204 | at net.minecraftforge.eventbus.EventBus.post(EventBus.java:258)
205 | at net.minecraftforge.fml.javafmlmod.FMLModContainer.fireEvent(FMLModContainer.java:106)
206 | at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
207 | at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65)
208 | at net.minecraftforge.fml.ModContainer.transitionState(ModContainer.java:112)
209 | at net.minecraftforge.fml.ModList.lambda$dispatchSynchronousEvent$5(ModList.java:125)
210 | at java.util.ArrayList.forEach(ArrayList.java:1257)
211 | at net.minecraftforge.fml.ModList.dispatchSynchronousEvent(ModList.java:125)
212 | at net.minecraftforge.fml.ModList.lambda$static$1(ModList.java:96)
213 | at net.minecraftforge.fml.LifecycleEventProvider.dispatch(LifecycleEventProvider.java:71)
214 | at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:197)
215 | at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$24(ModLoader.java:189)
216 | at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:964)
217 | at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:189)
218 | at net.minecraftforge.fml.server.ServerModLoader.begin(ServerModLoader.java:45)
219 | at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:121)
220 | at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:598)
221 | at java.lang.Thread.run(Thread.java:748)
222 | Caused by: java.lang.ClassNotFoundException: net.minecraft.client.particle.Particle
223 | at java.lang.ClassLoader.findClass(ClassLoader.java:530)
224 | at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
225 | at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:103)
226 | at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
227 | ... 22 more
228 |
229 | [11Mar2020 18:08:07.188] [Server thread/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/LOADING]: Caught exception during event RegistryEvent.Registerminecraft:block dispatch for modid vampirism
230 | java.lang.NoClassDefFoundError: net/minecraft/client/particle/Particle
231 | at de.teamlapen.vampirism.core.ModBlocks.registerBlocks(ModBlocks.java:147) ~[?:1.6.0-beta.2]
232 | at de.teamlapen.vampirism.core.RegistryManager.onRegisterBlocks(RegistryManager.java:95) ~[?:1.6.0-beta.2]
233 | at net.minecraftforge.eventbus.ASMEventHandler_12_RegistryManager_onRegisterBlocks_Register.invoke(.dynamic) ~[?:?]
234 | at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:80) ~[eventbus-1.0.0-service.jar:?]
235 | at net.minecraftforge.eventbus.EventBus.post(EventBus.java:258) ~[eventbus-1.0.0-service.jar:?]
236 | at net.minecraftforge.fml.javafmlmod.FMLModContainer.fireEvent(FMLModContainer.java:106) ~[?:28.2]
237 | at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65) ~[?:1.8.0_222]
238 | at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65) ~[?:1.8.0_222]
239 | at net.minecraftforge.fml.ModContainer.transitionState(ModContainer.java:112) ~[?:?]
240 | at net.minecraftforge.fml.ModList.lambda$dispatchSynchronousEvent$5(ModList.java:125) ~[?:?]
241 | at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:1.8.0_222]
242 | at net.minecraftforge.fml.ModList.dispatchSynchronousEvent(ModList.java:125) ~[?:?]
243 | at net.minecraftforge.fml.ModList.lambda$static$1(ModList.java:96) ~[?:?]
244 | at net.minecraftforge.fml.LifecycleEventProvider.dispatch(LifecycleEventProvider.java:71) ~[?:?]
245 | at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:197) ~[?:?]
246 | at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$24(ModLoader.java:189) ~[?:?]
247 | at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:964) [?:?]
248 | at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:189) [?:?]
249 | at net.minecraftforge.fml.server.ServerModLoader.begin(ServerModLoader.java:45) [?:?]
250 | at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:121) [?:?]
251 | at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:598) [?:?]
252 | at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
253 | Caused by: java.lang.ClassNotFoundException: net.minecraft.client.particle.Particle
254 | at java.lang.ClassLoader.findClass(ClassLoader.java:530) ~[?:1.8.0_222]
255 | at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_222]
256 | at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:103) ~[modlauncher-4.1.0.jar:?]
257 | at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_222]
258 | ... 22 more
259 | [11Mar2020 18:08:07.295] [Server thread/FATAL] [net.minecraftforge.fml.ModLoader/LOADING]: Failed to complete lifecycle event LOAD_REGISTRIES, 1 errors found
260 | [11Mar2020 18:08:07.298] [Server thread/ERROR] [net.minecraft.server.MinecraftServer/]: Encountered an unexpected exception
261 | net.minecraftforge.fml.LoadingFailedException: Loading errors encountered: [
262 | Vampirism (vampirism) encountered an error during the load_registries event phase
263 | §7net/minecraft/client/particle/Particle
264 | ]
265 | at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:201) ~[?:?]
266 | at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$24(ModLoader.java:189) ~[?:?]
267 | at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:964) ~[?:?]
268 | at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:189) ~[?:?]
269 | at net.minecraftforge.fml.server.ServerModLoader.begin(ServerModLoader.java:45) ~[?:?]
270 | at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:121) ~[?:?]
271 | at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:598) [?:?]
272 | at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
273 | [11Mar2020 18:08:07.490] [Server thread/ERROR] [net.minecraft.server.MinecraftServer/]: This crash report has been saved to: /aternos/server/./crash-reports/crash-2020-03-11_18.08.07-server.txt
274 | [11Mar2020 18:08:07.579] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Stopping server
275 | [11Mar2020 18:08:07.601] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: Saving worlds
276 | [11Mar2020 18:08:07.607] [Server thread/ERROR] [net.minecraft.server.MinecraftServer/]: Exception stopping the server
277 | java.lang.RuntimeException: The server has failed to initialize correctly due to mod loading errors. Examine the crash report for more details.
278 | at net.minecraftforge.common.DimensionManager.getWorld(DimensionManager.java:182) ~[?:?]
279 | at net.minecraft.server.MinecraftServer.func_71218_a(MinecraftServer.java:979) ~[?:?]
280 | at net.minecraft.server.MinecraftServer.func_213211_a(MinecraftServer.java:521) ~[?:?]
281 | at net.minecraft.server.MinecraftServer.func_71260_j(MinecraftServer.java:553) ~[?:?]
282 | at net.minecraft.server.dedicated.DedicatedServer.func_71260_j(DedicatedServer.java:544) ~[?:?]
283 | at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:661) [?:?]
284 | at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
This is my crash-report:
---- Minecraft Crash Report ----
// Shall we play a game?Time: 3/11/20 6:08 PM
Description: Exception in server tick loopnet.minecraftforge.fml.LoadingFailedException: Loading errors encountered: [
Vampirism (vampirism) encountered an error during the load_registries event phase
§7net/minecraft/client/particle/Particle
]
at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:201) ~[?:?] {re:classloading}
at net.minecraftforge.fml.ModLoader.lambda$gatherAndInitializeMods$24(ModLoader.java:189) ~[?:?] {re:classloading}
at net.minecraftforge.registries.GameData.fireRegistryEvents(GameData.java:964) ~[?:?] {re:classloading}
at net.minecraftforge.fml.ModLoader.gatherAndInitializeMods(ModLoader.java:189) ~[?:?] {re:classloading}
at net.minecraftforge.fml.server.ServerModLoader.begin(ServerModLoader.java:45) ~[?:?] {re:classloading}
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:121) ~[?:?] {re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:598) [?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222] {}A detailed walkthrough of the error, its code path and all known details is as follows:
-- System Details --
Details:
Minecraft Version: 1.14.4
Minecraft Version ID: 1.14.4
Operating System: Linux (amd64) version 4.4.0-161-generic
Java Version: 1.8.0_222, Oracle Corporation
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 961291504 bytes (916 MB) / 1516765184 bytes (1446 MB) up to 1584922624 bytes (1511 MB)
CPUs: 3
JVM Flags: 3 total; -XX:MaxMetaspaceSize=200M -Xmx1700M -Xms850M
ModLauncher: 4.1.0+62+5bfa59b
ModLauncher launch target: fmlserver
ModLauncher naming: srg
ModLauncher services:
/eventbus-1.0.0-service.jar eventbus PLUGINSERVICE
/forge.jar object_holder_definalize PLUGINSERVICE
/forge.jar runtime_enum_extender PLUGINSERVICE
/accesstransformers-1.0.5-shadowed.jar accesstransformer PLUGINSERVICE
/forge.jar capability_inject_definalize PLUGINSERVICE
/forge.jar runtimedistcleaner PLUGINSERVICE
/forge.jar fml TRANSFORMATIONSERVICE
FML: 28.2
Forge: net.minecraftforge:28.2.3
FML Language Providers:
[email protected]
minecraft@1
Mod List:
forge-1.14.4-28.2.3-server.jar Minecraft {[email protected] LOAD_REGISTRIES}
forge-1.14.4-28.2.3-universal.jar Forge {[email protected] LOAD_REGISTRIES}
Vampirism-1.14.4-1.6.0-beta.2.jar Vampirism {[email protected]+20200311-0149 ERROR, [email protected]+20200311-0149 LOAD_REGISTRIES}
Data Packs:
Is Modded: Definitely; Server brand changed to 'forge'
Type: Dedicated Server (map_server.txt)
Sorry, I didn't have time to properly test the version.
Will upload a fixed beta tonight. Thank you for your patience
But I must tell ya, when you break a coffin the item isn't dropped
usually when breaking a coffin I /give another one
oh and when sleeping in coffin now the button "leave bed" says text.vampirism.coffin.stop_sleeping
another similar bug is when an angry villager kills you, also there in chat there ain't writed "angry villager" but the object name
guess I'm your unofficial tester now
Thx for reporting.
Unfortunately, Vampirism has become insanely extensive and there are so many smaller and bigger features, which makes it extremely time consuming to test everything. Especially, as we are maintain 1.14 and 1.15 versions (and 1.12 up to recently).
Therefore I have to rely on user feedback to find such smaller bugs or missing translations and I appreciate you "testing" the beta.
I try to find game breaking bugs before release, (but that obviously didn't work out recently).
Ahah don't worry mate, I appreciate doing this, it kinda makes me feel like I'm working at the mod too
At this point we can call it spam, but I also noticed a lot that if you go sleep very early in the morning in the coffin, time doesn't pass
Alright
- fixed coffin drop
- fixed translations keys
- fixed sleeping villagers attacking
I am not sure what is wrong with the heart streaker. From the 3rd person perspective you don't see the cooldown affect, but that is the same for vanilla weapons
Is there a new beta with these fixes? Or it will be uploaded after the other fixes (bugged angry villager and maybe heart streaker)
New versions will only be uploaded if enough changes accumulated or if there is a critical bug fix
You can check the commit history up to the time the beta was released:
https://github.com/TeamLapen/Vampirism/commits/1.14
I eventually add changelogs to betas files on curse, but only when I am bored.
Closing this, as all mentioned bugs should be fixed by now