OK, good catch. But didn't we keep the package updates for the package/update stack closer together to avoid this kind of thing? I am aware that this only makes the risk smaller, it doesn't eliminate it. But having an update-the-update-stack step first and then update all the rest sounds a lot safer to me. Like in this case, with 361 packages to be upgraded and libzypp being somewhere in the middle of them (190/361), that leaves a lot of chances for some package to have some glitch, and it never gets to the point where libzypp would update itself, leaving a half-updated (=wrecked) update stack behind.