Skip to content

awscrt: Add version 0.37.0 - #2278

Merged
luhenry merged 5 commits into
mainfrom
github-actions/nightly-upgrade/awscrt
Sep 25, 2026
Merged

luhenry merged 5 commits into
mainfrom
github-actions/nightly-upgrade/awscrt

Conversation

@riseproject-dev

Copy link
Copy Markdown
Contributor

Automatically generated by the nightly check_versions.py run.

awscrt v0.36.2 -> v0.37.0

Every - version: entry added to docs/packages/awscrt.yaml is built by this PR's own build-awscrt.yml run; merging publishes the wheels.

Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com>
@riseproject-dev
riseproject-dev Bot requested a review from luhenry September 24, 2026 07:17
@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-09-25 12:59 UTC

test_appexit.test_http failed only on 0.37.0's cp314-cp314t leg, at the
ClientBootstrapDone stage, with the child subprocess exiting 1. The trace
log shows the host resolver's own maintenance loop taking ~24 of the
30-second budget before the bootstrap/event-loop teardown that fires
shutdown_event even starts - a margin problem on a shared riscv64 runner
driving a free-threaded interpreter, not a hang: 0.36.3/0.36.4's cp314t legs
passed in the same run, and test/appexit_http.py is byte-identical across
all three versions, with no aws-c-io change between 0.36.4 and 0.37.0.

Patch upstream's hardcoded TIMEOUT from 30s to 90s (gotcha 568) rather than
skip the test, which is the one in the suite that proves the native
extension exits cleanly.
luhenry added a commit that referenced this pull request Sep 24, 2026
A subprocess-exit self-test's own hardcoded wall-clock TIMEOUT can fail
only on cp314t, only on one version, with no code change behind it -
free-threading's extra per-object overhead tips an existing margin rather
than creating a new bug (the awscrt 0.37.0 test_appexit case investigated
on PR #2278).
…awscrt build_wheels timeout increase (360->740 min)
The 0.36.3 cp314-cp314t leg sat for 12h with no output after the wheel had
built and been repaired, and GitHub's job timeout cancelled it. It hung in
the test step, in test_aiohttp_client's
test_stream_lives_until_complete_http, not in the CMake install. On an
earlier run, 0.36.4 cp314t hung the same way in test_http_client's
sync counterpart while 0.36.3 cp314t passed. The hang moves between
versions, and test/ is identical across 0.36.3, 0.36.4 and 0.37.0.

Both tests drop their stream/connection references and then call
HTTPServer.shutdown(), which waits for the keep-alive socket to close. On
a free-threaded build the stream's final DECREF on the native thread only
queues it for the main thread to free, and the main thread may already be
parked in shutdown(). Upstream's own x86_64 cp314t wheel from PyPI hangs
3/3 on a reproducer of that ordering, and cp314 does not.

Patch both tests, for every pending version, to wait for the stream to be
freed before stopping the server. With the patch, the four
stream_lives_until_complete tests pass 25/25 on cp314 and cp314t.
@luhenry
luhenry marked this pull request as ready for review September 25, 2026 12:57
@luhenry
luhenry merged commit 6e9966f into main Sep 25, 2026
19 checks passed
@luhenry
luhenry deleted the github-actions/nightly-upgrade/awscrt branch September 25, 2026 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant