on ST, if a single execution exceeds 20seconds, they terminate it.
There is no such built into HE, so webCoRE had to create it to avoid run-away / infinite loop pistons causing you problems.
Typically if you look at logs, one of several things may be happening:
- The piston is in an infinite loop
- The piston is doing short waits (1 second or less), and thus does not go to sleep (so another form of infinite loop; ie you never release the processor)
So would need to see your piston.
It is possible to adjust item 2 (ie on short sleeps, have webcore release the cpu vs. hold it) via a small source change you can make.