- 14 Jul, 2020 4 commits
-
-
Eugene Kosov authored
-
Eugene Kosov authored
This version is not optimized yet. It could have bugs because I didn't check it with unit tests. Also, std::char_traits are not really supported. So, now it's not possible to create f.ex. a case insensitive string_view. fil_path_to_space_name(): renamed, moved to another file and refactored to use string_view
-
Eugene Kosov authored
-
-
- 13 Jul, 2020 1 commit
-
-
Marko Mäkelä authored
This form of corruption was only reproduced on MariaDB 10.5.4 after the MDEV-22867 fix was applied in commit 43120009. While we do not know how to reproduce this corruption in MariaDB 10.4, we are applying the code fix without a test case. btr_cur_pessimistic_update(): Invoke btr_set_instant() if needed.
-
- 11 Jul, 2020 1 commit
-
-
Eugene Kosov authored
-
- 10 Jul, 2020 1 commit
-
-
Alexey Botchkov authored
The auth_pam_tool that is executed from pam_auth() can be still not finished by the time we do the waitpid() there. As we use WNOHANG option for the waitpid(), it didn't wait and left the zombie process. So let's do the loop of waitpid() with the limited number of sleeps.
-
- 08 Jul, 2020 2 commits
-
-
Sergei Petrunia authored
In mi_check_index_tuple(), when rowid filter check returns CHECK_OUT_OF_RANGE, set info->lastpos= HA_OFFSET_ERROR, like it is done above for the ICP check.
-
Oleksandr Byelkin authored
Check if we really need the mariadb.sys user
-
- 04 Jul, 2020 2 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
commit 48493132 was a necessary fix for the buffer pool resizing tests in 10.5 in AddressSanitizer. However, that change would break the tests innodb.innodb_buffer_pool_resize and innodb.innodb_buffer_pool_resize_with_chunks when run in MemorySanitizer, or presumably in Valgrind as well. (Those tests run "forever" in Valgrind.) buf_pool_resize(): Cancel the effect of MEM_NOACCESS() in Valgrind and ASAN. In MSAN, MEM_NOACCESS() is a no-op, and hence we must do nothing special here. MEM_MAKE_ADDRESSABLE() would declare the memory contents undefined. In this particular case, we must actually declare the contents defined for Valgrind.
-
- 03 Jul, 2020 3 commits
- 02 Jul, 2020 15 commits
-
-
Monty authored
-
Monty authored
-
Monty authored
-
Monty authored
-
Marko Mäkelä authored
In AddressSanitizer, we only want memory poisoning to happen in connection with custom memory allocation or freeing. The primary use of MEM_UNDEFINED is for declaring memory uninitialized in Valgrind or MemorySanitizer. We do not want MEM_UNDEFINED to have the unwanted side effect that AddressSanitizer would no longer be able to complain about accessing unallocated memory. MEM_UNDEFINED(): Define as no-op for AddressSanitizer. MEM_MAKE_ADDRESSABLE(): Define as MEM_UNDEFINED() or ASAN_UNPOISON_MEMORY_REGION(). MEM_CHECK_ADDRESSABLE(): Wrap also __asan_region_is_poisoned().
-
Monty authored
- Some of the bug fixes are backports from 10.5! - The fix in innobase/fil/fil0fil.cc is just a backport to get less error messages in mysqld.1.err when running with valgrind. - Renamed HAVE_valgrind_or_MSAN to HAVE_valgrind
-
Monty authored
When using field_conv(), which is called in case of field1=field2 copy in fill_records(), full varstring's was copied, including unitialized bytes. This caused valgrind to compilain about usage of unitialized bytes when using Aria static length records. Fixed by not using memcpy when copying varstrings but instead just copy the real bytes.
-
Monty authored
- Removed not needed bzero in void TABLE::initialize_quick_structures(). - Replaced bzero with TRASH_ALLOC() to have this change verfied with memory checkers - Added missing table->quick_keys.is_set in table_cond_selectivity()
-
MikkoJaakola authored
galera_toi_truncate test launches a long term INSERT statement in node 2, and then submits an offending TRUNCATE through node 1. The idea is that the replicated TRUNCATE will conflict with INSERT in node 2, and force the INSERT to abort. The test first issues --send INSERT in node 2, and then switches to node 1 to launch --send TRUNCATE. As the INSERT is launched asynchronously by --send, it may happen that INSERT has not yet started to process, before the TRUNCATE is replicated. The net effect may be that TRUCATE processes to completion in node 2, and only after that INSERT starts to execute. As the INSERT is very long query, it will last longer than mtr test suite max test time, the test will fail for timeout. The fix in this commit uses another connection in node 2, to wait until the INSERT has started to process in node 2. TRUNCATE in node 1, will be submitted in node 1 after this wait condition.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
This reverts commit e0793d38. In idiomatic C++, accessor functions should not discard qualifiers.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 01 Jul, 2020 11 commits
-
-
Oleksandr Byelkin authored
return --help option
-
Marko Mäkelä authored
-
Vladislav Vaintroub authored
- service not using "--defaults-file" can have any name not just "MySQL" - service with "--defaults-file", without datadir in them use default datadir (install_root\data)
-
Marko Mäkelä authored
-
Marko Mäkelä authored
MemorySanitizer (clang -fsanitize=memory) requires that all code be compiled with instrumentation enabled. The only exception is the C runtime library. Failure to use instrumented libraries will cause bogus messages about memory being uninitialized. In WITH_MSAN builds, we must avoid calling getservbyname(), because even though it is a standard library function, it is not instrumented, not even in clang 10. Note: Before MariaDB Server 10.5, ./mtr will typically fail due to the old PCRE library, which was updated in MDEV-14024. The following cmake options were tested on 10.5 in commit 94d0bb4d: cmake \ -DCMAKE_C_FLAGS='-march=native -O2' \ -DCMAKE_CXX_FLAGS='-stdlib=libc++ -march=native -O2' \ -DWITH_EMBEDDED_SERVER=OFF -DWITH_UNIT_TESTS=OFF -DCMAKE_BUILD_TYPE=Debug \ -DWITH_INNODB_{BZIP2,LZ4,LZMA,LZO,SNAPPY}=OFF \ -DPLUGIN_{ARCHIVE,TOKUDB,MROONGA,OQGRAPH,ROCKSDB,CONNECT,SPIDER}=NO \ -DWITH_SAFEMALLOC=OFF \ -DWITH_{ZLIB,SSL,PCRE}=bundled \ -DHAVE_LIBAIO_H=0 \ -DWITH_MSAN=ON MEM_MAKE_DEFINED(): An alias for VALGRIND_MAKE_MEM_DEFINED() and __msan_unpoison(). MEM_GET_VBITS(), MEM_SET_VBITS(): Aliases for VALGRIND_GET_VBITS(), VALGRIND_SET_VBITS(), __msan_copy_shadow(). InnoDB: Replace the UNIV_MEM_ macros with corresponding MEM_ macros. ut_crc32_8_hw(), ut_crc32_64_low_hw(): Use the compiler built-in functions instead of inline assembler when building WITH_MSAN. This will require at least -msse4.2 when building for IA-32 or AMD64. The inline assembler would not be instrumented, and would thus cause bogus failures.
-
Sergei Golubchik authored
mariabackup tries to allocate a buffer of page_size*page_size/4 size. for 64k page it means 1Gb, which doesn't work very well on 32-bit builders. Skip the 64k page test on 32bit.
-
Marko Mäkelä authored
-
Vladislav Vaintroub authored
and remove it on error Disable existing non-empty datadir for mysql_install_db.exe
-
Marko Mäkelä authored
-
Sergei Golubchik authored
* fix FindLZ4 to follow convention (LIBRARIES, not LIBRARY) * remove redundant checks from rocksdb/CMakeLists.txt * put all checks through the same macro that uniformly checks for a package, prints the message, adds definition
-
Otto Kekäläinen authored
The library finder needs to have capitals in its name so that FIND_PACKAGE will load the correct finder and actually detect that libzstd is available. Without this change the CMake would just always silently skip ZSTD since it would never find it. Simplify Debian autopkgtest RocksDB part and make it more verbose so that future regressions like this are easier to debug. Also remove QUIET from the RocksDB FIND_PACKAGE call so that it is easier to read in build logs what libraries were detected. Also add missing underscores to error messages.
-