Cross-thread Entity State Access Error Triggered by "28w Pork Tower" Redstone Machine on Folia
Expected behavior
The "28w Pork Tower" should operate without triggering any thread safety errors. All entity state updates and accesses should occur on the correct (owning) region thread, ensuring smooth operation and adherence to Folia's threading.
Observed/Actual behavior
When the "28w Pork Tower" is activated by a player, the server logs display errors such as:
Thread failed main thread check: Accessing entity state off owning region's thread...
errorlog: log.txt
Steps/models to reproduce
Since litematic files cannot be uploaded they are modified to have a txt file extension.
Plugin and Datapack List
[19:41:30] [Region Scheduler Thread #9/INFO]: ℹ Server Plugins (25): [19:41:30] [Region Scheduler Thread #9/INFO]: Paper Plugins (1): [19:41:30] [Region Scheduler Thread #9/INFO]: - HuskHomes [19:41:30] [Region Scheduler Thread #9/INFO]: Bukkit Plugins (24): [19:41:30] [Region Scheduler Thread #9/INFO]: - AntiPopup, AxInventoryRestore, BlockLocker, CoreProtect, floodgate, FoliaFlow, GSit, LiteBans, LPC, LuckPerms [19:41:30] [Region Scheduler Thread #9/INFO]: MinePay, NBTAPI, *NewJoinManager, NewPixelCordPlugin, packetevents, PhantomIsolation2, PlaceholderAPI, PlayerPoints, PlugManX, ProtocolLib [19:41:30] [Region Scheduler Thread #9/INFO]: RayTraceAntiXray, spark, TAB, Vault
Folia version
[19:30:25] [Region Scheduler Thread #5/INFO]: Checking version, please wait... [19:30:25] [Thread-906/INFO]: This server is running Folia version 1.21.4-DEV-dev/hard-fork@d3969cd (1970-01-01T00:00:00Z) (Implementing API version 1.21.4-R0.1-SNAPSHOT) You are running the latest version Previous version: 1.21.4-DEV-c2e3759 (MC: 1.21.4)
Other
When using the redstone contraption known as "28w Pork Tower" , the server logs show errors indicating that entity state is being accessed from the wrong thread. This appears to be due to the redstone machine triggering entity-related operations outside of the entity’s owning region thread in Folia’s multithreaded environment.
Duplicated with #203