Crash Bug with suspected source, related to boolean variable delays
Vaevictusnet opened this issue ยท 12 comments
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.
do you want the one i have now, where it's showing the red X on the display? or a minimal full-crash version?
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.
That wasn't hard to reproduce the crash at this point.
- Remove the get card out of the X marked Display.
- Create a NOR card using the get card, NOR'd with itself.
- Place the NOR into the Display, crash.
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.
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
I think the Get is possibly problematic with booleans. I just accidentally crashed by trying to redstone write a delayed boolean value.
- create boolean value from reader.
- delay that
- write the delayed value via redstone writer.
- crash
Is Get the appropriate way to access older delayed signals?
Can't make sense of the stacktrace at the moment, I'll have to debug it in more detail.
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.