• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

aio-libs / multidict / 36467934983
87%

Build:
DEFAULT BRANCH: master
Ran 28 Sep 2026 06:50PM UTC
Jobs 1
Files 46
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Sep 2026 06:49PM UTC coverage: 86.999% (+0.003%) from 86.996%
36467934983

push

github

web-flow
Give the re-init stress test's readers time to drain (#1633)

<!-- Thank you for your contribution! -->

## What do these changes do?

`test_reinit_finalizer_vs_lock_free_readers` (#1621) timed out on the
Windows 3.10, 3.11 and 3.12 jobs, at `f.result(timeout=60)` for its
readers. The faulthandler dump from a 183 s run shows every reader still
inside `Value.__del__()` -> `probe()` after the writer finished, each
blocked in `coverage/collector.py: lock_data`. Under coverage's C tracer
(3.10 to 3.12) every traced line takes a lock the threads share, and the
readers are draining the finalizers of generations their `copy()`
snapshots outlived. That work is bounded (3216 finalizers, nesting depth
1), just slow: 0.4 s without coverage, 12 to 20 s with it on a Linux
3.11 box, and over three minutes on the Windows runners. The failure
reports also show every reader future finished by the time pytest
rendered them.

The writer now gets 300 s and the readers a shared 300 s deadline,
inside the job's 15-minute limit.

## Are there changes in behavior for the user?

No, tests only.

## Is it a substantial burden for the maintainers to support this?

No.

## Related issue number

Follows #1621. Failed on #1625, #1628 (twice) and #1630; re-runs passed.

## Checklist

- [x] I think the code is well written
- [ ] Unit tests for the changes exist (N/A, a test timeout)
- [x] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt` (N/A)
- [x] Add a new news fragment into the `CHANGES/` folder
- [x] `make doc-spelling` passes and any new technical words are added
to `docs/spelling_wordlist.txt`

<details>
<summary>Agent run details (optional, for reviewers)</summary>

`tests/test_free_threading.py`: GIL 3.14.7 10 passed, FT 3.14.7t 10
passed (without coverage); 3.11.13 with coverage, the two cases took
12.4 s and 19.9 s.

Lint: pre-commit clean.
</details>

Drafted with Claude Code (Claude Opus 5.5); reviewed by @asvetlov.

790 of 1580 branches covered (50.0%)

Branch coverage included in aggregate %.

4 of 4 new or added lines in 1 file covered. (100.0%)

8779 of 9419 relevant lines covered (93.21%)

1.86 hits per line

Jobs
ID Job ID Ran Files Coverage
1 MyPy - 36467934983.1 28 Sep 2026 06:50PM UTC 92
87.0
GitHub Action Run
Source Files on build 36467934983
  • Tree
  • List 46
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #36467934983
  • 2800fef7 on github
  • Prev Build on master (#36467795488)
  • Next Build on master (#36470950931)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc