-
-
Notifications
You must be signed in to change notification settings - Fork 133
Open
Labels
scope: parallel-world-tickingParallel world ticking is onParallel world ticking is on
Description
自我检查表
- 我已经浏览过 Issues 和 Leaf 文档, 并确保汇报的不是已知问题
- 我勾选了所有框, 因为我根本就没仔细看他们是什么
- 我正在使用从 https://www.leafmc.one/zh/download 下载的最新 Leaf 构建
- 我无法在 最新 Paper 或 Purpur 构建上复现此问题
问题描述
1.我安装了Incendium_1.21.5_v5.4.9_UNSUPPORTED数据包,并删除了部分内容以改善性能,因为效果未达到预期,于是开启 pwt,进入服务器后出现报错(就像下面那个数据包报错issue一样)
2.使用 AI修改部分数据包(添加了"execute in minecraft:overworld run"前缀),问题似乎得到解决
3.但在部分情况下,出现严重崩溃
所期望的行为
null
如何复现?
经多次反复测试,大致摸清了触发方式:
在结构边搭建地狱传送门,反复进入即可触发,问题触发时,客户端处于世界加载界面或虚空,后台服务器卡死
通义灵码的解释:
根据错误日志,当前问题是Leaf服务端启用并行世界处理后出现的线程阻塞问题。从堆栈跟踪来看,
问题出现在以下调用链中:
ServerFunctionManager.execute
-> FunctionCallback.handle
-> TimerQueue.tick
-> ServerLevel.tick
-> ServerLevel.tickTime
-> StructureManager.getStructureWithPieceAt
-> LocationPredicate.matches
这表明在执行Minecraft函数时,系统尝试检查实体是否在特定结构内(如要塞、城堡等),
这需要同步加载区块,导致并行线程阻塞。
Spark profiler 链接
因为服务器卡死导致无法保存spark :(
错误日志 (如存在)
Metadata
Metadata
Assignees
Labels
scope: parallel-world-tickingParallel world ticking is onParallel world ticking is on