openat(AT_FDCWD, "/worker/build/120646/root/_tmp/4464e3f0fe79ed08c06736b5dcca7332/aos/aos/aos.timing.Report.v6", O_RDWR|O_CREAT|O_EXCL, 0770) = -1 EEXIST (File exists)
gettid() = 3700
write(2, "I20240507 06:59:55.336262 3700 "..., 170I20240507 06:59:55.336262 3700 memory_mapped_queue.cc:101] /worker/build/120646/root/_tmp/4464e3f0fe79ed08c06736b5dcca7332/aos/aos/aos.timing.Report.v6 already created.
) = 170
openat(AT_FDCWD, "/worker/build/120646/root/_tmp/4464e3f0fe79ed08c06736b5dcca7332/aos/aos/aos.timing.Report.v6", O_RDWR) = 16
newfstatat(16, "", {st_mode=S_IFREG|0777, st_size=627680, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 627680, PROT_READ|PROT_WRITE, MAP_SHARED, 16, 0) = 0x7fb132985000
mmap(NULL, 627680, PROT_READ, MAP_SHARED, 16, 0) = 0x7fb1328eb000
close(16) = -1 EIO (Input/output error)
I'll keep debugging, but any advice on where to start looking would be wonderful. I can work on creating a smaller reproducer if that would be helpful.
I've got a unit test (https://github.com/frc971/971-Robot-Code/blob/master/aos/starter/subprocess_reliable_test.cc in
SubprocessTest.CanSlowlyStopGracefully) which works locally, but fails on buildbarn with the runner setup to use fuse on Linux (Debian Bookworm). When run understrace, it reports thatclose()fails when it never fails when run underlinux_sandbox.Adding the
write(LOG(INFO)) reduces the probability of failure.I'll keep debugging, but any advice on where to start looking would be wonderful. I can work on creating a smaller reproducer if that would be helpful.