Syscall + libfabric bug on buffer reuse
-
Using syscall intercept in their SOD2D+MultiVDB pipeline causes To Do% deadlocks
-
The error is "decompress_and_parse_entries_standard() Unexpected end of buffer while parsing name"
-
The issue doesn't occur with FUSE
-
A suggested cause is libfabric's MR cache returning reused pointers in forward_get_dirents()
-
Setting FI_MR_CACHE_MAX_COUNT=0 fixes the issue
Solved using a thread_local buffer