Drathonix / LoadMyChunks

A server friendly chunk loading mod
MIT License
5 stars 0 forks source link

Another crash... #19

Closed vico93 closed 3 months ago

vico93 commented 4 months ago

Mod Version loadmychunks-1.0.5-hf2+1.21+fabric

What were you doing before the crash happened? Did a couple of CC:T turtles (equipped with a diamond pickaxe and a chunk loader) run a mining program in parallel. Suddently the dedicated server crashed

Provide Logs here: HERE

Drathonix commented 4 months ago

Issue has nothing to do with CC:T integ.

The chunk should never be null, its always provided to the CDM on chunk initialization.

@Inject(method = "<init>(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/level/ChunkPos;Lnet/minecraft/world/level/chunk/UpgradeData;Lnet/minecraft/world/ticks/LevelChunkTicks;Lnet/minecraft/world/ticks/LevelChunkTicks;J[Lnet/minecraft/world/level/chunk/LevelChunkSection;Lnet/minecraft/world/level/chunk/LevelChunk$PostLoadProcessor;Lnet/minecraft/world/level/levelgen/blending/BlendingData;)V",at = @At("RETURN"))
    public void setup(Level arg, ChunkPos arg2, UpgradeData arg3, LevelChunkTicks arg4, LevelChunkTicks arg5, long l, LevelChunkSection[] args, LevelChunk.PostLoadProcessor arg6, BlendingData arg7, CallbackInfo ci){
        if(level instanceof ServerLevel sl) {
            this.loadMyChunks$loadDataModule = ChunkDataManager.getOrCreateChunkData(sl,chunkPos);
            this.loadMyChunks$loadDataModule.assignChunk(this);
        }
    }

Likely a conflict with C^2ME. Seems like your computer gets these exceptions while mine doesn't, likely due to a difference in how multi-threading is handled. Solution is probably to eliminate the .assignChunk call altogether and just initialize the CDM with the ChunkPos (as that is the only thing I actually need from the chunk).

Will release patch in 1.0.6 for all versions soon.

Drathonix commented 4 months ago

Unfortunately I can't test this personally since its never showed up in any of my experiments with C^2ME. Regardless the solution I have will squash the problem. Please tell me if the update fixes the problem for you, and I'll close if that's the case.

vico93 commented 4 months ago

Okay, i will deactivate c2me at this moment, since the chunk loading is priority to me at the moment. Btw pingging @ishland again to let him know about it.

Unfortunately I can't test this personally since its never showed up in any of my experiments with C^2ME. Regardless the solution I have will squash the problem. Please tell me if the update fixes the problem for you, and I'll close if that's the case.

Do you have Discord? I can zip my whole profile (with all the mods) and send to you for more precise testing.

Drathonix commented 4 months ago

Okay, i will deactivate c2me at this moment, since the chunk loading is priority to me at the moment. Btw pingging @ishland again to let him know about it.

Unfortunately I can't test this personally since its never showed up in any of my experiments with C^2ME. Regardless the solution I have will squash the problem. Please tell me if the update fixes the problem for you, and I'll close if that's the case.

Do you have Discord? I can zip my whole profile (with all the mods) and send to you for more precise testing.

  1. You did not have to ping him. This is not a bug with C2ME. It is an incompatibility as a result of an LMC's lack of accounting for multithreading.
  2. As I said, I released 1.0.6-hf1 which should fix the incompatibility.
  3. I replicated your entire profile manually previously and did not encounter issues with C2ME. The issue is not a problem with any of the mods you have installed, its just a problem with how computers handle multithreading it can be different. You don't need to send me the profile, its a problem having to do with system differences rather than mod differences.

Update to 1.0.6-hf1, and inform me if it still causes issues with C2ME.

Drathonix commented 3 months ago

@vico93 Did the hotfix fix this?

vico93 commented 3 months ago

Did not get any crashes yet (except #22, of course)

Drathonix commented 3 months ago

Did not get any crashes yet (except #22, of course)

I'll assume this issue is fixed (especially given the buggy code no longer exists)

Closing.