Oscillation errors

One situation where you will definitely notice the propagation algorithm is when you create a circuit that oscillates.

This circuit is currently in a stable condition. But if you change the input to 1, the circuit will effectively enter an infinite loop. After a while, Logisim will simply give up and show a message telling you that it believes that the circuit is oscillating.
It will display the values it has at the time it gives up. These values will look wrong - in this screen shot, the AND gate is emitting 1 although one of its inputs is 0, but it could be that the NOT gate has a 1 input and a 1 output.

When Logisim detects oscillation, it shuts down all further simulation. You can re-enable simulation using the Simulate menu's Simulation Enabled option.

Logisim can possibly report oscillation in circuits that do not actually oscillate, if a circuit happens to simply take a very long time to propagate to a final state. This will happen only in very large circuits, and as Logisim's author I believe the value is set high enough that this is very unlikely ever to occur. But if you run into problems with Logisim terminating propagation prematurely, I encourage you to contact me, and I will be happy to address the problem.

Next: Shortcomings.