What is ConcurrentModificationException?
The java.util.ConcurrentModificationException occurs when a thread attempts to modify a collection (such as a list or map) while another process is actively iterating over it. In the context of a Minecraft server, this usually indicates that a plugin or mod is trying to change data in a way that conflicts with the server's main tick loop.
Common Causes
- Incompatible Plugins: Two or more plugins attempting to modify the same player data or entity list simultaneously.
- Outdated Software: Using a plugin version that is not compatible with your current server software version.
- Asynchronous Tasks: A plugin trying to modify server objects from an asynchronous thread instead of the main server thread.
How to fix it
On AwakeNode
- Use the File Manager: Navigate to your server's
pluginsfolder via the AwakeNode File Manager to identify recently added plugins. - Isolate the Cause: Remove or disable suspected plugins one by one. Restart your server after each change to see if the error persists in the console.
- Contact Support: If the error continues after removing plugins, open a ticket with our support team. We can review your crash logs and server environment to determine if a specific startup flag or configuration adjustment is required.
On other hosts / manually
- Check Logs: Access your
latest.logorcrash-reportsvia SFTP. Look for the stack trace immediately following theConcurrentModificationExceptionto identify which plugin or mod is triggering the conflict. - Update or Remove: Ensure all plugins and mods are updated to the latest stable release. If the error persists, remove the plugin identified in the stack trace.
- Adjust Startup Flags: If the error is caused by improper memory handling or threading issues, you may need to edit your startup command. Locate your server's startup script and ensure your
-Xmxand-Xmsflags are set correctly for your RAM allocation. If you are unsure how to configure these, consult your host's documentation.