Skip to content

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
8.0from
dependabot/pip/extra/libcbor/doc/source/babel-2.9.1
Closed

Bump babel from 2.8.0 to 2.9.1 in /extra/libcbor/doc/source#8
dependabot[bot] wants to merge 1 commit into
8.0from
dependabot/pip/extra/libcbor/doc/source/babel-2.9.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 21, 2023

Copy link
Copy Markdown

Bumps babel from 2.8.0 to 2.9.1.

Release notes

Sourced from babel's releases.

Version 2.9.1

Bugfixes

  • The internal locale-data loading functions now validate the name of the locale file to be loaded and only allow files within Babel's data directory. Thank you to Chris Lyne of Tenable, Inc. for discovering the issue!

Version 2.9.0

Upcoming version support changes

  • This version, Babel 2.9, is the last version of Babel to support Python 2.7, Python 3.4, and Python 3.5.

Improvements

  • CLDR: Use CLDR 37 – Aarni Koskela (#734)
  • Dates: Handle ZoneInfo objects in get_timezone_location, get_timezone_name - Alessio Bogon (#741)
  • Numbers: Add group_separator feature in number formatting - Abdullah Javed Nesar (#726)

Bugfixes

  • Dates: Correct default Format().timedelta format to 'long' to mute deprecation warnings – Aarni Koskela
  • Import: Simplify iteration code in "import_cldr.py" – Felix Schwarz
  • Import: Stop using deprecated ElementTree methods "getchildren()" and "getiterator()" – Felix Schwarz
  • Messages: Fix unicode printing error on Python 2 without TTY. – Niklas Hambüchen
  • Messages: Introduce invariant that _invalid_pofile() takes unicode line. – Niklas Hambüchen
  • Tests: fix tests when using Python 3.9 – Felix Schwarz
  • Tests: Remove deprecated 'sudo: false' from Travis configuration – Jon Dufresne
  • Tests: Support Py.test 6.x – Aarni Koskela
  • Utilities: LazyProxy: Handle AttributeError in specified func – Nikiforov Konstantin (#724)
  • Utilities: Replace usage of parser.suite with ast.parse – Miro Hrončok

Documentation

  • Update parse_number comments – Brad Martin (#708)
  • Add iter to Catalog documentation – @​CyanNani123

Version 2.8.1

This patch version only differs from 2.8.0 in that it backports in #752.

Changelog

Sourced from babel's changelog.

Version 2.9.1

Bugfixes


* The internal locale-data loading functions now validate the name of the locale file to be loaded and only
  allow files within Babel's data directory.  Thank you to Chris Lyne of Tenable, Inc. for discovering the issue!

Version 2.9.0

Upcoming version support changes

  • This version, Babel 2.9, is the last version of Babel to support Python 2.7, Python 3.4, and Python 3.5.

Improvements


* CLDR: Use CLDR 37 – Aarni Koskela (:gh:`734`)
* Dates: Handle ZoneInfo objects in get_timezone_location, get_timezone_name - Alessio Bogon (:gh:`741`)
* Numbers: Add group_separator feature in number formatting - Abdullah Javed Nesar (:gh:`726`)

Bugfixes


* Dates: Correct default Format().timedelta format to 'long' to mute deprecation warnings – Aarni Koskela
* Import: Simplify iteration code in "import_cldr.py" – Felix Schwarz
* Import: Stop using deprecated ElementTree methods "getchildren()" and "getiterator()" – Felix Schwarz
* Messages: Fix unicode printing error on Python 2 without TTY. – Niklas Hambüchen
* Messages: Introduce invariant that _invalid_pofile() takes unicode line. – Niklas Hambüchen
* Tests: fix tests when using Python 3.9 – Felix Schwarz
* Tests: Remove deprecated 'sudo: false' from Travis configuration – Jon Dufresne
* Tests: Support Py.test 6.x – Aarni Koskela
* Utilities: LazyProxy: Handle AttributeError in specified func – Nikiforov Konstantin (:gh:`724`)
* Utilities: Replace usage of parser.suite with ast.parse – Miro Hrončok

Documentation
</code></pre>
<ul>
<li>Update parse_number comments – Brad Martin (:gh:<code>708</code>)</li>
<li>Add <strong>iter</strong> to Catalog documentation – <a href="https://github.com/CyanNani123&quot;&gt;&lt;code&gt;@​CyanNani123&lt;/code&gt;&lt;/a&gt;&lt;/li>
</ul>
<h2>Version 2.8.1</h2>
<p>This is solely a patch release to make running tests on Py.test 6+ possible.</p>
<p>Bugfixes</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>

<ul>
<li><a href="https://github.com/python-babel/babel/commit/a99fa2474c808b51ebdabea18db871e389751559&quot;&gt;&lt;code&gt;a99fa24&lt;/code&gt;&lt;/a> Use 2.9.0's setup.py for 2.9.1</li>
<li><a href="https://github.com/python-babel/babel/commit/60b33e083801109277cb068105251e76d0b7c14e&quot;&gt;&lt;code&gt;60b33e0&lt;/code&gt;&lt;/a> Become 2.9.1</li>
<li><a href="https://github.com/python-babel/babel/commit/412015ef642bfcc0d8ba8f4d05cdbb6aac98d9b3&quot;&gt;&lt;code&gt;412015e&lt;/code&gt;&lt;/a> Merge pull request <a href="https://redirect.github.com/python-babel/babel/issues/782&quot;&gt;#782&lt;/a> from python-babel/locale-basename</li>
<li><a href="https://github.com/python-babel/babel/commit/5caf717ceca4bd235552362b4fbff88983c75d8c&quot;&gt;&lt;code&gt;5caf717&lt;/code&gt;&lt;/a> Disallow special filenames on Windows</li>
<li><a href="https://github.com/python-babel/babel/commit/3a700b5b8b53606fd98ef8294a56f9510f7290f8&quot;&gt;&lt;code&gt;3a700b5&lt;/code&gt;&lt;/a> Run locale identifiers through <code>os.path.basename()</code></li>
<li><a href="https://github.com/python-babel/babel/commit/5afe2b2f11dcdd6090c00231d342c2e9cd1bdaab&quot;&gt;&lt;code&gt;5afe2b2&lt;/code&gt;&lt;/a> Merge pull request <a href="https://redirect.github.com/python-babel/babel/issues/754&quot;&gt;#754&lt;/a> from python-babel/github-ci</li>
<li><a href="https://github.com/python-babel/babel/commit/58de8342f865df88697a4a166191e880e3c84d82&quot;&gt;&lt;code&gt;58de834&lt;/code&gt;&lt;/a> Replace Travis + Appveyor with GitHub Actions (WIP)</li>
<li><a href="https://github.com/python-babel/babel/commit/d1bbc08e845d03d8e1f0dfa0e04983d755f39cb5&quot;&gt;&lt;code&gt;d1bbc08&lt;/code&gt;&lt;/a> import_cldr: use logging; add -q option</li>
<li><a href="https://github.com/python-babel/babel/commit/156b7fb9f377ccf58c71cf01dc69fb10c7b69314&quot;&gt;&lt;code&gt;156b7fb&lt;/code&gt;&lt;/a> Quiesce CLDR download progress bar if requested (or not a TTY)</li>
<li><a href="https://github.com/python-babel/babel/commit/613dc1700f91c3d40b081948c0dd6023d8ece057&quot;&gt;&lt;code&gt;613dc17&lt;/code&gt;&lt;/a> Make the import warnings about unsupported number systems less verbose</li>
<li>Additional commits viewable in <a href="https://github.com/python-babel/babel/compare/v2.8.0...v2.9.1&quot;&gt;compare view</a></li>
</ul>
</details>

<br />

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 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 [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>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Jul 21, 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/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.
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