So it stops AFTER writing 2.8 GB of the output file?
How big is a completed file with 9 input runs? Then multiply by 29/9 to estimate the size of the desired file?
The result has been computed in memory, and the problem is converting it to the .niml.dset format and writing that to the output.
One possibility is that the output function is keeping track of bytes output into a 32 bit integer. Your number of bytes exceeds 2^31, so the output function will return a negative value to the caller. That is the flag for error. That is, you are getting the correct output file, but getting an incorrect error message.
If I am correct, then this is not a 3dREMLfit problem
per se, but rather a failure in the NIML library. Frankly, it never occurred to me 19 years ago -- when I created NIML -- that anyone would write a 2+ GB file. Lack of imagination, I guess. Stick a fork in me, I'm done.
I can change this bookkeeping, but have to look the code over to see if there are other obvious places where something like this could happen. I'll post back here when a new version with this fix is available -- later this week.