1. 14 Jul, 2020 10 commits
  2. 13 Jul, 2020 2 commits
  3. 12 Jul, 2020 1 commit
  4. 10 Jul, 2020 1 commit
    • Rucha Deodhar's avatar
      MDEV-19119: main.ssl_crl fails in buildbot with wrong error code · f81ff932
      Rucha Deodhar authored
      The client can only find out if the server has disconnected when it tries to
      read or send something. If the server gets disconnected before
      send_client_reply_packet(), the client will try sending authentication
      information but it will fail. But, if the client is fast enough to send
      autentication information before disconnecting, it will notice that when
      reading the ok packet. So the client can fail on read or on write.
      It is unpredictable because, the process are unsynchronized and this
      could happen in any order.
      f81ff932
  5. 09 Jul, 2020 2 commits
  6. 07 Jul, 2020 2 commits
  7. 06 Jul, 2020 4 commits
    • Rucha Deodhar's avatar
      MDEV-22654: Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' · a5366255
      Rucha Deodhar authored
      failed in Diagnostics_area::set_ok_status on FUNCTION replace
      
      When there is REPLACE in the statement, sp_drop_routine_internal() returns
      0 (SP_OK) on success which is then assigned to ret. So ret becomes false
      and the error state is lost. The expression inside DBUG_ASSERT()
      evaluates to false and thus the assertion failure.
      a5366255
    • Vladislav Vaintroub's avatar
      MDEV-23098 mariadb-upgrade-service.exe does not work on WAMPServer · cad9a9b1
      Vladislav Vaintroub authored
      While trying to detect datadir, take into account that one can use
      Windows service name as section name in options file, for Windows service.
      
      The historical obscurity is being used by WAMP installations.
      cad9a9b1
    • Varun Gupta's avatar
      MDEV-22390: Assertion `m_next_rec_ptr >= m_rawmem' failed in... · 6163af93
      Varun Gupta authored
      MDEV-22390: Assertion `m_next_rec_ptr >= m_rawmem' failed in Filesort_buffer::spaceleft | SIGSEGV in __memmove_avx_unaligned_erms from my_b_write
      
      Make sure that the sort_buffer that is allocated has atleast space for MERGEBUFF2 keys.
      The issue here was that the record length is quite high and sort buffer size is very small,
      due to which we end up with zero number of keys in the sort buffer. The Sort_param::max_keys_per_buffer
      was zero in such a case, due to which we were flushing empty sort_buffer to the disk.
      6163af93
    • Daniel Black's avatar
      MDEV-22173: socket accept - test for failure · 3efdac20
      Daniel Black authored
      accept might return an error, including SOCKET_EAGAIN/
      SOCKET_EINTR. The caller, usually handle_connections_sockets
      can these however and invalid file descriptor isn't something
      to call fcntl on.
      
      Thanks to Etienne Guesnet (ATOS) for diagnosis,
      sample patch description and testing.
      3efdac20
  8. 05 Jul, 2020 1 commit
    • Marko Mäkelä's avatar
      One more ASAN/MSAN cleanup · f3f23b5c
      Marko Mäkelä authored
      commit 48493132 included a
      workaround for a 10.5 merge issue that should now be properly
      addressed in commit ab406990.
      
      buf_chunk_init(): Remove an unnecessary MEM_MAKE_ADDRESSABLE().
      We might invoke MEM_UNDEFINED() here, but actually the allocated
      memory ought to be guaranteed to be zero-initialized.
      f3f23b5c
  9. 04 Jul, 2020 1 commit
    • Marko Mäkelä's avatar
      Fixup the parent commit for MSAN and Valgrind · 453dc4b3
      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.
      453dc4b3
  10. 03 Jul, 2020 1 commit
  11. 02 Jul, 2020 11 commits
  12. 01 Jul, 2020 4 commits
    • Marko Mäkelä's avatar
      MDEV-20377: Fix -Wunused-but-set-variable · 69df4f83
      Marko Mäkelä authored
      69df4f83
    • Vladislav Vaintroub's avatar
      MDEV-23067 Windows : manually registered services rejected mysql_upgrade_service · 41b0d98e
      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)
      41b0d98e
    • Marko Mäkelä's avatar
      be517384
    • Marko Mäkelä's avatar
      MDEV-20377: Make WITH_MSAN more usable · c36834c8
      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.
      c36834c8