Bump certifi from 2019.11.28 to 2023.7.22 in /extra/libcbor/doc/source - #9
Closed
dependabot[bot] wants to merge 1 commit into
Closed
Conversation
Bumps [certifi](https://github.com/certifi/python-certifi) from 2019.11.28 to 2023.7.22. - [Commits](certifi/python-certifi@2019.11.28...2023.07.22) --- updated-dependencies: - dependency-name: certifi 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/certifi-2023.7.22
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
…lability)
Debug-build CI runs of percona.acl_mdl_scalability sporadically crash
with:
debug_sync.cc:943: void debug_sync_remove_action(...): Assertion
`current_thd == nullptr || ds_control == current_thd->debug_sync_control'
failed.
#9 debug_sync_remove_action sql/debug_sync.cc:943
#10 debug_sync(THD*, ...) sql/debug_sync.cc:1951
#11 MDL_lock::visit_subgraph sql/mdl.cc:3924
#12 MDL_ticket::accept_visitor sql/mdl.cc:4062
#13 MDL_context::visit_subgraph sql/mdl.cc:4086
#14 MDL_lock::visit_subgraph sql/mdl.cc:4027 <-- recursion
...
#17 MDL_context::find_deadlock sql/mdl.cc:4111
The "acl_mdl_dead_lock" sync point (added by PS-7143) fires inside
MDL_lock::visit_subgraph() on src_ctx->get_thd() - the THD owning the
*visited* waiting ticket. At recursion depth >= 2 of the wait-for-graph
walk that THD belongs to another connection. debug_sync() then executes
and removes an action on that other connection's debug_sync_control,
which has no locking: the whole facility assumes a sync point is only
ever hit by the THD's owner thread.
In the test, 500 sessions each arm "acl_mdl_dead_lock" on themselves and
then run deadlock detection concurrently over a shared wait-for graph,
so one detector can consume/remove another session's action while that
session (or a third detector) does the same - a genuine data race on
ds_active and the action array, caught by the debug assertion.
Fix: fire the sync point only when the visited ticket belongs to the
thread running the deadlock detection (the initial node of the walk,
src_ctx->get_thd() == current_thd). That depth-1 hit is the only one
the test's SIGNAL dead_locked / WAIT_FOR resume_wait_graph choreography
relies on; each session now executes its own action exactly once, and
no thread ever touches a foreign debug_sync_control. Non-debug-sync
builds are unaffected.
Verified: percona.acl_mdl_scalability passes 4/4 consecutive --big-test
runs (debug build) with clean server shutdown.
Note: the rpl.rpl_innodb_auto_increment mysqld.2.err logs attached to
the CI failure show a fully clean shutdown; the failed-shutdown verdict
belonged to the acl_mdl_scalability server crash above.
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 certifi from 2019.11.28 to 2023.7.22.
Commits
8fb96ed2023.07.22afe7722Bump actions/setup-python from 4.6.1 to 4.7.0 (#230)2038739Bump dessant/lock-threads from 3.0.0 to 4.0.1 (#229)44df761Hash pin Actions and enable dependabot (#228)8b3d7ba2023.05.0753da240ci: Add Python 3.12-dev to the testing (#224)c2fc3b1Create a Security Policy (#222)c211ef4Set up permissions to github workflows (#218)2087de5Don't let deprecation warning fail CI (#219)e0b9fc5remove paragraphs about 1024-bit roots from READMEDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)You can disable automated security fix PRs for this repo from the Security Alerts page.