2026-03-18 - 2026-09-18
Overview
20 Pull requests merged by 2 users
Merged
#83 Fix broken endInsertionPoint forwarding chain resolution in DEBUG_VERBOSE print
Merged
#81 Fix NEON type mismatch in conflictMask16 for gcc/aarch64 + USE_64_BIT=1
Merged
#79 Fix hash_table setOldestVersion infinite loop on empty map
Merged
#77 Replace SIMD assembly with initialized Node16::index + valgrind client request
Merged
#76 Move aarch64 Node16 SIMD index loads into assembly
Merged
#74 ci: run MSan on arm64
Merged
#75 Fix ARM NEON scan helpers truncating 64-bit versions
Merged
#72 Correct rationale in simd_x86_64.S comment
Merged
#70 Run valgrind in arm64 release in CI
Merged
#65 Fix null pointers passed to memcmp/memcpy in skip_list
Merged
#63 Return 0 instead of -1 from hash_table getBytes()
Merged
#61 Fix RealDataBench subspan and version API contract violations
Merged
#60 Fix undefined behavior on empty input in strinc() and prefixRange()
Merged
#43 Keep Python wrapper key buffers alive in WriteRange/ReadRange
Merged
#51 Disallow copying ConflictSet in C++98/C++03
Merged
#44 Include <sys/syscall.h> in ServerBench.cpp for SYS_perf_event_open
Merged
#50 Assert return values in test_update_zero_should_commit / conflict
Merged
#52 Fix CMake Unix Makefiles parallel build race for conflict-set.o
Merged
#55 Fix move-assignment leak and self-assignment in ConflictSet
Merged
#53 Set restype=None for void-returning C functions
24 Issues closed from 2 users
Closed
#82 interleavedWrites DEBUG_VERBOSE print resolves endInsertionPoint's forwarding chain against the wrong variable (SEGV)
Closed
#80 aarch64 + USE_64_BIT=1 fails to compile with gcc: NEON type mismatch in conflictMask16 (uint64x2_t -> int64x2_t)
Closed
#78 hash_table: setOldestVersion infinite-loops when GC erases all extant entries
Closed
#68 aarch64 Node16 SIMD helpers load uninitialized child slots
Closed
#73 Run MSAN in CI for arm
Closed
#69 ARM NEON scan helpers truncate 64-bit versions when USE_64_BIT=1, producing false conflicts
Closed
#71 We write it in assembly because it's not UB in assembly. Not because MSAN doesn't track it.
Closed
#39 arm64: valgrind false positives in checkMaxBetweenExclusiveImpl with clang 21+ (csel definedness pessimization)
Closed
#66 Add a memory sanitizer build to CI
Closed
#64 skip_list: addWrites passes null pointers to memcmp (undefined behavior) on every call
Closed
#62 hash_table implementation returns -1 from getBytes(), violating the API contract
Closed
#58 RealDataBench.cpp reads past line bounds and passes invalid versions
Closed
#59 strinc() and prefixRange() invoke undefined behavior on empty input
Closed
#56 Invalid WriteRange inputs (inverted begin/end or negative lengths) crash instead of being rejected
Closed
#57 Test connectivity
Closed
#45 Fix CI for PRs from forks
Closed
#42 Python wrapper holds dangling pointers when key buffers go out of scope
Closed
#48 ConflictSet is implicitly copyable in C++98/C++03, causing double-free
Closed
#41 ServerBench.cpp fails to compile when SYS_perf_event_open is not transitively visible
Closed
#49 test_update_zero_should_commit / test_update_zero_should_conflict omit result assertions
Closed
#47 CMake Unix Makefiles generator has a parallel build race for conflict-set.o
Closed
#54 Move-assignment operator leaks the old ConflictSet::impl and mishandles self-assignment
Closed
#46 Python wrapper declares void-returning C functions with default c_int restype
Closed
#40 test
26 Issues created by 2 users
Opened
#38 arm64 + ASan: clang miscompiles preserve_none continuation chains (2,727 CI test failures)
Opened
#39 arm64: valgrind false positives in checkMaxBetweenExclusiveImpl with clang 21+ (csel definedness pessimization)
Opened
#40 test
Opened
#41 ServerBench.cpp fails to compile when SYS_perf_event_open is not transitively visible
Opened
#42 Python wrapper holds dangling pointers when key buffers go out of scope
Opened
#45 Fix CI for PRs from forks
Opened
#46 Python wrapper declares void-returning C functions with default c_int restype
Opened
#47 CMake Unix Makefiles generator has a parallel build race for conflict-set.o
Opened
#48 ConflictSet is implicitly copyable in C++98/C++03, causing double-free
Opened
#49 test_update_zero_should_commit / test_update_zero_should_conflict omit result assertions
Opened
#54 Move-assignment operator leaks the old ConflictSet::impl and mishandles self-assignment
Opened
#56 Invalid WriteRange inputs (inverted begin/end or negative lengths) crash instead of being rejected
Opened
#57 Test connectivity
Opened
#58 RealDataBench.cpp reads past line bounds and passes invalid versions
Opened
#59 strinc() and prefixRange() invoke undefined behavior on empty input
Opened
#62 hash_table implementation returns -1 from getBytes(), violating the API contract
Opened
#64 skip_list: addWrites passes null pointers to memcmp (undefined behavior) on every call
Opened
#66 Add a memory sanitizer build to CI
Opened
#68 aarch64 Node16 SIMD helpers load uninitialized child slots
Opened
#69 ARM NEON scan helpers truncate 64-bit versions when USE_64_BIT=1, producing false conflicts
Opened
#71 We write it in assembly because it's not UB in assembly. Not because MSAN doesn't track it.
Opened
#73 Run MSAN in CI for arm
Opened
#78 hash_table: setOldestVersion infinite-loops when GC erases all extant entries
Opened
#80 aarch64 + USE_64_BIT=1 fails to compile with gcc: NEON type mismatch in conflictMask16 (uint64x2_t -> int64x2_t)
Opened
#82 interleavedWrites DEBUG_VERBOSE print resolves endInsertionPoint's forwarding chain against the wrong variable (SEGV)
Opened
#84 addWrites: signed integer overflow near INT64_MAX wipes the conflict set (reads that must Conflict return Commit)
1 Unresolved Conversation
Open
#37
Test with type sanitizer in jenkins