Bump babel from 2.8.0 to 2.9.1 in /extra/libcbor/doc/source - #8
Closed
dependabot[bot] wants to merge 1 commit into
Closed
Bump babel from 2.8.0 to 2.9.1 in /extra/libcbor/doc/source#8dependabot[bot] wants to merge 1 commit into
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [babel](https://github.com/python-babel/babel) from 2.8.0 to 2.9.1. - [Release notes](https://github.com/python-babel/babel/releases) - [Changelog](https://github.com/python-babel/babel/blob/master/CHANGES.rst) - [Commits](python-babel/babel@v2.8.0...v2.9.1) --- updated-dependencies: - dependency-name: babel dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Author
|
Superseded by #14. |
dependabot
Bot
deleted the
dependabot/pip/extra/libcbor/doc/source/babel-2.9.1
branch
May 6, 2024 15:15
shanth96
pushed a commit
that referenced
this pull request
Jul 28, 2025
…tion fault https://perconadev.atlassian.net/browse/PS-9719 Problem ------- When changing binlog_transaction_dependency_tracking in high load workload, MySQL can get a segmentation fault. Analysis -------- Address sanitizer runs exposed the heap-use-after-free. READ of size 8 at 0x6030002c3298 thread T52 #0 _M_hash_code() #1 _M_bucket_index() .. #7 std::unordered_map::insert() #8 Writeset_trx_dependency_tracker::get_dependency() #9 Transaction_dependency_tracker::get_dependency() #10 MYSQL_BIN_LOG::write_transaction() #11 binlog_cache_data::flush() #12 binlog_cache_mngr::flush() #13 MYSQL_BIN_LOG::flush_thread_caches() #14 MYSQL_BIN_LOG::process_flush_stage_queue() #15 MYSQL_BIN_LOG::ordered_commit() #16 MYSQL_BIN_LOG::commit() freed by thread T49 here: #0 operator delete() ... #7 std::unordered_map::clear() #8 Writeset_trx_dependency_tracker::rotate(long) #9 Transaction_dependency_tracker::tracking_mode_changed() #10 update_binlog_transaction_dependency_tracking #11 sys_var::update() - The Writeset_trx_dependency_tracker uses std::unordered_map for storing depdendency information. - When a transaction is committing, the committing thread inserts the dependency information to this map in through get_dependency(). - When the tracking mode is changed, then the map is cleared by Writeset_trx_dependency_tracker::rotate(). Note that no lock/mutex is taken during the rotation. - As the rotate() and get_dependency() operations can be concurrently called from different threads and there is no mutex protection to handle it, it can result in segmentation fault when the get_dependency() tries to insert to the already deleted map. Solution -------- Use std::shared_ptr with atomic load/store for safer dependency tracker map rotation. - Replaced direct usage of of map with std::shared_ptr in the Writeset_trx_dependency_tracker class. - Modified the implementation of rotate() to used std::atomic_load and std::atomic_store to enable thread-safe reads and rotations. With the new solution the rotation happens in an atomic manner. So that transactions calling get_dependency() always use the object returned by shared_ptr. So, even if rotate() happens in parallel, the memory won't be freed until all readers are done.
ben-thul
pushed a commit
that referenced
this pull request
Aug 19, 2026
https://perconadev.atlassian.net/browse/PS-11242 percona.clone_consistent_snapshot crashed in a debug build with: [InnoDB] Assertion failure: trx0sys.cc:821: prev_trx == nullptr || prev_trx->id > trx->id #5 trx_sys_validate_trx_list trx0sys.cc:821 #6 trx_erase_lists trx0trx.cc:1838 #8 trx_commit_in_memory trx0trx.cc:2009 ... #21 Clone_persist_gtid::write_to_table clone0repl.cc:475 #24 clone_gtid_thread clone0repl.cc:723 trx_sys->rw_trx_list is required to be ordered by descending trx->id, and trx_sys_validate_trx_list() (UNIV_DEBUG only) enforces it on every erase. The consistent snapshot clone-view feature preallocates a transaction id for a donor read-only transaction (ReadView::clone() in read0read.cc). When that donor is later promoted to read-write via trx_set_rw_mode() -> trx_assign_id_for_rw(), it reuses the preallocated id, which - as the existing comment notes - "might not be received in ascending order" and can therefore be smaller than ids handed out to other transactions in the meantime. trx_assign_id_for_rw() already accounts for this when maintaining the sorted rw_trx_ids vector (the std::upper_bound insert), but trx_add_to_rw_trx_list() always did UT_LIST_ADD_FIRST, which assumes the new id is the greatest. Prepending an out-of-order preallocated id breaks the descending-id ordering of rw_trx_list. The corruption goes unnoticed at insertion time because trx_set_rw_mode() (unlike trx_start_low()) has no post-insert validation, and is only caught later when an unrelated transaction - here the clone GTID persister thread - commits and runs the validation during trx_erase_lists(). Fix trx_add_to_rw_trx_list() to insert a transaction carrying a preallocated_id at the position that preserves descending-id order, mirroring the rw_trx_ids handling. The common case (a freshly allocated id, which is always the greatest) keeps the O(1) prepend, so there is no hot-path regression.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps babel from 2.8.0 to 2.9.1.
Release notes
Sourced from babel's releases.
Changelog
Sourced from babel's changelog.