Skip to content
Tickwise
ErrorPluginsSIG-PL-012

A plugin calls the server API off the main thread (Asynchronous …!)

Platforms
Paper · Purpur · single server
Verified
Verified
Confidence
Confidence 95%

What it looks like in the log

Any one of these lines is enough. The agent matches them locally, on your server.

logs/latest.log
  • [WARN] java.lang.IllegalStateException: in the stack trace

Symptoms

  • A plugin action is not carried out; the log shows IllegalStateException “Asynchronous <operation>!”
  • Item dupes, entity desync and crashes are possible if the plugin keeps doing this

Cause

A plugin invoked an operation that is only allowed on the server's main thread (adding entities, loading chunks, teleporting, etc.) from an async task or a network thread; Paper (AsyncCatcher/TickThread) blocked the call.

Possible causes

  • The plugin runs Bukkit API calls in runTaskAsynchronously/CompletableFuture without returning to the main thread
  • An outdated plugin version not adapted to Paper's checks

How to fixLow risk

  1. Identify the plugin from the trace frames (the first frames after org.spigotmc.AsyncCatcher or TickThread) and the operation from the text Asynchronous <operation>!.
  2. Update the plugin; if the error is present in the latest version, report it to the author (the call needs to be moved to the main thread via runTask).
  3. Until it is fixed, disable the plugin feature causing the error, or the plugin itself: such calls risk dupes and data corruption.

Translated from the Russian original; log lines are quoted verbatim.

Sources