It seems a very old bug suddenly surfaced.
The linux pkg install logic is reading the contents of the archive into memory and passing it down to the stdin for the cpio command. I used the singe write call to copy the buffer to the stdin without checking if all bytes are actually written. It seems pure luck that this worked until now. It seems that in recent versions of Unity some packages got so big that a single call to write wasn't writing all the bytes into the memory location.
I replaced the logic with a filestream copy instead. Something I should have done to begin with ...
Description
It seems a very old bug suddenly surfaced. The linux pkg install logic is reading the contents of the archive into memory and passing it down to the stdin for the
cpio
command. I used the singewrite
call to copy thebuffer
to thestdin
without checking if all bytes are actually written. It seems pure luck that this worked until now. It seems that in recent versions of Unity some packages got so big that a single call towrite
wasn't writing all the bytes into the memory location.I replaced the logic with a filestream copy instead. Something I should have done to begin with ...