error: output: fwrite returns fewer bytes than expected for given orbit
The error observed below happens infrequently and seemingly always at the last orbit of a lumisection:
Status: Investigating
Version: https://gitlab.cern.ch/scouting-demonstrator/scdaq/-/tags/v2.1.1
Offending code snippet: Write() in OutputFile.h:203.
int Write(const char*& buffer, size_t size_bytes, uint32_t size_orbits) override {
size_t ret = fwrite(buffer, 1, size_bytes, std::get<HandleType>(handle_));
if (ret != size_bytes) {...}
Possible causes:
- EBADF: Bad file descriptor (likely if handle was closed before writing the last orbit of the lumisection)
- EDQUOT: Disk quota exceeded (there are no assigned quotas per user)
- ENOMEM: Cannot allocate memory (buffers?)
- ENOSPC: No space left on device (unlikely as monitoring indicated no such issue on the ramdisk)
- EIO: Input/output error
- EFBIG: File too large (FS seems configured to allow for unlimited file sizes)