I didn't request anything. I suggested that you use the same blocking factor when creating your cpio archive on tape and when trying to read that cpio archive from tape.
You will also need to be sure that you are reading from the same position on the tape as the position where you wrote the tape. On some systems, the device name /dev/nst0 would specify that the tape was to be opened with no rewind.
Note also that since you used absolute pathnames when adding files to the archive, the directory in which you are sitting when restoring those files does not matter.
So, exactly what command did you use when you created your archive and exactly what command did you use when you tried to read files from your archive? And which command gave you the diagnostic? (And, please use CODE tags when displaying all of the above!)
My suspicion is that you are adding archives to the your tape (without rewinding the tape after you have written an archive) and then reading from an unwritten portion of the tape. But, without knowing what else has been done to that tape device between the cpio command that created the archive and the cpio command that is trying to read the archive, there is no way to know.
The error you are getting is one that I have never seen from cpio before. A read should not require memory allocation. Memory allocation for input buffers should have been done before trying to read anything.