if read error, machine.halt()