The VAX architecture had a simple exception model with traps and faults, but the kernel had to skip the instruction in case of a fault to prevent a signal loop, which was not possible due to the hardware design. A fix was implemented in 2002 to add a skip_opcode function to compute the address of the next opcode, effectively skipping the offending instruction, and it was later carried over to OpenBSD.