Skip to content

ConcurrentModificationException during tree generation when using C2ME and Atmospheric/Upgrade Aquatic #307

@lgbtaye777

Description

@lgbtaye777
# `ConcurrentModificationException` in `BlueprintTreeFeature` during world generation (e.g., with Upgrade Aquatic, Atmospheric)

## Description

I’m encountering consistent crashes during world generation with Blueprint (v7.1.3), particularly when used alongside **Upgrade Aquatic** and **Atmospheric**. The crashes are caused by a `ConcurrentModificationException` inside `BlueprintTreeFeature`, triggered during feature placements like `upgrade_aquatic:river_tree` and `atmospheric:trees_rainforest_basin`.

Notably, **the crash still occurs even when C2ME is completely disabled**, suggesting the issue is not exclusive to multithreaded worldgen but a more general lack of thread-safety (possibly due to parallel operations initiated by other mods or even single-threaded access violations).

## Environment

- Minecraft: 1.20.1
- Blueprint: 7.1.3
- Upgrade Aquatic: [insert version if known]
- Atmospheric: [insert version if known]
- C2ME: Tested both enabled and fully disabled — crash occurs in both cases
- Sinytra Connector: Present

## Crash Snippet

```java
java.util.ConcurrentModificationException
    at java.util.HashMap$HashIterator.nextNode(HashMap.java:1597)
    at com.teamabnormals.blueprint.common.levelgen.feature.BlueprintTreeFeature.m_142674_(BlueprintTreeFeature.java:62)
    at net.minecraft.world.level.levelgen.feature.ConfiguredFeature.m_224953_(ConfiguredFeature.java:537)

This occurred during placement of:

  • upgrade_aquatic:river_tree
  • atmospheric:trees_rainforest_basin

Steps to Reproduce

  1. Use Blueprint with Upgrade Aquatic or Atmospheric.
  2. Generate or explore world (regardless of C2ME usage).
  3. Crash occurs during chunk generation when certain tree features are placed.

Notes

  • The issue is not exclusively caused by C2ME.
  • The crash appears to be due to unsafe modification of collections during iteration in BlueprintTreeFeature.
  • Consider implementing synchronized access or safer iteration to support a broader range of setups and maintain stability.

Thank You

Thank you for your great work on Blueprint — it's a crucial tool in the modding ecosystem. Let me know if you'd like full logs or a test pack to reproduce the issue.






Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions