When adding a deployment containing two processes with the same id, they will be deployed by the deployer to the db and both have the same version.
This behaviour breaks the engine at various places, because it assumes at various places in code when querying the db only a single result will be returned, but there will be two.
Solution: Adding db constraint on
ALTER TABLE ACT_RU_PROCDEF ADD CONSTRAINT single_procdef UNIQUE (KEY_,VERSION_)
This will prevent the engine from deploying the processes and only breaks the deployment, not the whole engine.