Distributed Systems 5ed by Coulouris says on p68
2.4.2 Failure Models
Omission Failures ...
Arbitrary Failures The term arbitrary or Byzantine failure is used to describe the worst possible failure semantics, in which any type of error may occur. For example, a process may set wrong values in its data items, or it may return a wrong value in response to an invocation.
Timing Failures ...
Are arbitrary/Byzantine failures arbitrary? (Sounds yes to me.)
Do arbitrary/Byzantine failures include omission failures and timing failures? (I guess not. Otherwise, why does it describe omission failures and timing failures separately?)
The book on p660 says
15.5.1 System model and problem definitions
Our system model includes a collection of processes communicating by message passing. An important requirement that applies in many practical situa- tions is for consensus to be reached even in the presence of faults. We assume, as before, that communication is reliable but that processes may fail. In this section we consider Byzantine (arbitrary) process failures, as well as crash failures.
Does the above quote imply that crash failures (a kind of process omission failures, as the book said in Section 2.4.2) are not Byzantine (arbitrary) process failures?
Thanks.