Skip to content
托管 · 错误解析

StackOverflowError

插件或模组中的无限递归:它表现为什么样,最常见的原因是什么,以及为什么之后服务器会崩溃。

更新于 2026年8月13日

java.lang.StackOverflowError
    at com.example.plugin.Handler.process(Handler.java:88)
    at com.example.plugin.Handler.process(Handler.java:92)
    at com.example.plugin.Handler.process(Handler.java:88)
    ...

堆栈中重复出现相同的行,说明发生了无限递归:代码不断调用自身,直到堆栈耗尽。

常见原因

情况示例
插件之间相互触发事件插件 A 捕获一个事件,并调用某个操作,而该操作又会触发同一事件
聊天插件处理自己的输出消息 → 过滤 → 消息
脚本 — Skript一个事件调用某条命令,而该命令又会调用该事件
自定义配方和物品一次合成产生另一次合成

该怎么办

  1. 找到堆栈最顶部的类——那就是罪魁祸首。
  2. 如果问题出在一对插件上,先移除其中一个再测试。
  3. 在脚本中查找循环:只要知道该往哪里看,通常一眼就能发现。

报错之后

发生报错的线程会终止。如果那是主线程,服务器就会崩溃或卡死。必须重启:StackOverflow 之后无法继续运行 — 服务器崩溃。

Minecraft 托管您离线时服务器仍在运行创建服务器