PaperMC / PaperMC/Folia

Cross-thread Entity State Access Error Triggered by "28w Pork Tower" Redstone Machine on Folia

Open
#334 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: needs triage type: bug
Dominant language
Shell
Stars
4.4k
Forks
623
PR merge metrics
No merged PRs in 30d

Description

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.

28w.txt
28wcollects.txt

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with the attached 28w.txt and 28wcollects.txt files, then inspect log.txt for the cross-thread entity access stack trace. Trace the reported entity-state access to its owning region thread; done means the machine no longer produces thread safety errors under the stated Folia version.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.