Skip to content

Bump tornado from 6.0.4 to 6.3.3 in /extra/libcbor/doc/source - #10

Closed
dependabot[bot] wants to merge 1 commit into
8.0from
dependabot/pip/extra/libcbor/doc/source/tornado-6.3.3
Closed

Bump tornado from 6.0.4 to 6.3.3 in /extra/libcbor/doc/source#10
dependabot[bot] wants to merge 1 commit into
8.0from
dependabot/pip/extra/libcbor/doc/source/tornado-6.3.3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 14, 2023

Copy link
Copy Markdown

Bumps tornado from 6.0.4 to 6.3.3.

Changelog

Sourced from tornado's changelog.

Release notes

.. toctree:: :maxdepth: 2

releases/v6.3.3 releases/v6.3.2 releases/v6.3.1 releases/v6.3.0 releases/v6.2.0 releases/v6.1.0 releases/v6.0.4 releases/v6.0.3 releases/v6.0.2 releases/v6.0.1 releases/v6.0.0 releases/v5.1.1 releases/v5.1.0 releases/v5.0.2 releases/v5.0.1 releases/v5.0.0 releases/v4.5.3 releases/v4.5.2 releases/v4.5.1 releases/v4.5.0 releases/v4.4.3 releases/v4.4.2 releases/v4.4.1 releases/v4.4.0 releases/v4.3.0 releases/v4.2.1 releases/v4.2.0 releases/v4.1.0 releases/v4.0.2 releases/v4.0.1 releases/v4.0.0 releases/v3.2.2 releases/v3.2.1 releases/v3.2.0 releases/v3.1.1 releases/v3.1.0 releases/v3.0.2 releases/v3.0.1 releases/v3.0.0 releases/v2.4.1 releases/v2.4.0 releases/v2.3.0 releases/v2.2.1 releases/v2.2.0

... (truncated)

Commits
  • e4d6984 Merge pull request #3307 from bdarnell/branch6.3
  • 6a9e6fb ci: Don't test py312 in branch6.3
  • 5c8a9a4 Set version to 6.3.3
  • 7dfe8b5 httpserver_test: Add ExpectLog to fix CI
  • 217295b http1connection: Make content-length parsing more strict
  • e3aa6c5 Merge pull request #3267 from bdarnell/branch6.3
  • 34f5c1c Version 6.3.2
  • 32ad07c web: Fix an open redirect in StaticFileHandler
  • e0fa53e Merge pull request #3257 from bdarnell/build-workflow-wstest-warning
  • f5a1d5c ci: Only run pypi actions from the main repo
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot 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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will 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.

Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.0.4 to 6.3.3.
- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)
- [Commits](tornadoweb/tornado@v6.0.4...v6.3.3)

---
updated-dependencies:
- dependency-name: tornado
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Aug 14, 2023
@dependabot @github

dependabot Bot commented on behalf of github May 6, 2024

Copy link
Copy Markdown
Author

Superseded by #14.

@dependabot dependabot Bot closed this May 6, 2024
@dependabot
dependabot Bot deleted the dependabot/pip/extra/libcbor/doc/source/tornado-6.3.3 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants