Mojira Archive
MC-8328

Powered mechanisms react when receiving a 0 tick redstone signal (existence of micro-pulses in general / inconsistent block update 'algorithm')

When a piston receives a 0 tick redstone signal it pulses instead of staying in the current state. Before 1.3.1 pistons would turn into derp pistons but now they pulse which is equally annoying. It destroys piston based logic (most importantly instant logic).
It is pretty easy to recreate this bug: Just connect a input with a 1 tick delay (repeater) and the inverted input (1 redstone torch = 1 tick delay) to a piston and switch the state of the input.

Update 1.5.1:
For pistons this bug is still not completely fixed because when receiving a 0 tick redstone signal from other pistons (e.g. in instant logic) a piston will still pulse sometimes depending on how the redstone gets updated.

Edit, 16-MAR-2016: It would be really nice if 0-tick/micro pulses (or as Dico has correctly said years ago, non-existing pulses in Minecraft terms) would finally be patched out of the game and if the game was able to handle actual simultaneity. So a proper/intelligent block update algorithm with a consistently synced quantized timeline instead of random Java hashsets and micro time-intervals, which would allow multiple blocks (that interact with eachother) to be updated all in the same gametick into their correct new stages (instead of purely successive block updates which leads to wrong/unintended behaviour).
To replicate it, OR the input of an instant NOT gate (http://youtu.be/vCsJWc7PcT0) and it's output together and attach it to another piston. Toggle the input and the piston will pulse even though it shouldn't. It usually only happens on the falling edge (lever going from on to off) because the block that gets pulled by the piston (and by that allows a new connection to a powersource) gets updated after the line of redstone that is directly connect to the lever, which leads to a combined output that pulses for a split second. It does not affect all positions/placements because of the location dependent nature of block updates in Minecraft.
With the use of instant ALUs, we could build 5Hz CPUs (maybe with small games running on it) and other very cool things but this completely illogical bug doesn't seem to get the attention it needs.

I suggest a server command / gamerule to switch between the current (unintended) behaviour and the fixed/intended behaviour so that contraptions of people using microticks can remain working.
More info in the last few comments.