CME is Bad
CME is Bad is a debugging library that logs Concurrent Modification Exceptions and Index Out Bounds Exceptions in Minecraft mods as they happen.
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
Exception logging
Records Concurrent Modification Exceptions and Index Out Bounds Exceptions with the container and class that triggered them.
Java agent instrumentation
Adds a javaagent JVM argument to the launcher so the mod can watch collection operations inside the running game.
Debug message control
A setting of 1 logs debug messages and 0 suppresses them, which the author recommends for normal play.
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
1.21.x12 of 12 versions with builds
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
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?
How is full logging enabled?
Why does the mod need an ASM API setting on older versions?
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
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.
Official listing
- Modrinth page
- modrinth.com/mod/cme-is-bad
- Owner
- Viola-Siemens
- Published
- 2024-12-16
- Updated on Modrinth
- 2026-08-07
- Facts verified
- 2026-10-15
