ModsFinder

CME is Bad

by Viola-Siemens

CME is Bad is a debugging library that logs Concurrent Modification Exceptions and Index Out Bounds Exceptions in Minecraft mods as they happen.

FabricForgeNeoForgeJava AgentClient or server, optionalGNU Affero General Public License v3.0 or laterOpen sourcerd-132211 – 26.2

What it does

Players and mod developers install the mod to find the source of Concurrent Modification Exceptions and Index Out Bounds Exceptions. Its log output shows which container and class are involved, so a crash can be traced to the code that caused it. The mod is published for Fabric, Forge, NeoForge and Java Agent, and works on client or server, which makes it optional on both sides.

Full logging requires a Java Virtual Machine argument added to the launcher, pointing to the CME Suck Duck jar with the javaagent option. Without that argument the mod reports less. The author states that the mod keeps working with the latest Minecraft versions, and that older versions such as 1.12.2 need an ASM API version setting, given as a -Dcme suck duck.asm api version property, before the agent can modify code.

CME is Bad is open source under the GNU Affero General Public License v3.0 or later. Files cover rd-132211 – 26.2, with the latest release, 1.2.0, built for 26.2 on 2026-08-07. Snapshot builds are also published.

Key features

  1. Exception logging

    Records Concurrent Modification Exceptions and Index Out Bounds Exceptions with the container and class that triggered them.

  2. Java agent instrumentation

    Adds a javaagent JVM argument to the launcher so the mod can watch collection operations inside the running game.

  3. Debug message control

    A setting of 1 logs debug messages and 0 suppresses them, which the author recommends for normal play.

  4. Container whitelist

    Players can list the classes to monitor for a container, so that frequently shared classes do not flood the log.

Compatibility

Latest build for each game version and loader.

26.x4 of 4 versions with builds
26.21.2.01.2.01.2.01.2.0
26.1.21.2.01.2.01.2.01.2.0
26.1.11.2.01.2.01.2.01.2.0
26.11.2.01.2.01.2.01.2.0
1.21.x12 of 12 versions with builds
1.21.111.2.01.2.01.2.01.2.0
1.21.101.2.01.2.01.2.01.2.0
1.21.91.2.01.2.01.2.01.2.0
1.21.81.2.01.2.01.2.01.2.0
1.21.71.2.01.2.01.2.01.2.0
1.21.61.2.01.2.01.2.01.2.0
1.21.51.2.01.2.01.2.01.2.0
1.21.41.2.01.2.01.2.01.2.0
1.21.31.2.01.2.01.2.01.2.0
1.21.21.2.01.2.01.2.01.2.0
1.21.11.2.01.2.01.2.01.2.0
1.211.2.01.2.01.2.01.2.0
1.20.x7 of 7 versions with builds
1.19.x5 of 5 versions with builds
1.18.x3 of 3 versions with builds
1.17.x2 of 2 versions with builds
1.16.x6 of 6 versions with builds
1.15.x3 of 3 versions with builds
1.14.x5 of 5 versions with builds
1.13.x1 of 1 version with builds
ReleaseBetaAlphaNot available

This mod also publishes snapshot builds. Snapshots are not shown in the matrix.

54 older game versions (1.0 – 1.13.1) not shown. All files on Modrinth

Use cases

Tracing a crash in a mod

A developer who sees a concurrent modification crash can enable the agent and read which container the exception came from.

Checking SoundEngine behavior

The author read the SoundEngine source code to confirm a container issue, and the mod logs the same kind of access for similar checks.

Who it’s for: Mod developers and players who run modded clients or servers and need to diagnose collection errors. Players who only play without debugging do not need it.

Questions

Does CME is Bad have to be installed on both sides?

No. It works on either side, and neither the client nor the server needs it.

How is full logging enabled?

Add the -javaagent argument pointing to the CME Suck Duck jar to the launcher JVM arguments. Without it, the mod logs less.

Why does the mod need an ASM API setting on older versions?

On versions such as 1.12.2, the ASM API version must be set with the -Dcme suck duck.asm api version property, for example to 5, before the agent can modify code.

In the catalog

CME is Bad is one of 3,514 Library mods on ModsFinder, and one of 2,348 Library mods for Fabric. 13,894 mods support Minecraft 26.2.

More from Viola-Siemens

All projects

Similar mods

What the author says

Second, edit your Java Virtual Machine Argument in your launcher. Add -javaagent:mods/CMESuckMyDuck-.jar=;;;. Finally, run the game, play and wait until the crash happens.
Viola-Siemens, on the Modrinth page

Official listing

Owner
Viola-Siemens
Published
2024-12-16
Updated on Modrinth
2026-08-07
Facts verified
2026-10-15

Tags