On parallell merges current ~amd64 version of portage (2.2.18 and 2.2.17 tested) will remove packages from the world file if another merge finishes later. (This does not happen with 2.2.14 and 2.2.15)
* Start two emerge processes with not yet installed packages (preferrably with no dependencies) at the same time.
* Whichever merge will finish first will add its package to the world file as expected.
* Whichever merge finishes second will then add its package to the world and *remove* the other package.
I assume what's happening is that an emerge process already opens the world file on startup and saves its state modified from that starting point. That leads to the situation where packages are removed from the world file when they have been merged while another emerge process was running.
There's a patch in the following branch:
I've posted it for review here:
This is in the master branch now:
*** Bug 547972 has been marked as a duplicate of this bug. ***
Released in portage-2.2.19