NuclearCraft

NuclearCraft

31M Downloads

Server Crash w/ Minecolonies Building Upgrade

LightEco opened this issue · 23 comments

commented

I found a conflict when attempting to upgrade certain buildings in Minecolonies. The server crashes with a NuclearCraft radiation issue and they kicked it over here. Any ideas?

Crash Log - https://pastebin.com/Us5jD3R4

Running NC version "NuclearCraft-2.15-1.12.2"

Also this is part of the "All the Mods Remix" pack

commented

Please note, this was redirected from here: issue as this is a coremod that is causing the issue, not us directly

commented

@Asherslab This isn't a coremod, but nevertheless, I don't see why this is necessarily the fault of NC - why is the null pointer being thrown when trying to get the inventory of the colony building?

EDIT: Looks like it might be the null EnumFacing argument that's causing the problem - a simple exception catch should fix this :)

commented

What Minecolonies could do is just add a little something to handle null EnumFacing arguments, but the more general solution (to avoid problems like this with other mods that don't expect a null there) is to handle any exceptions on my side ;)

commented

@turbodiesel4598 Just to clarify, are you saying that it might be the null EnumFacing argument in NuclearCraft or Minecolonies that appears to be the problem?

If it needs to be fixed in Minecolonies then the issue on the Minecolonies issue tracker will need to be updated with this information. Im happy to do so if it is indeed Minecolonies that needs the fix.

commented

Fixed for the next build, which will be out shortly ;)

commented

Thanks mate!

commented

No prob!

commented

@Asherslab This isn't a coremod, but nevertheless, I don't see why this is necessarily the fault of NC - why is the null pointer being thrown when trying to get the inventory of the colony building?

EDIT: Looks like it might be the null EnumFacing argument that's causing the problem - a simple exception catch should fix this :)

you made it sound so easy :) but is there a way to do that for us mere mortals? it is happening on a lot of our building now :( even thou all rad reading are a 0/t

commented

ah, think he may have forgotten to fix this =P
Unless there's a new version, did you check?

commented

kinda I'am running 2.15 so the newest that ain't E-mode ( might have checked that wrong )

commented

@Asherslab Looks like this is still happening, even with a non-null side argument when trying to get the capability. I really don't think this should crash the game, as getting capabilities this way in general is a standard part of getting information from tile entities. There seems to be some unique structure to Minecolonies capability getting which is causing the problem, so I don't actually understand why the null-pointer is occurring.

commented

Thanks for looking into it. We've never seen this NPE before without NuclearCraft. However, if it's still happening we'll take a look on our side. thanks

commented

This might be something on our side @Raycoms illegally returned null on some requests of the IItemHandler capability in older versions, this was fixed in newer versions however.
That said we have a fast paste release cycle for ALPHA builds which contain this fix, we are currently testing if this is the case.
I would ask the OP @LightEco to provide us in this issue with the version number of Minecolonies that he is/was running, to determine if this is actually the cause and help us narrow down the failure cause.

commented

@OrionDevelopment The version of Minecolonies that is in the ATM3:Remix v1.3.0 is minecolonies-1.12.2-0.10.256-BETA-universal.

However a recent update came out for ATM3 Remix that has updated Minecolonies to minecolonies-1.12.2-0.10.291-ALPHA-universal. Unfortunately i haven't had a chance just yet to test this on ATM3:Remix v1.3.1. I will try to get this tested today and get back to you.

commented

I just tested with the following setup.

Fresh ATM3 Remix 1.3.1 pack which has:
NuclearCraft-2.17a-1.12.2
minecolonies-1.12.2-0.10.291-ALPHA-universal

Still crashing with the following crash-log https://hastebin.com/wonisiyese.rb

Steps i followed to reproduce the crash

  1. Create a new world with cheats enabled
  2. Spawn in, change to creative and teleport away from the spawn area (2500, 100, 2500 used in this case)
  3. Spawn in a Town Hall and Building Tool from MineColonies
  4. Right click with the Building Tool to bring up the building selection
  5. Change the building level to 5
  6. Change the building style to Medieval Oak
  7. Click the Paste button to spawn the building in

The client will then freeze and the crash log i linked above is generated.

If you follow these steps but instead of a Medieval Oak building you use the Acacia level 5 town hall the crash does not occur. I haven't gone through all of the building types because the ATM3 client takes way too long to start up. I have tested a few and most of the Medieval styles will crash.

This issue originally occurred on my server when an NPC builder was upgrading a Medieval Oak Town Hall from level 3 to 4 ( or possibly 4 to 5, not exactly sure).

commented

Okey looks like something is broken then.
Will need to check what is up.

commented

@Raycoms ping.

commented

I checked through the crash log, and I believe strongly that this crash is not on our side (still).

What is crashing is when we add the inventory in the set of inventories.
This then crashes in SidedInvWrapper in the hashSet calculation.

image

Because the side is null. We don't use SidedInvWrapper, is it possible that your mod creates a sidedInvWrapper somewhere with a null side?

commented

I'll check again, I may have missed something when I rushed the last build out - sorry I haven't been able to for a while, just had some exams to do, but nearly there :)

commented

@Raycoms Found the mistake on my side, soz for not spotting it earlier :P Will get the build out soon ;)

commented

@turbodiesel4598 could you post the version number here. That way we CArelay that information to our users thanks.

commented

The next version will be 2.17b ;)

commented