MineColonies

MineColonies

53M Downloads

[MC1.12.2] Request System caused a Stack Overflow, Crashing the Server

Ragnarok96 opened this issue · 15 comments

commented

Minecolonies version

Minecraft 1.12.2, Minecolonies Alpha Build 8242

Expected behavior

  • ???

Actual behaviour

  • ???

Steps to reproduce the problem

Long story short, the server crashed with a stack overflow error, relating to the request system in some way. That's about as much as I can tell.

I have attached the latest.log, debug.log and the crash report from the server.

Hope this helps, any questions feel free to leave a comment.

crash-2018-05-28_07.58.07-server.txt
latest.log
debug.log

commented

I deleted all of the builder's taught recipes and seems to be OK for now, will report back if any more crashes happen or if I discover anything else I think is relevant

commented

@Ragnarok96 There is a protection against recipes that form a Loop build in. However this protection is only limited. Wíth the 3x3 crafting upgrade I will be expanding this protection to protect you against this Crash much better. However to make a Long Story short do NOT make recipes that create a Loop.

commented

He had

  • birch log -> birch plank
  • birch plank -> stick
  • stick + coal -> torch
  • andesite -> polished andesite
  • diorite -> polished diorite
  • granite -> polished granite

Not sure how that would create a loop, since theres no taught recipe to go backwards through any of those steps?

commented

No idea, but that is what happened.

commented

Alright, at least I know for certain that is the issue, I'll try to work around it for now and if I encounter any specific thing that seems to 100% reproduce a crash I'll pass it on as I am not sure exactly what recipe caused that to happen but at least now know the cause, so I guess this is "kind of" solved. Thanks for the replies 👍

commented

Happened oncemore, I understand it may take a while to figure out exactly what is going on here but any ideas of any sort of possible/potential workaround like i.e. dont use x feature would be great. I assume the builder may be involved somehow as he was standing around doing nothing by the building he was suppost to be building, then suddenly poof, all gone.

crash-2018-05-28_08.42.53-server.txt
debug.log
latest.log

commented

@OrionDevelopment

Definitely to do with diorite (likely other polished blocks as well), been fine for hours, then same crash, gone to builder hut and hes standing there with the block to indicate hes trying to placing it (polished diorite). I deleted all of his recipes now and going to keep it that way as it seems this issue could occur with any block.

You can see here, the block in his hand as it is what he wanted to place as well as a spam of repeating crafts, from diorite delivered by the warehouse, which would indeed point to a loop as you suggested.

2018-05-28_17 16 09

2018-05-28_17 16 05

2018-05-28_17 17 23

commented

Wait this is the oredictionary doing. Damn. Polished Diorite and Diorite are the same item in the oredictionary
See if this still happens when you disable the oredictionary support for hte recipe

commented

How do I do that? is there a minecolony specific button like filters for some machines have the option to ignore oredict/not use subs -- all I see in terms of recipes on the builder hut is to add or remove them without any additional options

commented

Is there a toggle when you add the recipe?

commented

I just asked @Raycoms what could cause this. Cause the RS just asks the Building, hey can you craft this. The real question is why the Building then tells the RS yeah i can make Diorite in the form of Polished Diorite

commented

it was suppose to make polished diorite out of regular, which is what is listed but it seems to put the craft order in repeatedly and for 3? diorite to make the polished which doesn't even match the recipe. Not sure what's going on here but if you need me to do any testing or to try anything lemme know.

It usually has polished diorite * x
diorite * x delivery from warehouse

but sometimes it seems to deviate, I assume something to do with oredic, as you mentioned as I'm no expert.

May just be a conflict where diorite use to be added by chisel and is now vanilla, where it has different ore dic entries as well like some diorite is marked as only stoneDiorite and some is marked as both stoneDiorite and stoneDioritePolished, due to vanilla and chisel both adding entries.

Edit: I've resorted to just storing regular and polished myself manually crafted in the warehouse but I'd be happy to try and help pin this one down any which way I can.

commented

@Ragnarok96 Raycoms pushed some RS improvements/fixes couple of days ago. can you test this issue with latest alpha? don't forget to backup and/or use another instance if you can, of course. thanks.

edit: i just tested builder with crafting polished diorite from diorite and it worked in singleplayer-creative.

commented

Should be fixed