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

Puremin0rez

New Member
Jul 29, 2019
90
0
0
This Warning is now outdated - use build 729 for TT goodness.

Just giving everyone a formal warning:

The latest builds of TT are NOT recommended and I do NOT condone using them! There are quite some game breaking issues with it right now, including all entities being wiped.

Please wait until Nallar says something before trying to use them again! (or follow the GitHub changelog)
 

nallar

New Member
Jul 29, 2019
270
0
0
The entity issue should be fixed now, and with it the deadlock (I think it was related to looping world gen for aura node entities).

Haven't actually confirmed that the deadlock is fixed though, we'll need to wait and see.
 

nallar

New Member
Jul 29, 2019
270
0
0
Just giving everyone a formal warning:

The latest builds of TT are NOT recommended and I do NOT condone using them! There are quite some game breaking issues with it right now, including all entities being wiped.

Please wait until Nallar says something before trying to use them again! (or follow the GitHub changelog)
It's a little bit late to tell you, but it seems that the vanished entities return on loading the world with a working TT.
 

nallar

New Member
Jul 29, 2019
270
0
0
Bumped stable version to 729, fixing an issue where mobs could not be attacked after reloading a chunk.
 

pherce

New Member
Jul 29, 2019
60
0
0
We seem to have a problem with anything that generates or consumes EU, they just flat-out don't work. No errors per se, just the normal console spam of:

Code:
2013-01-31 13:20:43 [WARNING] [IC2] EnergyNet.emitEnergyFrom: ic2.core.block.generator.tileentity.TileEntityGenerator@69601253 x,y,x: 264, 72, -785 is not added to the enet

Running TT 729 and BukkitForge 187. What would be the harm in tossing on the unmodded ic2.jar?


Edit: and I'm still getting this:
http://pastebin.com/JK2wbMmE
 

MinerDude333

New Member
Jul 29, 2019
49
0
0
I'd really like to see some more work done on the client. I can't wait for a release that is singleplayer compatable!
btw nallar, I think this mod you've made is GREAT! I fell in love with it and I can't thank you enough for making it.
 

Puremin0rez

New Member
Jul 29, 2019
90
0
0
Tick Threading build #729 appears to put TT back in a usable working state once again. Have not seen any entity issues or errors in general thus far. Take that with a grain of salt :)

The newer version actually brought BACK the entities that disappeared from the horrible builds, so that's a great thing - It didn't bring back the Nodes from ThaumCraft though - but that was easy enough to "regenerate" (thaumcraft.cfg)
 

Puremin0rez

New Member
Jul 29, 2019
90
0
0
We seem to have a problem with anything that generates or consumes EU, they just flat-out don't work. No errors per se, just the normal console spam of:

Code:
2013-01-31 13:20:43 [WARNING] [IC2] EnergyNet.emitEnergyFrom: ic2.core.block.generator.tileentity.TileEntityGenerator@69601253 x,y,x: 264, 72, -785 is not added to the enet

Running TT 729 and BukkitForge 187. What would be the harm in tossing on the unmodded ic2.jar?


Edit: and I'm still getting this:
http://pastebin.com/JK2wbMmE

Is IC2 flat out not working on boot or does it happen over time??

I haven't had that bug for quite a while, but my IC2 used to "die" and do the same thing your experiencing - it doesn't happen anymore for me though..

Sounds like a TT + BukkitForge issue
 

pherce

New Member
Jul 29, 2019
60
0
0
IC2 Loads and people can use things, but the EU doesn't flow to or from things like MFSU's.
 

nallar

New Member
Jul 29, 2019
270
0
0
IC2 Loads and people can use things, but the EU doesn't flow to or from things like MFSU's.
Congratulations on an odd bug. If a chunk update ran and caused a chunk to load due to bad mod/plugin code, and some mobs were spawned in that chunk, and at the same time the chest shop plugin tried to load a chunk to check a sign your server had a chance of crashing.

edit: Quoted the wrong post, I meant the one with the deadlock.

edit 2: Bumped the stable version to 732. Try it, if the error happens again report it again - the deadlock detector will now give more information and we can see what caused it.
 

pherce

New Member
Jul 29, 2019
60
0
0
Congratulations on an odd bug. If a chunk update ran and caused a chunk to load due to bad mod/plugin code, and some mobs were spawned in that chunk, and at the same time the chest shop plugin tried to load a chunk to check a sign your server had a chance of crashing.

edit: Quoted the wrong post, I meant the one with the deadlock.

edit 2: Bumped the stable version to 732. Try it, if the error happens again report it again - the deadlock detector will now give more information and we can see what caused it.

Got it, trying now. That was an awesome bug though!
 

pherce

New Member
Jul 29, 2019
60
0
0
Congratulations on an odd bug. If a chunk update ran and caused a chunk to load due to bad mod/plugin code, and some mobs were spawned in that chunk, and at the same time the chest shop plugin tried to load a chunk to check a sign your server had a chance of crashing.

edit: Quoted the wrong post, I meant the one with the deadlock.

edit 2: Bumped the stable version to 732. Try it, if the error happens again report it again - the deadlock detector will now give more information and we can see what caused it.

Working great so far. If that arises again I will probably pull ChestShop and pass along the crash report to you.

Do you have any idea about the ic2 problem? Solars for example gain EU, but nothing is transferred out (tried replacing cable). You could use internal power on something like a macerator, but once that runs out we get nothing.


Edit:
Code:
2013-02-01 09:27:44 [INFO] [STDERR] Exception in thread "Deadlock Detector" java.lang.NullPointerException
2013-02-01 09:27:44 [INFO] [STDERR]    at me.nallar.tickthreading.minecraft.DeadLockDetector.toString(DeadLockDetector.java:184)
2013-02-01 09:27:44 [INFO] [STDERR]    at me.nallar.tickthreading.minecraft.DeadLockDetector.checkForDeadlocks(DeadLockDetector.java:118)
2013-02-01 09:27:44 [INFO] [STDERR]    at me.nallar.tickthreading.minecraft.DeadLockDetector$2.run(DeadLockDetector.java:52)
2013-02-01 09:27:44 [INFO] [STDERR]    at java.lang.Thread.run(Thread.java:722)
2013-02-01 09:28:51 [SEVERE] [ForgeModLoader] Failed to handle packet from unknown
java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:150)
        at java.net.SocketInputStream.read(SocketInputStream.java:121)
        at java.net.SocketInputStream.read(SocketInputStream.java:203)
        at java.io.FilterInputStream.read(FilterInputStream.java:83)
        at ef.a(Packet.java:142)
        at cg.i(TcpConnection.java:324)
        at cg.c(TcpConnection.java:544)
        at ch.run(SourceFile:93)
 

nallar

New Member
Jul 29, 2019
270
0
0
Working great so far. If that arises again I will probably pull ChestShop and pass along the crash report to you.

Do you have any idea about the ic2 problem? Solars for example gain EU, but nothing is transferred out (tried replacing cable). You could use internal power on something like a macerator, but once that runs out we get nothing.


Edit:
Code:
2013-02-01 09:27:44 [INFO] [STDERR] Exception in thread "Deadlock Detector" java.lang.NullPointerException
2013-02-01 09:27:44 [INFO] [STDERR]    at me.nallar.tickthreading.minecraft.DeadLockDetector.toString(DeadLockDetector.java:184)
2013-02-01 09:27:44 [INFO] [STDERR]    at me.nallar.tickthreading.minecraft.DeadLockDetector.checkForDeadlocks(DeadLockDetector.java:118)
2013-02-01 09:27:44 [INFO] [STDERR]    at me.nallar.tickthreading.minecraft.DeadLockDetector$2.run(DeadLockDetector.java:52)
2013-02-01 09:27:44 [INFO] [STDERR]    at java.lang.Thread.run(Thread.java:722)
2013-02-01 09:28:51 [SEVERE] [ForgeModLoader] Failed to handle packet from unknown
java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:150)
        at java.net.SocketInputStream.read(SocketInputStream.java:121)
        at java.net.SocketInputStream.read(SocketInputStream.java:203)
        at java.io.FilterInputStream.read(FilterInputStream.java:83)
        at ef.a(Packet.java:142)
        at cg.i(TcpConnection.java:324)
        at cg.c(TcpConnection.java:544)
        at ch.run(SourceFile:93)
I... what?!

Somehow a thread was null... added a workaround in latest, will need tested with that to get the error report, because the error reporting crashed. :(
 

nallar

New Member
Jul 29, 2019
270
0
0
http://pastebin.com/U7SJfy3q (chestshop pulled)

Btw, IC2 worked after a reboot or four. Weird.

Just tosses on 737 as well. Hopefully that null thread issue will be gone and I can give you more information.
Build 739 includes an attempt at fixing the deadlock, as well as a fix for the comodification exception.

edit: I derped, fix is in 739.
 

pherce

New Member
Jul 29, 2019
60
0
0
Build 739 includes an attempt at fixing the deadlock, as well as a fix for the comodification exception.

edit: I derped, fix is in 739.

So far it's running great after a few hours of uptime. Our issue with IC2 power is resolved after several restarts too. If it's broke, we get that incessant console spam I pasted earlier. If it works, it's clean.

And as soon as I typed this: http://pastebin.com/EpPGRSg5

Ah, I'll try 739.
 

nallar

New Member
Jul 29, 2019
270
0
0
Are you following MCPC-Plus dev nallar?
Yes. TT will support it eventually, but it needs many changes because of some bukkit silliness - the handling of many events is not threadsafe, due to the use of fields on the world when extra parameters should've been added, for example with block placing it breaks the block with a field set to make it not actually place, runs the event using info from that, sets the field false again then places it if the event wasn't cancelled.

Also, the chunk provider and chunk loader implementations aren't compatible with TT's patches.
 

nallar

New Member
Jul 29, 2019
270
0
0
There were deadlock issues in some of the testing builds, when player movement was made asynchronous. This is fixed as of 752.