TickThreading - concurrent entity/tile entity ticks and other optimisations

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

MinerDude333

New Member
Jul 29, 2019
49
0
0
I'm using build 32 of the 1.5.2 TickThreading on a BigDig server, and it keeps spamming "[INFO] [STDOUT] something on tick went wrong" every 2-10 seconds. What are the needed logs to identify the problem?
*edit to remove stupid spelling error*
 

nallar

New Member
Jul 29, 2019
270
0
0
I'm using build 32 of the 1.5.2 TickThreading on a BigDig server, and it keeps spamming "[INFO] [STDOUT] something on tick went wrong" every 2-10 seconds. What are the needed logs to identify the problem?
*edit to remove stupid spelling error*

A modder must have tried to log an error, but they forgot to actually log what went wrong! Oops. I'll need to decompile all the mods in BigDig and find which one logs that message.
 

saki2fifty

New Member
Jul 29, 2019
73
0
0
Hey Nallar, should we even bother with MCPC as of right now? Just reading through the prior posts and not sure if you're supporting that yet or not. Getting some errors and need to know if we should hold off on posting that stuff for the time being.

Thanks!
 

nallar

New Member
Jul 29, 2019
270
0
0
Hey Nallar, should we even bother with MCPC as of right now? Just reading through the prior posts and not sure if you're supporting that yet or not. Getting some errors and need to know if we should hold off on posting that stuff for the time being.

Thanks!

TT should be MCPC+ compatible unless I say otherwise, if you have problems always post them unless they also happen when not using TT.
 

daraku_dakara

New Member
Jul 29, 2019
31
0
0
Help,

Using build 80 for minecraft 1.5.2 on a small server, and it keeps shutting down the server every 20-30 minutes. No error messeges.
 

nallar

New Member
Jul 29, 2019
270
0
0
Help,

Using build 80 for minecraft 1.5.2 on a small server, and it keeps shutting down the server every 20-30 minutes. No error messeges.

Probably being out of memory killed, if there is no message about it shutting down. Can you post full TT log?

Make sure -Xmx isn't higher than it needs to be.
 

daraku_dakara

New Member
Jul 29, 2019
31
0
0
awesome, ty :)

We have actually noticed a 200% increase in our average tps since installing this mod! (we were averaging about 10 before)
This is a must have mod now, thankyou for all your hard work :)
 

saki2fifty

New Member
Jul 29, 2019
73
0
0
I just tried out the most current version of MCPC+ with my current server setup on a test box, and one of the errors I'm getting from TT is an "access denied". You'll see in in the server log, but not the TT log. (I'm aware of the Artifice error, which I think is based on EE3, which I don't have)

My main server setup is 16 cores @ 2.8 ghz each, 128 GB of ram (86 allotted, for now) and is Linux based. My test server is Windows 7 on an i7 which is where the logs are coming from. I have lots of mods and several plugins. Test box has MySQL disabled. (no idea if any of this info is beneficial, probably not :) ).

TT log : http://pastebin.com/6Y9qZc5U

Server log : http://pastebin.com/yitnmWu9

[EDIT] Oh, and I did give recursive permissions to "everyone" just to see if it was truly a permissions things, but same problem.

[EDIT #2] I took out all spaces and special characters from the path to see if that had an effect, and still same issue.
 

nallar

New Member
Jul 29, 2019
270
0
0
do you think its better to have a lower or higher garbage collection time

It should be okay at the default setting. Higher means that it will run less often, but it will probably also take longer to run when it does run.
 

saki2fifty

New Member
Jul 29, 2019
73
0
0
Thanks! Cant wait to try it.

Also, i'm wanting to use Spigot's / MCPC's orebfuscator, so are there any settings for that with TT? ...like being able to use its own core / thread or whatever?
 

nallar

New Member
Jul 29, 2019
270
0
0
Thanks! Cant wait to try it.

Also, i'm wanting to use Spigot's / MCPC's orebfuscator, so are there any settings for that with TT? ...like being able to use its own core / thread or whatever?

No, but there should be almost no performance impact from it, Spigot tends to do things quickly :)
 

saki2fifty

New Member
Jul 29, 2019
73
0
0
Well, I just updated it to the newest build, put it on my test server, and am no longer getting those messages. I am however getting an occasional error (below).

I ignored that for a few minutes and just wanted to play with the world to see how much of a difference it made. I spent no more than 5 minutes when I made up my mind on the performance. And with my luck, it just wouldn't work and I'd have some sort of problem to where it would had made no difference at all. So... my son and I spawned about 100 Ghasts and to my surprise, everything was really responsive. So much so that we spawned another 100. Then another 100. Then another 100. Then while those things were floating around everywhere we set up some Obsidian TNT around 25 x 25, set it off and still completely responsive. Amazing. The tnt blew up most ghasts, so I spawned some more ghasts and just did some real world block placements, seeing if there was any lag in breaking, and picking up items. Everything instant, no lag at all.

No idea if was just in my head or if there was an actual performance gain or not, or even if TT improves those types of things or not (or if it was spigot??), but im even more excited than ever. Back to playing around with it for now.

And oh, what does the cheat option in the config do? What does it actually check for?

Also, are there any settings that I would need to change in the config that would benefit from 16 cores, and 128GB of ram other than whats in the default? I'm going to increase the chunk loading default, kill the one I have set in Bukkit, just not sure about anything else. My default world is set to 20k x 20k and my server has SSD's, so i'd like to load what I can in memory to save on wear and tear.

>2013-07-05 12:54:04 [SEVERE] [TickThreading] Exception ticking world Overworld/0
java.util.ConcurrentModificationException
at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:837)
at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:876)
at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:874)
at hats.common.core.TickHandlerServer.worldTick(TickHandlerServer.java:71)
at hats.common.core.TickHandlerServer.tickEnd(TickHandlerServer.java:45)
at cpw.mods.fml.common.SingleIntervalHandler.tickEnd(SingleIntervalHandler.java:34)
at nallar.tickthreading.util.WrappedScheduledTickHandler.tickEnd(WrappedScheduledTickHandler.java:28)
at cpw.mods.fml.common.FMLCommonHandler.tickEnd(FMLCommonHandler.java:82)
at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick_cpw_mods_fml_common_FMLCommonHandler_onPostWorldTick_p0(FMLCommonHandler.java:282)
at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick(FMLCommonHandler.java)
at net.minecraft.server.MinecraftServer.doWorldTick(MinecraftServer.java:527)
at nallar.patched.server.PatchMinecraftServer$TickRunnable.run(PatchMinecraftServer.java:676)
at nallar.tickthreading.minecraft.ThreadManager$1.run(ThreadManager.java:43)
at nallar.tickthreading.util.FakeServerThread.run(FakeServerThread.java:16)
2013-07-05 12:55:01 [SEVERE] [TickThreading] Exception ticking world Nether/-1
java.util.ConcurrentModificationException
at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:837)
at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:876)
at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:874)
at hats.common.core.TickHandlerServer.worldTick(TickHandlerServer.java:71)
at hats.common.core.TickHandlerServer.tickEnd(TickHandlerServer.java:45)
at cpw.mods.fml.common.SingleIntervalHandler.tickEnd(SingleIntervalHandler.java:34)
at nallar.tickthreading.util.WrappedScheduledTickHandler.tickEnd(WrappedScheduledTickHandler.java:28)
at cpw.mods.fml.common.FMLCommonHandler.tickEnd(FMLCommonHandler.java:82)
at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick_cpw_mods_fml_common_FMLCommonHandler_onPostWorldTick_p0(FMLCommonHandler.java:282)
at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick(FMLCommonHandler.java)
at net.minecraft.server.MinecraftServer.doWorldTick(MinecraftServer.java:527)
at nallar.patched.server.PatchMinecraftServer$TickRunnable.run(PatchMinecraftServer.java:676)
at nallar.tickthreading.minecraft.ThreadManager$1.run(ThreadManager.java:43)
at nallar.tickthreading.util.FakeServerThread.run(FakeServerThread.java:16)
>2013-07-05 12:59:27 [SEVERE] [TickThreading] Exception ticking world Nether/-1
java.util.ConcurrentModificationException
at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:837)
at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:876)
at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:874)
at hats.common.core.TickHandlerServer.worldTick(TickHandlerServer.java:71)
at hats.common.core.TickHandlerServer.tickEnd(TickHandlerServer.java:45)
at cpw.mods.fml.common.SingleIntervalHandler.tickEnd(SingleIntervalHandler.java:34)
at nallar.tickthreading.util.WrappedScheduledTickHandler.tickEnd(WrappedScheduledTickHandler.java:28)
at cpw.mods.fml.common.FMLCommonHandler.tickEnd(FMLCommonHandler.java:82)
at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick_cpw_mods_fml_common_FMLCommonHandler_onPostWorldTick_p0(FMLCommonHandler.java:282)
at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick(FMLCommonHandler.java)
at net.minecraft.server.MinecraftServer.doWorldTick(MinecraftServer.java:527)
at nallar.patched.server.PatchMinecraftServer$TickRunnable.run(PatchMinecraftServer.java:676)
at nallar.tickthreading.minecraft.ThreadManager$1.run(ThreadManager.java:43)
at nallar.tickthreading.util.FakeServerThread.run(FakeServerThread.java:16)
 

nallar

New Member
Jul 29, 2019
270
0
0
Well, I just updated it to the newest build, put it on my test server, and am no longer getting those messages. I am however getting an occasional error (below).

I ignored that for a few minutes and just wanted to play with the world to see how much of a difference it made. I spent no more than 5 minutes when I made up my mind on the performance. And with my luck, it just wouldn't work and I'd have some sort of problem to where it would had made no difference at all. So... my son and I spawned about 100 Ghasts and to my surprise, everything was really responsive. So much so that we spawned another 100. Then another 100. Then another 100. Then while those things were floating around everywhere we set up some Obsidian TNT around 25 x 25, set it off and still completely responsive. Amazing. The tnt blew up most ghasts, so I spawned some more ghasts and just did some real world block placements, seeing if there was any lag in breaking, and picking up items. Everything instant, no lag at all.

No idea if was just in my head or if there was an actual performance gain or not, or even if TT improves those types of things or not (or if it was spigot??), but im even more excited than ever. Back to playing around with it for now.

And oh, what does the cheat option in the config do? What does it actually check for?

Also, are there any settings that I would need to change in the config that would benefit from 16 cores, and 128GB of ram other than whats in the default? I'm going to increase the chunk loading default, kill the one I have set in Bukkit, just not sure about anything else. My default world is set to 20k x 20k and my server has SSD's, so i'd like to load what I can in memory to save on wear and tear.

>2013-07-05 12:54:04 [SEVERE] [TickThreading] Exception ticking world Overworld/0
java.util.ConcurrentModificationException
at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:837)
at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:876)
at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:874)
at hats.common.core.TickHandlerServer.worldTick(TickHandlerServer.java:71)
at hats.common.core.TickHandlerServer.tickEnd(TickHandlerServer.java:45)
at cpw.mods.fml.common.SingleIntervalHandler.tickEnd(SingleIntervalHandler.java:34)
at nallar.tickthreading.util.WrappedScheduledTickHandler.tickEnd(WrappedScheduledTickHandler.java:28)
at cpw.mods.fml.common.FMLCommonHandler.tickEnd(FMLCommonHandler.java:82)
at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick_cpw_mods_fml_common_FMLCommonHandler_onPostWorldTick_p0(FMLCommonHandler.java:282)
at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick(FMLCommonHandler.java)
at net.minecraft.server.MinecraftServer.doWorldTick(MinecraftServer.java:527)
at nallar.patched.server.PatchMinecraftServer$TickRunnable.run(PatchMinecraftServer.java:676)
at nallar.tickthreading.minecraft.ThreadManager$1.run(ThreadManager.java:43)
at nallar.tickthreading.util.FakeServerThread.run(FakeServerThread.java:16)
2013-07-05 12:55:01 [SEVERE] [TickThreading] Exception ticking world Nether/-1
java.util.ConcurrentModificationException
at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:837)
at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:876)
at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:874)
at hats.common.core.TickHandlerServer.worldTick(TickHandlerServer.java:71)
at hats.common.core.TickHandlerServer.tickEnd(TickHandlerServer.java:45)
at cpw.mods.fml.common.SingleIntervalHandler.tickEnd(SingleIntervalHandler.java:34)
at nallar.tickthreading.util.WrappedScheduledTickHandler.tickEnd(WrappedScheduledTickHandler.java:28)
at cpw.mods.fml.common.FMLCommonHandler.tickEnd(FMLCommonHandler.java:82)
at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick_cpw_mods_fml_common_FMLCommonHandler_onPostWorldTick_p0(FMLCommonHandler.java:282)
at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick(FMLCommonHandler.java)
at net.minecraft.server.MinecraftServer.doWorldTick(MinecraftServer.java:527)
at nallar.patched.server.PatchMinecraftServer$TickRunnable.run(PatchMinecraftServer.java:676)
at nallar.tickthreading.minecraft.ThreadManager$1.run(ThreadManager.java:43)
at nallar.tickthreading.util.FakeServerThread.run(FakeServerThread.java:16)
>2013-07-05 12:59:27 [SEVERE] [TickThreading] Exception ticking world Nether/-1
java.util.ConcurrentModificationException
at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:837)
at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:876)
at java.util.WeakHashMap$EntryIterator.next(WeakHashMap.java:874)
at hats.common.core.TickHandlerServer.worldTick(TickHandlerServer.java:71)
at hats.common.core.TickHandlerServer.tickEnd(TickHandlerServer.java:45)
at cpw.mods.fml.common.SingleIntervalHandler.tickEnd(SingleIntervalHandler.java:34)
at nallar.tickthreading.util.WrappedScheduledTickHandler.tickEnd(WrappedScheduledTickHandler.java:28)
at cpw.mods.fml.common.FMLCommonHandler.tickEnd(FMLCommonHandler.java:82)
at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick_cpw_mods_fml_common_FMLCommonHandler_onPostWorldTick_p0(FMLCommonHandler.java:282)
at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick(FMLCommonHandler.java)
at net.minecraft.server.MinecraftServer.doWorldTick(MinecraftServer.java:527)
at nallar.patched.server.PatchMinecraftServer$TickRunnable.run(PatchMinecraftServer.java:676)
at nallar.tickthreading.minecraft.ThreadManager$1.run(ThreadManager.java:43)
at nallar.tickthreading.util.FakeServerThread.run(FakeServerThread.java:16)

Hats mod issue should be fixed in latest. Probably best not to bother tweaking settings unless you run into performance issues.[DOUBLEPOST=1373049887][/DOUBLEPOST]

The anti cheat option currently just relays some vanilla notifications (moved wrongly/too quickly) to admins, so they don't have to check console. They are mostly false positives though, so it's off by default.