You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Reading poses in parallel multithreaded may cause errors #177
Fixed in #239: the root cause was PoseHeaderCache being updated non-atomically — concurrent Pose.read calls on files with different headers could crash ("buffer is too small for requested array") or silently return a pose parsed with another file's header. All cache access now goes through a lock, and check_cache returns the header and end offset from the same critical section. The test this issue asked for exists as test_concurrent_read_of_different_files_is_safe (fails in under a second on the old code; an external repro went from 122 exceptions + 153 wrong headers to 0 across 4,800 concurrent reads).
Activity
AmitMY commentedon Jul 23, 2026
Fixed in #239: the root cause was
PoseHeaderCachebeing updated non-atomically — concurrentPose.readcalls on files with different headers could crash ("buffer is too small for requested array") or silently return a pose parsed with another file's header. All cache access now goes through a lock, andcheck_cachereturns the header and end offset from the same critical section. The test this issue asked for exists astest_concurrent_read_of_different_files_is_safe(fails in under a second on the old code; an external repro went from 122 exceptions + 153 wrong headers to 0 across 4,800 concurrent reads).