Integrated Dynamics

Integrated Dynamics

63M Downloads

Stack Overflow Loop Crash

dannydjdk opened this issue ยท 3 comments

commented

Issue type:

Server crash occurred due to an apparent infinite loop causing a stack overflow error

  • ๐Ÿ› Bug

Short description:

Crash occurred while transferring fluid.

Expected behaviour:

No crash.

Actual behaviour:

Crash.

Steps to reproduce the problem:

Unfortunately, crash is intermittent and can not be reliably reproduced. If we can determine a reliable crash condition, I will add to this thread.


Versions:

  • This mod: 0.11.9
  • CyclopsCore: 0.11.5
  • Minecraft: 1.12.2
  • Forge: 14.23.2.2611

Log file:

Crash report:
https://pastebin.com/qZEFcbMF

commented

This seems really odd. Here's where this.children is used:

public void invalidate() {
this.valid = false;
this.children.forEach(PositionsIterator::invalidate);
}

That implies that something has either itself or one of its ancestors as its child. And here's the only place that anything is added to this.children:

PositionsIterator child = new PositionsIterator(this.collection);
this.children.add(child);

Note that the element being added to it is freshly constructed, so it can't possibly be itself or its ancestor.

commented

It's possible that this occurs when the server has been running for a long time. I.e., when the following has been called a lot of times:

But I'd have to look into it in more detail to be sure.

commented

Ah, so this is just the list becoming absurdly long, not actually infinite?