- Jul 01, 2021
-
-
Igor Chorążewicz authored
p_ext_0_none fails with: "runtime error: shift exponent 127 is too large for 32-bit type 'int'" concurrent_hash_map_layout_0_none fails with: "runtime error: reference binding to null pointer of type ..."
-
Igor Chorążewicz authored
Cast to unsigned was in wrong place. We casted result of assignemnt which already overflowed which resulted in the follwowing error in multiple radix tests under UBSAN: "runtime error: signed integer overflow: 5 + 2147483647 cannot be represented in type 'int'"
-
Igor Chorążewicz authored
Previously it was default-initialized to nullptr in copy ctor from non-const iterator which resulted in the following error for multiple radix tests under UBSAN: "runtime error: member call on null pointer of type ..."
-
Igor Chorążewicz authored
Original implementation resulted in the following error in multiple radix tests under UBSAN: "runtime error: reference binding to misaligned address 0x7fc4f7bc08dc for type 'const double', which requires 8 byte alignment"
-
Łukasz Stolarczuk authored
Radix tree concurrent fix
-
- Jun 28, 2021
-
-
Igor Chorążewicz authored
mpsc_queue: improvements needed by multi-tier engine
-
Igor Chorążewicz authored
-
Igor Chorążewicz authored
in radix_tree_iterator::operator++/-- <-> internal_bound. The recursion caused stack overflow errors, e.g. : https://github.com/pmem/libpmemobj-cpp/issues/1091
-
- Jun 25, 2021
-
-
Łukasz Stolarczuk authored
Fix Clang detection
-
Łukasz Stolarczuk authored
CI: add new workflow with more jobs
-
michalbiesek authored
- use CMAKE_CXX_COMPILER_VERSION/CMAKE_C[XX]_COMPILER_ID for setting compiler conditions - fixes #1090
-
Łukasz Stolarczuk authored
by renaming 'other_OSes.yml' to 'nigthly.yml' and reordering some jobs.
-
Łukasz Stolarczuk authored
executing USAN, UBSAN and valgrind tests using upstream valgrind's package.
-
Igor Chorążewicz authored
-
- Jun 24, 2021
-
-
Łukasz Stolarczuk authored
vector: Fix undefined behaviour on realloc
-
Igor Chorążewicz authored
in try_consume_batch. In case producers constantly produce new data, try_consume_batch will be called over and over again leading to stack overflow.
-
Łukasz Stolarczuk authored
Mpsc queue fix
-
Lucas A. M. Magalhaes authored
On tests listed bellow the reserve method is being called before any allocation on the object therefore realloc being called without any previous allocation. Inside realloc _data is being used with the operator '[]', as it is nullptr at that moment it's an undefined behaviour. This patch simply returns a call to alloc if _data is nullptr. This tests fails on PowerPC with Segmentation Fault because of this issue: segment_vector_array_expsize_assign_exceptions_oom_0_none segment_vector_array_expsize_assign_exceptions_oom_0_memcheck segment_vector_array_expsize_capacity_exceptions_oom_0_none segment_vector_array_expsize_capacity_exceptions_oom_0_memcheck segment_vector_array_expsize_modifiers_exceptions_oom_0_none segment_vector_array_expsize_modifiers_exceptions_oom_0_memcheck segment_vector_vector_expsize_assign_exceptions_oom_0_none segment_vector_vector_expsize_assign_exceptions_oom_0_memcheck segment_vector_vector_expsize_capacity_exceptions_oom_0_none segment_vector_vector_expsize_capacity_exceptions_oom_0_memcheck segment_vector_vector_expsize_modifiers_exceptions_oom_0_none segment_vector_vector_expsize_modifiers_exceptions_oom_0_memcheck segment_vector_vector_fixedsize_assign_exceptions_oom_0_none segment_vector_vector_fixedsize_assign_exceptions_oom_0_memcheck Signed-off-by:Lucas A. M. Magalhães <lamm@linux.ibm.com>
-
Igor Chorążewicz authored
PMREORDER maker was not ended correctly
-
Igor Chorążewicz authored
Change `produce_size` type to avoid sign-compare error
-
Igor Chorążewicz authored
-
Igor Chorążewicz authored
-
- Jun 23, 2021
-
-
Łukasz Stolarczuk authored
mpsc_queue: extend queue to support arbitrary sized values
-
Igor Chorążewicz authored
It needs to be further debugged
-
Igor Chorążewicz authored
- rename try_consume to try_consume_batch - rename read_accessor to batch_type - clear cachelines only after user callback executes: this allows iterating over the data arbitrary number of times (including 0) - call user callback within a transaction to simplify logic
-
Igor Chorążewicz authored
-
Igor Chorążewicz authored
-
Igor Chorążewicz authored
-
Igor Chorążewicz authored
- remove recover() method (try_consume can now be used) - store written offset on pmem so that we can recover consumer/producer offsets on restart - call user callback twice in try_consume if wraparound happens
-
- Jun 21, 2021
-
-
Igor Chorążewicz authored
And remove size parameter from mpsc_queue ctor - rely on pmem_log_type size.
-
Igor Chorążewicz authored
-
Igor Chorążewicz authored
Fix windows CI build
-
- Jun 18, 2021
-
-
Łukasz Stolarczuk authored
we want to enable builds, but current queue implementation is problematic on Windows - it will be fixed along other queue changes.
-
Igor Chorążewicz authored
Radix: concurrent iteration
-
- Jun 15, 2021
-
-
Igor Chorążewicz authored
-
Igor Chorążewicz authored
-
- Jun 11, 2021
-
-
Igor Chorążewicz authored
-
Jan Dorniak authored
-
Igor Chorążewicz authored
Iterator operator++/--: Removing nodes/leaves which are pointed to be iterators might result in operator++/operator-- failures (since nodes/leaves are detached from the tree find_leaf/next_leaf functions will not find a proper entry). Fix this by adding a fallback path which just searches from the top (using lower_bound/upper_bound). internal_bound: Do not traverse the tree twice. Instead save the path from first traversal to a vector and just iterate over the vector. Before returning iterator to the user, we can check if the path changed (if any node on the path was modified). If so, the operation needs to be retried.
-
Igor Chorążewicz authored
Revert "gha: temporarily disable codecov"
-