Detonation happens, and there's more than one reason why. ignition timing will do it. When spark timing is advanced too much, combustion chamber pressures can rise too high at the wrong time, ...