Integrated Dynamics

Integrated Dynamics

63M Downloads

Crash Bug with suspected source, related to boolean variable delays

Vaevictusnet opened this issue ยท 12 comments

commented

In working towards a hysteresis setup for controlling my diesel generators based on capacitor charge %, I was working towards implementing an RS Latch. I crashed about 5 times playing with this, in two different places according to the logs. I think what's going on is that something about running a get operation on the 2nd position in the delay history for a boolean variable. If i create a boolean, then a delay for that, and then a Get() for that delay, and throw it into a Display Panel, i get a checkmark, but a big red X on the screen.

Something is telling me that's the root of the problem.

My crashes were coming from when i was using this delay value as part of a logical calculation, specifically NOR. I'm suspecting it might be something like a Null getting tossed in there.

2017-07-24-4.log.gz
2017-07-24-1.log.gz

commented

do you want the one i have now, where it's showing the red X on the display? or a minimal full-crash version?

commented

Something that is as simple as possible for me to reproduce.

commented

ID Debug - 002 Red X.zip

I realize as I'm doing this that it's not a tiny modpack. This is Age of Engineering on curse/twitch. (current version 1.0.4)
If you've got a more simplistic modpack for testing, i could reproduce this there.

commented

That wasn't hard to reproduce the crash at this point.

  1. Remove the get card out of the X marked Display.
  2. Create a NOR card using the get card, NOR'd with itself.
  3. Place the NOR into the Display, crash.
commented

Okay, i built my own modpack with just: Integrated Dynamics, ExtraUtilities2 (for trash can), Immersive Engineering (for HV and creative caps), Ender IO for energy conduits, and The One Probe for viewing.

here's some crashes and a save
2017-07-24-4.log.gz
2017-07-24-1.log.gz
2017-07-24-2.log.gz
2017-07-24-3.log.gz
ID Debug.zip

i'll see if i can generate them with only ID next.

commented

Got it. Create new Twitch profile, add only Integrated Dynamics. load this save, move the NOR logic card into the display. Crash.
2017-07-24-1.log.gz
Solo ID Debug.zip

commented

I think the Get is possibly problematic with booleans. I just accidentally crashed by trying to redstone write a delayed boolean value.

  1. create boolean value from reader.
  2. delay that
  3. write the delayed value via redstone writer.
  4. crash

Is Get the appropriate way to access older delayed signals?

commented

Can't make sense of the stacktrace at the moment, I'll have to debug it in more detail.

commented

I'm happy to supply my crashing-on-world-load save file if you can't reproduce it. Alternatively, If i have time this afternoon, i'll build a proof-of-concept-creative bug reproduction.

commented

A minimal reproducable setup would be very nice, thanks :-)

commented

Get should be appropriate for handling delays.

Will look into it soon.

commented

I tried every case