2026-08-02 - 2026-11-02
Overview
14 Pull requests merged by 2 users
Merged
#94 Improve perf/codegen
Merged
#90 Replace test_fixup_256 with a regression test for the Node256 fixupMaxVersion false-Commit bug
Merged
#91 Make SHOW_MEMORY builds work: fix deferred node capacity assert and eraseTree use-after-free
Merged
#92 SkipList: don't lower oldestVersion in setOldestVersion
Merged
#93 Skip DEBUG_VERBOSE end print for point writes (uninitialized Result::endRemaining)
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
13 Issues closed from 2 users
Closed
#89 test_fixup_256 passes on the buggy fixupMaxVersion Node256 code: no test in the repo catches 4ef10b1's false-Commit bug
Closed
#88 SHOW_MEMORY builds crash on valid input: assert(!releaseDeferred) in getCapacity(), and heap-use-after-free in eraseTree/removeKey
Closed
#87 SkipList.cpp setOldestVersion violates its documented postcondition (Debug abort; Release reports Conflict instead of TooOld)
Closed
#86 DEBUG_VERBOSE interleavedWrites print reads uninitialized Result::endRemaining for point writes (uninitialised/invalid read, ASan heap-use-after-free)
Closed
#84 addWrites: signed integer overflow near INT64_MAX wipes the conflict set (reads that must Conflict return Commit)
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)
13 Issues created by 1 user
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)
Opened
#85 Enhance fuzz tests to cover Node256 better
Opened
#86 DEBUG_VERBOSE interleavedWrites print reads uninitialized Result::endRemaining for point writes (uninitialised/invalid read, ASan heap-use-after-free)
Opened
#87 SkipList.cpp setOldestVersion violates its documented postcondition (Debug abort; Release reports Conflict instead of TooOld)
Opened
#88 SHOW_MEMORY builds crash on valid input: assert(!releaseDeferred) in getCapacity(), and heap-use-after-free in eraseTree/removeKey
Opened
#89 test_fixup_256 passes on the buggy fixupMaxVersion Node256 code: no test in the repo catches 4ef10b1's false-Commit bug
5 Unresolved Conversations
Open
#19
Finish paper draft
Open
#28
Update paper to incorporate recent scan performance improvements
Open
#33
Enhance fuzz tests to allow for more varied call orderings
Open
#37
Test with type sanitizer in jenkins
Open
#38
arm64 + ASan: clang miscompiles preserve_none continuation chains (2,727 CI test failures)