Skip to content

Conversation

@adivinho
Copy link
Contributor

@adivinho adivinho commented Oct 6, 2025

No description provided.

Tor Didriksen and others added 30 commits April 30, 2025 12:24
Remove source and data files for icu-release-73-1

Change-Id: I2afbc26eaebfc18c47fafacb9adcf7a818ef4405
(cherry picked from commit 02a07a78752eadb2c29f23ee91b76b05f76dfea4)
Add missing master.opt file for log_components_implicit.test
This is needed for testing in a Visual Studio build sandbox.
Otherwise we get
Error 1266 Can't open shared library <path>\lib\plugin\component_log_sink_json.dll

Change-Id: Ica6b1b592257357f7f191a3e3ca282fc2a40cdf1
(cherry picked from commit b536e9c6d5f6612c800c21dcab4425eb68941554)
Unpack tarball
tar xvf icu4c-77_1-src.tgz
mv icu icu-release-77-1

Remove everything, except icu/source
In icu/source, remove most directories, keeping
icu/source/common icu/source/i18n icu/source/stubdata

in icu-release-77-1/source:
rm .clang-format
rm -rf allinone/ config/ data/ extra/ io/ layoutex/ python/ samples/ test/ tools/

Git add as: extra/icu/icu-release-77-1

Change-Id: I60f18b43d73033e16f11579ffa52e79d46a9c07c
(cherry picked from commit 73c4b8b543aad0395d41942d1bb8ebe6d372ddae)
(cherry picked from commit 83bc30f118bf976f64f4bbb5a4104cc5fce05d6d)
Add data files.

Change-Id: I4c352c75c63a53332f87d9f62e0471c9ac21953d
(cherry picked from commit 5b8163888c53e416c2346bdb0da257c22a0a3266)
(cherry picked from commit 8b48d4e7912d559f31819b73aa8e3e497431efe6)
Change ICU_VERSION_DIR, add new source files,
change names of data file directories.

Change-Id: I5df30e2c0a65e0a0f4f8e73fd1c5c7ddae887141
(cherry picked from commit 62daeea7302d13a38accb4ce877b0fc6824c2fbe)
(cherry picked from commit adb4cf45e301594f3428cc09dc33f91ecdca2358)
Remove source and data files for icu-release-73-1

Change-Id: I2afbc26eaebfc18c47fafacb9adcf7a818ef4405
(cherry picked from commit 02a07a78752eadb2c29f23ee91b76b05f76dfea4)
(cherry picked from commit efe6d0ac01db78af66caeca97a7e7d64b354c6bd)
Additional patch, silencing some warnings in 3rd party code.

Change-Id: I66c5b1d1ce46bbd8b60f346a2ab5338f3a769e6d
(cherry picked from commit ae7fe85b3d81e159437d50aa29e333179f3349c4)
Add missing master.opt file for log_components_implicit.test
This is needed for testing in a Visual Studio build sandbox.
Otherwise we get
Error 1266 Can't open shared library <path>\lib\plugin\component_log_sink_json.dll

Change-Id: Ica6b1b592257357f7f191a3e3ca282fc2a40cdf1
(cherry picked from commit b536e9c6d5f6612c800c21dcab4425eb68941554)
(cherry picked from commit 8488dd88b77a1a1d3a1c16afe68f87a36f8b5c96)
Change-Id: Ia2335bc8acbfccbfcb5b67bfe24ae00654e35369
Remove obsolete TODO comments, this was fixed by the patch for
    Bug #33367371 Add support for missing regexp features in bundled ICU library

Change-Id: I6d1d547188cd319e987884604f8660eec482f147
Change-Id: I7b2d3ef0f60b453b293bec4e35ef7f5ff65f8d26
…r shutdown reports an error

After server shutdown, mtr has two separate functions looking for
specific server exit errors: shutdown_exit_reports() and
valgrind_exit_reports(). The first one looks for known patterns like
"mysqld got signal" etc.  The latter looks for valgrind/ASAN/UBSAN
patterns like "runtime error", "ThreadSanitizer" etc.

If shutdown_exit_reports() reports an error, then
valgrind_exit_reports() be skipped.  If we have a test that reports a
memory leak, the log will contain

shutdown_report [ fail ]
sanitize_report [ pass ]

Change this, so that we run valgrind_exit_reports() even if
shutdown_reports() has reported an error. We want:

shutdown_report [ fail ]
sanitize_report [ fail ]

Also change the regexp pattern which look for LSAN leak reports.

Change-Id: I2d6d84897c8806c3a080a38c53fa257576faabe7
(cherry picked from commit cbf6282b127010d0be4414fafe7b4a3fa0974413)
Disable some mtr test for ASAN on macOS.
This patch is for AppleClang 16/17. AppleClang 15 did not have the same problems.

Add mysql-test/include/not_asan_mac.inc to skip tests that are known to fail.
This will skip some plugin tests:
  mtr tests which do INSTALL PLUGIN foo; UNINSTALL PLUGIN foo; INSTALL PLUGIN foo;
  will get ODR violations in the second INSTALL.
  This is because the dynamic libraries are not unloaded, see man dlclose(3) on macOS.

For best results, use "bundled" protobuf.

Change-Id: Ia52b2d26d53ef40d943142e6807b4b7ef737a1e2
(cherry picked from commit 2d206a5216aa9967f1aa542d4f27feb25f490223)
…r shutdown reports an error

After server shutdown, mtr has two separate functions looking for
specific server exit errors: shutdown_exit_reports() and
valgrind_exit_reports(). The first one looks for known patterns like
"mysqld got signal" etc.  The latter looks for valgrind/ASAN/UBSAN
patterns like "runtime error", "ThreadSanitizer" etc.

If shutdown_exit_reports() reports an error, then
valgrind_exit_reports() be skipped.  If we have a test that reports a
memory leak, the log will contain

shutdown_report [ fail ]
sanitize_report [ pass ]

Change this, so that we run valgrind_exit_reports() even if
shutdown_reports() has reported an error. We want:

shutdown_report [ fail ]
sanitize_report [ fail ]

Also change the regexp pattern which look for LSAN leak reports.

Change-Id: I2d6d84897c8806c3a080a38c53fa257576faabe7
(cherry picked from commit cbf6282b127010d0be4414fafe7b4a3fa0974413)
Disable some mtr test for ASAN on macOS.
This patch is for AppleClang 16/17. AppleClang 15 did not have the same problems.

Add mysql-test/include/not_asan_mac.inc to skip tests that are known to fail.
This will skip some plugin tests:
  mtr tests which do INSTALL PLUGIN foo; UNINSTALL PLUGIN foo; INSTALL PLUGIN foo;
  will get ODR violations in the second INSTALL.
  This is because the dynamic libraries are not unloaded, see man dlclose(3) on macOS.

For best results, use "bundled" protobuf.

Change-Id: Ia52b2d26d53ef40d943142e6807b4b7ef737a1e2
(cherry picked from commit 2d206a5216aa9967f1aa542d4f27feb25f490223)
variables to (re-)store state

Post-push fix: ASAN reported a memory leak.

Change-Id: I0c9bf8838676ea95cd468fdc74fffd548d0e8727
(cherry picked from commit 4c00e8128de5e40c8a789858f6905a13412c4f53)
Change-Id: I4af60e490d7c6f0b1217af22e008b712291165fd
Improve ndb_restore error handling

In addition to the previously pushed patch, some enhancements
to ensure that on detecting an error, ndb_restore :
  - Logs useful context information
  - Stops promptly
  - Exits with an error code

Specifically
- Remove logic in tuple() function which clears a worker's
  fatal error flag on restoring every tuple, potentially
  forgetting problems after discovery

- Disambiguate error messages for different discovery methods

- Add a generic error reporting method which includes the
  table, the fragment id, the operation type, the retry
  count and some of the data from the row/operation being
  restored

- Modify consumer interface functions endOfTuples() and
  endOfLogEntrys() to return a value indicating whether
  there is a problem or not
  -> Allows errors discovered in final 'callbacks' to
     immediately affect restore progress

- Modify restore_main() control flow to more frequently
  check that there are no errors in other threads
  -> Quicker stop in case of errors

Summary
 - If a thread discovers an error it logs + sets its fatal
   error flag
 - This should cause that thread to halt processing ASAP
 - This should cause the process' count of error threads
   to increase
 - This should cause other threads to halt ASAP

Testing
 - Manual :
   - DATA :
     Backup data with duplicate values in a non indexed column.
     Add a unique index + restore data - hit constraint violations when
     restoring DATA
   - LOG :
     Backup data with duplicate values in a non indexed column, added
     during the backup (ERROR 10040).
     Modify log restore code to treat constraint violation as an error
     (currently ignored on log apply)
     Add a unique index + restore data - hit constraint violation when
     restoring LOG (or DATA depending on order of node restore).
 - Automated
   - Extended ndb_restore_debug to check that
     - Threads exit promptly
     - Real 'Permanent' errors during restore cause exit with
       useful logging.
     - The ndb_restore process has a non zero exit code

Change-Id: I08cfc4f83b6a86824a3f3372550c693090306a94
ndb_restore should perform a number of retries on encountering
temporary errors, but it should not retry indefinitely.

This is fixed, and ndb_restore_debug is extended to test that
retries are not infinite.

Change-Id: Id40f5a904c68aa5e1a73588b223929a1ff5ccb35
Problem
ndb_restore receiving unexpected Permanent error 626 when performing
restore of data from DATA files, using NdbApi write operations,
which should semantically never fail with this error.

Root cause

A bug in an error handling path in DBLQH block for handling the case
where :
 - The LQH instance has exhausted the RedoBuffer for
   the Redo log part
 - The DefaultRedoProblemAction is ABORT.
   (Default is QUEUE)
 - The RedoBuffer exhaustion has some component which is
   'booked' space rather than purely being consumed space

In this circumstance, the exhaustion is detected based on the
consumed space + booked space, but the mapping to error codes
is based only on the consumed space.
If the consumed space alone is not sufficient then *no* error
code is set.
DBLQH uses a block member variable to hold the most recently
set error, which is sent back to the requesting block in an
LQHKEYREF signal.  In this case where a problem is encountered,
but no specific error is set, the requesting block is sent
an error code from previous processing.

Solution

Use the logic for deciding that there is Redo log buffer
exhaustion to determine the error code to generate.

Avoid accidentally taking a path intended for error
insertion which can lead to no error being set.

Testing

Tested manually

Change-Id: Ie0badc9c7e9a2084fd7e831a6af521777b368cd2
Change-Id: I05db15900ae37e22433394548bbce9302e8242f2
Change-Id: Icb62d977caca0aa26ae74db8e0452c889f69d5bd
              due to redundant condition not optimized away

This is regression from the fix for Bug#30112096. As part of the fix,
Item_row::compile was introduced. This made constant propagation
apply for "IN" predicates having more than one column on the
left hand side. For the query in the bugpage, the equality for one
of the column is propagated to the IN predicate. This makes it not
eligible for range analysis. Range optimizer expects all expressions
on the left hand side of the IN predicate to be columns from a table.
Since, it is now transformed into a constant, it rejects this predicate.
As a result, the impossible where condition is not detected resulting
in a less performant query.

Fix is to disable constant propagation for IN predicates having more than
one column on its LHS.

Change-Id: I91a6fd0f4c52fc64e463a7d94d3555821bfbfd6b
postfix for failing integration tests.

Change-Id: Ie3850d4ee0c23994ce5aeaf68082ef1691e55783
Description:
------------
When the delimiter is set to a non-default symbol and the SQL
statement contains an unquoted semicolon (;) within a MySQL-specific
comment, the SQL executes successfully in the source database.
However, the binlog record becomes incomplete, leading to a syntax
error in the replica database.

Analysis:
------------
When the delimiter is set to a non-default symbol and an SQL
statement contains an unquoted semicolon within a MySQL-specific
comment, the client transmits the entire SQL statement, including
the MySQL-specific comment, up to the delimiter to the server.
During parsing, the server interprets the semicolon as the end of the
command while processing the comment, resulting in the execution of
a partial statement. The truncated statement is then recorded in
the binary log and propagated to the replica, leading to an error.

Fix:
------------
When the delimiter is set to a non-default symbol, treat
MySQL-specific comments containing unquoted semicolons as syntax
errors and return a parser error.

Change-Id: I00d6b4ced89e79a7350c94218bf2527553054aed
Change-Id: Ia8d7dd5fe7ac79defa20f4b72bc0c3dbc14aa9a3
For several classes in data node memory pool implementation a similar
error message "Magic::match failed in ..." can be generated.  The class
name is added in all of them to make it easier to see which instance
raised the error.

The log message also included a i-value, but in for StaticSlotPool the
i-value was decomposed into page number and page index and the page
index was logged instead of whole i-value. For clarity that was changed
such that the whole i-value and both its components were logged.

Change-Id: Ic23981862306767c8a80df87dbc854ee311a0aec
Some record pools in data node uses TransientPagePool to allocate pages
for the pool. The page pool have a fixed hard limit when to deny
allocating more pages irrespective to how many record can be on a page.

Since the records i-value is a 32-bit value constructed from page
i-value and an record index within the page, the record i-value could
overflow before the page pool reached the fixed hard limit (8183*8193)
if there can be more than 64 record in a page (8183*8193*65-1 > RNIL).

The TransientSlotPool now calculates the highest allowed page i-value
such that record i-value always will be less than RNIL.
TransientPagePool is extended to respect the given highest allowed page
i-value.

Change-Id: Ifa3ba7f388517c22a43c53cea46045d1d303aa49
Change-Id: I96ceeaa450898280dde1dfdba531f71fbbbf60ee
Contribution by Axel Svensson

Fix the warning message generated by mysqld when an NDB temporary
table already exists at create time. Rerecord the result of a test
case where the message appears.

Change-Id: I8debe1cad4afb6722e4a86d853fdd1bedc6a5e44
percona-ysorokin and others added 27 commits August 7, 2025 13:52
https://perconadev.atlassian.net/browse/PS-10041

Cleaned up orphaned MTR artefacts based on the output of the "mtr_checker"
utility (https://github.com/Percona-Lab/mtr-checker).

***
*** Suite: main ***
***
[error]: inconsistent test case "m_i_db_config": [ cnf ]

***
*** Suite: group_replication ***
***
[error]: inconsistent test case "gr_gcs_psi_threads": [ result ]
[error]: inconsistent test case "gr_ssl_tls13": [ result ]
[error]: inconsistent test case "gr_ssl_mode_verify_identity_error": [ result, opt_master, opt_slave ]
[error]: inconsistent test case "gr_skip_view_change_event": [ cnf ]
[error]: inconsistent test case "gr_psi_event_names_enabled_check": [ result ]
[error]: inconsistent test case "gr_ssl_tls13_runtime_invalid_configuration": [ result ]

***
*** Suite: innodb ***
***
[error]: inconsistent test case "percona_extended_innodb_status": [ opt_master ]

***
*** Suite: ndb ***
***
[error]: inconsistent test case "ndb_grant": [ result ]

***
*** Suite: ndb_rpl ***
***
needed [error]: inconsistent test case "ndb_rpl_multi_binlog_update": [ cnf ]
needed [error]: inconsistent test case "ndb_rpl_3_cluster": [ cnf ]

***
*** Suite: rpl ***
***
kept for re-enablement [error]: found unknown file "rpl_critical_errors.result.txt"
[error]: inconsistent test case "rpl_relay_log_space_limit_deadlock": [ opt_slave ]
[error]: inconsistent test case "rpl_auto_increment": [ opt_master ]
needed [error]: inconsistent test case "rpl_row_img": [ cnf ]
[error]: inconsistent test case "rpl_invalid_replication_timestamps_multi_source": [ cnf ]
[error]: inconsistent test case "rpl_row_jsondiff_basic": [ cnf ]
needed [error]: inconsistent test case "rpl_row_jsondiff": [ cnf ]

***
*** Suite: service_sys_var_registration ***
***
needed [error]: inconsistent test case "sys_reg": [ cnf ]

***
*** Suite: x ***
***
[error]: found "macros" that is not a regular file

***
*** Suite: engines/funcs ***
***
[error]: inconsistent test case "rpl_init_replica": [ opt_slave ]

***
*** Suite: ndb_big ***
***
[error]: inconsistent test case "smoke": [ test ]
[error]: inconsistent test case "ndb_verify_redo_log_queue": [ test ]
[error]: inconsistent test case "ndb_multi_tc_takeover": [ test, cnf ]
[error]: inconsistent test case "bug37983": [ test, opt_master ]
[error]: inconsistent test case "my": [ cnf ]
[error]: inconsistent test case "rqg_spj": [ test, opt_master ]
[error]: inconsistent test case "bug13637411": [ test, cnf, opt_master ]

***
*** Suite: ndb_ddl ***
***
[error]: inconsistent test case "my": [ cnf ]

***
*** Suite: ndb_opt ***
***
[error]: inconsistent test case "my": [ cnf ]

***
*** Suite: ndbcluster ***
***
[error]: inconsistent test case "my": [ cnf ]

***
*** Suite: ndbcrunch ***
***
[error]: inconsistent test case "my": [ cnf ]
[error]: inconsistent test case "cpubind": [ cnf ]

***
*** Plugin suite: audit_log_filter ***
***
[error]: inconsistent test case "log_format_json": [ result ]
[error]: inconsistent test case "log_format_new": [ result ]
[error]: inconsistent test case "log_format_old": [ result ]

***
*** Plugin suite: keyring_vault ***
***
[error]: inconsistent test case "table_encrypt_2_keyring": [ result, opt_master ]
[error]: inconsistent test case "table_encrypt_2_directory": [ result ]
https://perconadev.atlassian.net/browse/PXC-4741

Merge branch 'ps/release-8.4.6-6' into PXC-4741

Updated galera and wsrep-lib submodules pointers
    https://perconadev.atlassian.net/browse/PS-10049

    The result files were changed due to changes of the restart message in

    mysql-test/include/kill_and_restart_mysqld.inc and
    mysql-test/include/restart_mysqld.inc
…anup)

https://perconadev.atlassian.net/browse/PS-10041

Cleaned up orphaned MTR artefacts based on the output of the "mtr_checker"
utility (https://github.com/Percona-Lab/mtr-checker).

***
*** Suite: component_keyring_kms ***
***
[error]: inconsistent test case "migration": [ opt_master ]

***
*** Suite: data_masking ***
***
[error]: inconsistent test case "error_not_loaded_module": [ opt_master ]

***
*** Suite: rocksdb ***
***
[error]: inconsistent test case "collation_exceptions_lctn_0": [ opt_master ]
[error]: inconsistent test case "collation_exceptions_lctn_1": [ opt_master ]

***
*** Suite: tokudb_rpl ***
***
[error]: inconsistent test case "rpl_tokudb": [ opt_master ]
[error]: inconsistent test case "rpl_mixed_row_tokudb": [ result, opt_master ]

***
*** Suite: component_keyring_kmip ***
***
[error]: inconsistent test case "migration": [ opt_master ]
https://perconadev.atlassian.net/browse/PXC-4741

Fix MTR tests related to the change in start_mysqld.inc (restart message
changed)
https://perconadev.atlassian.net/browse/PS-10041

Fixed problem with invalid length parameter passed to 'inet_ntop()'
function causing warnigs under compiler's FORTIFY enforcements.
https://perconadev.atlassian.net/browse/PS-10049

Cleaned up orphaned MTR artefacts based on the output of the "mtr_checker"
utility (https://github.com/Percona-Lab/mtr-checker).

***
*** Suite: main ***
***
[error]: inconsistent test case "dd_upgrade_non_debug": [ opt_master ]
[error]: inconsistent test case "dd_upgrade_partition": [ opt_master ]
needed [error]: inconsistent test case "print_stacktrace": [ test ]
[error]: inconsistent test case "dd_upgrade_test": [ opt_master ]

***
*** Suite: clone ***
***
[error]: inconsistent test case "remote_dml_upgrade": [ result, cnf ]

***
*** Suite: component_audit_log_filter ***
***
[error]: inconsistent test case "log_format_json": [ result ]
[error]: inconsistent test case "log_format_new": [ result ]
[error]: inconsistent test case "log_format_old": [ result ]

***
*** Suite: component_keyring_kms ***
***
[error]: inconsistent test case "migration": [ opt_master ]

***
*** Suite: group_replication ***
***
[error]: unexpected file found in the tests directory "gr_consistent_delayed_view_change_with_local_txn_5_members.result"

***
*** Suite: innodb ***
***
[error]: inconsistent test case "upgrade_compressed_recv": [ opt_master ]

***
*** Suite: ndb_rpl ***
***
needed [error]: inconsistent test case "ndb_rpl_multi_binlog_update": [ cnf ]
needed [error]: inconsistent test case "ndb_rpl_3_cluster": [ cnf ]

***
*** Suite: rpl ***
***
[error]: inconsistent test case "rpl_relay_log_space_limit_deadlock": [ opt_slave ]
needed [error]: inconsistent test case "rpl_row_img": [ cnf ]
[error]: inconsistent test case "rpl_innodb_mixed_dml": [ opt_master ]
[error]: inconsistent test case "rpl_row_jsondiff_basic": [ cnf ]
[error]: inconsistent test case "rpl_stm_mixed_mts_rec_crash_safe_small": [ opt_slave ]
needed [error]: inconsistent test case "rpl_row_jsondiff": [ cnf ]

***
*** Suite: component_keyring_kmip ***
***
[error]: inconsistent test case "migration": [ opt_master ]

***
*** Suite: ndb_big ***
***
[error]: inconsistent test case "smoke": [ test ]
[error]: inconsistent test case "ndb_verify_redo_log_queue": [ test ]
[error]: inconsistent test case "ndb_multi_tc_takeover": [ test, cnf ]
[error]: inconsistent test case "bug37983": [ test, opt_master ]
[error]: inconsistent test case "my": [ cnf ]
[error]: inconsistent test case "rqg_spj": [ test, opt_master ]
[error]: inconsistent test case "bug13637411": [ test, cnf, opt_master ]

***
*** Suite: ndb_ddl ***
***
[error]: inconsistent test case "my": [ cnf ]

***
*** Suite: ndb_opt ***
***
[error]: inconsistent test case "my": [ cnf ]

***
*** Suite: ndb_tls ***
***
[error]: found "include" that is not a regular file
[error]: inconsistent test case "my": [ cnf ]

***
*** Suite: ndbcluster ***
***
[error]: inconsistent test case "my": [ cnf ]

***
*** Suite: ndbcrunch ***
***
[error]: inconsistent test case "my": [ cnf ]
[error]: inconsistent test case "cpubind": [ cnf ]
… fortify fix)

PS-10041 merge: Code refresh for - PS 8.0.43-34 (OL9 fortify fix)

https://perconadev.atlassian.net/browse/PS-10041

Fixed problem with invalid length parameter passed to 'inet_ntop()'
function causing warnigs under compiler's FORTIFY enforcements.
…PS-10041 merge: Code refresh for - PS 8.0.43-34 (OL9 fortify fix))
https://perconadev.atlassian.net/browse/PXC-4559

PXB 8.4.0-1 introduces support for the --lock-ddl=REDUCED option.
This commit updates PXC to leverage this feature:

1. Use --lock-ddl=REDUCED by default when supported by the installed
PXB version.
2. Read and apply the --lock-ddl option from the [xtrabackup] section
of my.cnf, if specified.

Cherry pick of commit 8216b4c by Aybek Bukabayev + adjustments
…warning fix)

https://perconadev.atlassian.net/browse/PS-10049

Suppressed the following warning in the "router" tests code that appears
on gcc-12 in RelWithDebInfo build configuration.

In file included from /usr/include/c++/12/ios:40,
                 from /usr/include/c++/12/istream:38,
                 from /usr/include/c++/12/sstream:38,
                 from /home/yura/ws/percona-server-8.4/router/src/routing/tests/../src/basic_protocol_splicer.h:33,
                 from /home/yura/ws/percona-server-8.4/router/src/routing/tests/../src/processor.h:29,
                 from /home/yura/ws/percona-server-8.4/router/src/routing/tests/../src/classic_quit_sender.h:29,
                 from /home/yura/ws/percona-server-8.4/router/src/routing/tests/test_classic_quit_sender.cc:26:
In static member function ‘static constexpr std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)’,
    inlined from ‘static constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:431:21,
    inlined from ‘static constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:426:7,
    inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.tcc:532:22,
    inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:2179:19,
    inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/include/c++/12/bits/basic_string.h:2204:22,
    inlined from ‘std::string testing::internal::CanonicalizeForStdLibVersioning(std::string)’ at /home/yura/ws/percona-server-8.4/extra/googletest/googletest-1.14.0/googletest/include/gtest/internal/gtest-type-util.h:83:14:
/usr/include/c++/12/bits/char_traits.h:435:56: error: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ accessing 9223372036854775810 or more bytes at offsets [2, 9223372036854775807] and 1 may overlap up to 9223372036854775813 bytes at offset -3 [-Werror=restrict]
  435 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
https://perconadev.atlassian.net/browse/PS-10049

Fixed memory leak in 'NdbTimestamp-t' unit test detected by ASan.

=================================================================
==3324130==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 67 byte(s) in 3 object(s) allocated from:
    #0 0x5555ab78bc5a in strdup (/home/yura/ws/percona-server-8.4-build-asan_clang20/runtime_output_directory/NdbTimestamp-t+0xbdc5a) (BuildId: 9c5a51c07dd925cf13b2f9408597355a524793bc)
    #1 0x5555ab7eb685 in test_TZ(int) /home/yura/ws/percona-server-8.4/storage/ndb/src/common/portlib/NdbTimestamp.cpp:516:10
    #2 0x5555ab7eb126 in main /home/yura/ws/percona-server-8.4/storage/ndb/src/common/portlib/NdbTimestamp.cpp:576:53
    #3 0x7f0596ae4d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16

SUMMARY: AddressSanitizer: 67 byte(s) leaked in 3 allocation(s).
PKG-872 Packaging tasks for release - PS 8.4.6-6
PXC-4741: Code refresh for - PXC 8.4.6
PKG-1026 Packaging tasks for release - PXC 8.4.6
PKG-1026 Packaging tasks for release - PXC 8.4.6
PKG-1026 Packaging tasks for release - PXC 8.4.6
@it-percona-cla
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
4 out of 6 committers have signed the CLA.

✅ satya-bodapati
✅ inikep
✅ adivinho
✅ kamil-holubicki
❌ percona-ysorokin
❌ lukin-oleksiy
You have signed the CLA already but the status is still pending? Let us recheck it.

@adivinho adivinho requested review from a team and kamil-holubicki October 6, 2025 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.