Commit Graph

3187 Commits

Author SHA1 Message Date
Leonid Yuriev
6034985686 mdbx: add MDBX_ASAN_(UN)POISON_MEMORY_REGION() macros. 2021-07-16 16:03:49 +03:00
Leonid Yuriev
7da64b725d mdbx: perform madvise only for the first process opens a DB. 2021-07-16 16:03:49 +03:00
Leonid Yuriev
ba22ae9ab3 mdbx: update .gitignore 2021-07-16 16:03:49 +03:00
Leonid Yuriev
8aaf5d071b mdbx: fix pagecheck().
Added a check that the data of the BIGDATA node (containing the target page number) is located within the boundaries of the page being checked.

The third case of https://github.com/erthink/libmdbx/issues/217.
2021-07-16 15:55:18 +03:00
Leonid Yuriev
6a6ead6cfb mdbx-make: rename buildflags_tag to buildflags.tag (cosmetic). 2021-07-15 16:55:38 +03:00
Leonid Yuriev
10fefe87a6 mdbx-make: minor fix to save dist-check logs. 2021-07-15 16:53:16 +03:00
Leonid Yuriev
de3c028f0d mdbx-make: fix buildflags_tag embedding into config.h. 2021-07-14 10:30:29 +03:00
Leonid Yuriev
b6233ae2e5 mdbx-tools: minor fix/unify error counters. 2021-07-14 10:29:54 +03:00
Leonid Yuriev
fe5f008d39 mdbx-tools: skip iteration & checking records if corresponding tree is corrupted.
Hope final for https://github.com/erthink/libmdbx/issues/217
2021-07-14 03:59:56 +03:00
Leonid Yuriev
c8743cb9c4 mdbx: fix null-deref while override invalid meta-pages.
Related to https://github.com/erthink/libmdbx/issues/217
2021-07-14 03:59:52 +03:00
Leonid Yuriev
1995754bc3 mdbx-test: add workarounds for QEMU (all 32-bit, Alpha, Sparc). 2021-07-13 17:38:08 +03:00
Leonid Yuriev
f749b3deee mdbx-test: minor refine stochastic script to be able use arithmetic in the arguments. 2021-07-13 13:51:24 +03:00
Leonid Yuriev
ebfffe3f2b mdbx-make: use --db-upto-mb option to be able testing 32-bit targets under QEMU. 2021-07-13 13:49:58 +03:00
Leonid Yuriev
de4a6baf80 mdbx-test: add --db-upto-mb option for stochastic script. 2021-07-13 13:49:33 +03:00
Leonid Yuriev
584326e9b6 mdbx-make: rename MDBX_TEST_EXTRA to MDBX_SMOKE_EXTRA. 2021-07-13 13:48:56 +03:00
Leonid Yuriev
a7becdc6b3 mdbx-test: add --size-upper-upto for simplify cross-testing 32-bit code with QEMU on 64-bit host. 2021-07-13 13:48:12 +03:00
Leonid Yuriev
4de2dcebb5 mdbx: increase the MDBX_READERS_LIMIT to 32767.
Fixes https://github.com/erthink/libmdbx/issues/219.
2021-07-11 02:44:19 +03:00
Leonid Yuriev
678a80dd19 mdbx: fix hang/shutdown on big-endian platforms without __cxa_thread_atexit().
Change-Id: I1bf706abaaf42d5b40751d85ed7c7a83d02acaf5
2021-07-11 02:25:39 +03:00
Leonid Yuriev
55d1f5e9c0 mdbx++: remove extra noexcept for buffer::&assign_reference(). 2021-07-11 02:25:39 +03:00
Leonid Yuriev
c18bf4f898 mdbx: minor clarify mdbx_mapresize(). 2021-07-11 02:25:39 +03:00
Leonid Yuriev
728e7f92b2 mdbx: minor fix mdbx_mresize() to preserve result code for read-only cases. 2021-07-11 02:25:39 +03:00
Leonid Yuriev
1740043678 mdbx: minimize the size of poisoned/unpoisoned regions to avoid ASAN hangs.
More for second case of https://github.com/erthink/libmdbx/issues/217
2021-07-11 02:25:26 +03:00
Leonid Yuriev
891d68838a mdbx: return MDBX_TOO_LARGE under Valgrind/ASAN if being opened DB is 100 larger than RAM.
More for second case of https://github.com/erthink/libmdbx/issues/217
2021-07-11 02:25:07 +03:00
Leonid Yuriev
108398c213 mdbx: refine rollback while opening weak/invalid DB.
More for https://github.com/erthink/libmdbx/issues/217
2021-07-11 02:24:51 +03:00
Leonid Yuriev
8bdee27248 mdbx: create/refactoring override_meta(). 2021-07-11 02:24:51 +03:00
Leonid Yuriev
00c6dc9788 mdbx: re-verify head and steady meta-pages while opening db by the first process.
Basic fix for https://github.com/erthink/libmdbx/issues/217
2021-07-11 02:24:06 +03:00
Leonid Yuriev
fb67682a79 mdbx: refine mdbx_validate_meta(). 2021-07-10 17:24:26 +03:00
Leonid Yuriev
5ed50a4739 mdbx: remove filesize arg from header/meta read functions (refactoring). 2021-07-10 16:10:30 +03:00
Leonid Yuriev
c30c3def8b mdbx: the filesize field of mdbx_mmap_t now is not specific for Windows. 2021-07-10 16:10:30 +03:00
Леонид Юрьев (Leonid Yuriev)
2f74f405ae mdbx: avoid returning MDBX_TXN_FULL error when possible. 2021-07-09 18:29:31 +03:00
Леонид Юрьев (Leonid Yuriev)
c7e05f63e6 mdbx-test: remove vector[...] from Valgrind's suppressions. 2021-07-09 17:44:27 +03:00
Leonid Yuriev
d65305564f mdbx-test: more suppressions for Valrgind (for case db-page less than systen-page). 2021-07-09 17:44:27 +03:00
Leonid Yuriev
660c302525 mdbx-test: adapt long-stochastic script for old bash version (Mac OS). 2021-07-09 17:44:27 +03:00
Leonid Yuriev
d7aad3a7cf mdbx-make: distinct smoke* and test* targets. 2021-07-09 17:44:27 +03:00
Leonid Yuriev
15ed0f6a84 mdbx++: workaround for compile-time 'uninitialized' warning (i.e. a GCC's bug) from GCC 10.x with enabled UB-sanitizer. 2021-07-09 17:44:27 +03:00
Leonid Yuriev
ffb8d23632 mdbx++: minor fixes for UN-sanitizer. 2021-07-09 17:44:27 +03:00
Leonid Yuriev
682632756f mdbx-test: add options support for long-stochastic script. 2021-07-09 17:44:27 +03:00
Leonid Yuriev
39c5e66ed1 mdbx: fix safe64_reset() for platforms without atomic 64-bit compare-and-swap. 2021-07-09 17:44:27 +03:00
Leonid Yuriev
b66780633e mdbx-tools: linking with math library (-lm). 2021-07-06 13:45:26 +03:00
Leonid Yuriev
bd2bb51f0f mdbx++: rework buffer::silo to avoid use std::string. 2021-07-06 13:45:26 +03:00
Леонид Юрьев (Leonid Yuriev)
ac69464143 mdbx-make: change prefix of the 'TIP' messages (cosmetics). 2021-07-04 13:23:53 +03:00
Leonid Yuriev
62889b5b7f mdbx-test: use mdbx::buffer from mdbx++. 2021-07-04 13:23:53 +03:00
Leonid Yuriev
c4a696be1d mdbx-test: add workaround for CLANG/LLVM STL stupidity of std::set<>. 2021-07-04 00:11:04 +03:00
Leonid Yuriev
cf5f31c577 mdbx: make __cold attribute first (cosmetic). 2021-07-03 01:51:04 +03:00
Leonid Yuriev
fa49e5a57b mdbx++: rename slice::from/to_FOO_bytes() to `slice::envisage_from/to_FOO_length()'. 2021-07-02 21:20:04 +03:00
Leonid Yuriev
750a17e41e mdbx: more spelling. 2021-07-02 21:19:58 +03:00
Leonid Yuriev
5d4281fbbe mdbx: minor fix spelling. 2021-06-26 18:54:00 +03:00
Leonid Yuriev
2c18225654 mdbx-make: minor cleanup shell in/out redirection spaces. 2021-06-26 17:38:52 +03:00
Leonid Yuriev
cc6610f42c mdbx: more/refine C++ crutches for mad MSVC compiler. 2021-06-24 15:42:03 +03:00
Leonid Yuriev
77a1f32e2a mdbx: use VERSION.txt instead of VERSION to avoid collision with #include <version>. 2021-06-24 14:59:29 +03:00