One day of debugging gave more insight. Apport is not directly the culprit. If reading from stdin takes too long, the input will be truncated. Attached a patch for apport to write the coredump at the beginning and quit. It can be slowed down by sleeping between the 1 MB blocks. The longer the sleep, the smaller the files get. For my VM: sleeping for 0.001s truncates the file slightly to ~400 MB; sleeping 0.005s truncates it to 42 MB. I verified that /proc/<pid> is still there afterwards.
So I would say that the kernel team should have a look next.
One day of debugging gave more insight. Apport is not directly the culprit. If reading from stdin takes too long, the input will be truncated. Attached a patch for apport to write the coredump at the beginning and quit. It can be slowed down by sleeping between the 1 MB blocks. The longer the sleep, the smaller the files get. For my VM: sleeping for 0.001s truncates the file slightly to ~400 MB; sleeping 0.005s truncates it to 42 MB. I verified that /proc/<pid> is still there afterwards.
So I would say that the kernel team should have a look next.