Project Red - Illumination

Project Red - Illumination

37M Downloads

StackOverflowError while updating neighbors

Unh0lyTigg opened this issue ยท 9 comments

commented

Was working on a project, had lamps in a pyramid formation, put regular wires all along the inside of the pyramid, turn the wire on with a lever, and if I break the lever or if I simply turn the lever off, I get this error, with 4.5.14.66:
http://paste.ee/p/nmEZJ

Edit: turns out, the crash logs' stacktrace for breaking the lever is slightly different:
http://paste.ee/p/S2Itc

commented

I have the same problem, only in my case it only happens if I edit the world in MCEdit first and the lever is connected to a red alloy wire and IS IN THE SAME PLACE AS THERE HAS BEEN A LEVER BEFORE. So if I place a new lever in the world, this new one works, unless there has been a lever on that exact spot before. Crash logs are virtually identical. Also, red alloy wire/insulated wire/bundled cable stop updating, so even if you do use levers in locations where they haven't been before, all circuits are useless.

commented

Attempting to discover the issue.

commented

I would guess there is some sort of problem with the way the cables save their state in Project Red that MCEdit doesn't understand (it copies the cables just fine, but not their states, i.e. on or off). It also seems that the same state problem can occur without MCEdit, which is why I count this as at least partly a bug in Project Red (or at least a strange way of storing the on/off state of cables - since MCEdit can copy redstone just fine and retain its state)

commented

If this is an actual problem that arises when using the wires inside MC, then fine, I will look into it. However, if this issue arises only when using MCEdit, then the solution is simple. Don't use MCEdit. It is not meant to copy any type of FMP tile.

commented

I can confirm it happening on latest with a pyramid of lights with wires on all surfaces inside.

commented

Only happens with lamps. Using a pyramid of dirt doesn't cause the crash.

commented

MrTJP, I obviously wouldn't have posted here if I didn't find a post mentioning the same problem arising purely within Minecraft. However, as the problem also occurs without the use of MCEdit, it might help with the troubleshooting to know that it also happens with MCEdit.

commented

Fix complete. #765

commented

@MrTJP I think I've got an idea of what's causing it. Wires can normally connect to lamps, but when they're allowed to connect to more than one lamp at an inside corner (|_) it screws up the propagation system because it actually has 2 outputs on one side, not 1.