Repository navigation
"wasm32-wasi 3.x" buildbot times out on building Python #151929
Copy link
Copy link
Closed
Labels
OS-wasibuildThe build process and cross-buildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
The wasm32-wasi 3.x buildbot worker seems to be affected by this LLVM (clang) performance issue: llvm/llvm-project#179695. Sometimes, the "Compile build Python" step is killed by a timeout.
Example of failure: the "Compile build Python" times out after 35 minutes 10 seconds.
clang -shared Modules/pyexpat.o -lm Modules/expat/libexpat.a -o Modules/pyexpat.cpython-316d-x86_64-linux-gnu.so
clang -shared Modules/_elementtree.o -o Modules/_elementtree.cpython-316d-x86_64-linux-gnu.so
command timed out: 1200 seconds without output running [b'python3', b'Tools/wasm/wasi.py', b'make-build-python'], attempting to kill
process killed by signal 9
program finished with exit code -1
"Compile build Python" uses clang -Og.
Linked PRs
- gh-151929: Get boot identifier and uptime in test.pythoninfo #152127
- [3.15] gh-151929: Get boot ID, machine ID and uptime in test.pythoninfo (GH-152127) #152134
- [3.14] gh-151929: Get boot ID, machine ID and uptime in test.pythoninfo (GH-152127) #152135
- gh-151929: Add pythoninfo commands to Platforms/WASI #152136
- [3.13] gh-151929: Get boot ID, machine ID and uptime in test.pythoninfo (#152127) #152137
- gh-151929: Get machine ID and uptime on Windows in pythoninfo #152146
- [3.15] gh-151929: Get machine ID and uptime on Windows in pythoninfo (#152146) #152187
- gh-151929: Get uptime on BSD/macOS in pythoninfo #152189
- [3.14] gh-151929: Get machine ID and uptime on Windows in pythoninfo (#152146) (#152187) #152193
- [3.13] gh-151929: Get machine ID and uptime on Windows in pythoninfo (#152146) (#152187) (#152193) #152195
- [3.15] gh-151929: Get uptime on BSD/macOS in pythoninfo (GH-152189) #152196
- [3.14] gh-151929: Get uptime on BSD/macOS in pythoninfo (#152189) #152197
- [3.13] gh-151929: Get uptime on BSD/macOS in pythoninfo (#152189) (#152197) #152207
- gh-151929: Add pythoninfo-build command to Platforms/emscripten #152210
- [3.15] gh-151929: Add pythoninfo-build command to Platforms/emscripten (GH-152210) #152217
- [3.14] gh-151929: Add pythoninfo-build command to Platforms/emscripten (GH-152210) #152218
- [3.15] gh-151929: Add pythoninfo commands to Platforms/WASI (GH-152136) #152222
- [3.14] gh-151929: Add pythoninfo commands to Tools/wasm/wasi (#152136) #152224
- [3.13] gh-151929: Add pythoninfo commands to Tools/wasm/wasi.py (#152136) (#152224) #152226
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
OS-wasibuildThe build process and cross-buildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Activity
vstinner commentedon Jun 22, 2026
cc @brettcannon
vstinner commentedon Jun 22, 2026
I wrote cpython-devcontainers PRs to upgrade Fedora from 43 to 44, but stick to LLVM 21:
brettcannon commentedon Jun 22, 2026
It might also be the buildbot itself. A relaunch of the buildbot container got it to completion, but perf is still bad. I'll try a reboot after the 3.15.0b3 release.
brettcannon commentedon Jun 23, 2026
Reboot helped a little, but a full run has still gone from 00:30 to 1:14.
vstinner commentedon Jun 24, 2026
The C compiled used to compile host Python is 4.6x slower and seems to produce 3.4x slower WASI code. Did you change the WASI toolchain in the last 5 days?
Build 234 (before): 10 slowest tests:
Build 250: 10 slowest tests:
So for example, test_zipfile became 3.7x slower.
vstinner commentedon Jun 24, 2026
Right now,
/opt/wasi-sdk-33.0-x86_64-linux/bin/clangis clang 22.1:vstinner commentedon Jun 24, 2026
I built Python for WASI on my Fedora 44 laptop (12 CPUs):
--with-pydebug)clang -Og)/opt/wasi-sdk-33.0-x86_64-linux/bin/clang -O3)Timings are quite good, better than "wasm32-wasi 3.15" worker.
So maybe something is wrong on "wasm32-wasi 3.15" worker?
brettcannon commentedon Jun 24, 2026
That's what I'm starting to wonder, although I don't know what since it's a VM in Azure that does nothing else but run as a buildbot.
gh-151929: Get boot ID, machine ID and uptime in test.pythoninfo (#15…
[3.14] gh-151929: Get boot ID, machine ID and uptime in test.pythonin…
[3.15] gh-151929: Get boot ID, machine ID and uptime in test.pythonin…
[3.13] gh-151929: Get boot ID, machine ID and uptime in test.pythonin…
4 remaining items
[3.14] gh-151929: Get machine ID and uptime on Windows in pythoninfo (#…
gh-151929: Get uptime on BSD/macOS in pythoninfo (#152189)
[3.13] gh-151929: Get machine ID and uptime on Windows in pythoninfo (#…
[3.14] gh-151929: Get uptime on BSD/macOS in pythoninfo (#152189) (#1…
[3.15] gh-151929: Get uptime on BSD/macOS in pythoninfo (GH-152189) (#…
[3.13] gh-151929: Get uptime on BSD/macOS in pythoninfo (#152189) (#1…
gh-151929: Add pythoninfo-build command to Platforms/emscripten (#152210
[3.15] gh-151929: Add pythoninfo-build command to Platforms/emscripten (
[3.14] gh-151929: Add pythoninfo-build command to Platforms/emscripten (
gh-151929: Add pythoninfo commands to Platforms/WASI (#152136)
[3.15] gh-151929: Add pythoninfo commands to Platforms/WASI (GH-152136)…
[3.14] gh-151929: Add pythoninfo commands to Tools/wasm/wasi (#152136) (
[3.13] gh-151929: Add pythoninfo commands to Tools/wasm/wasi.py (#152136
brettcannon commentedon Jun 29, 2026
As of https://buildbot.python.org/all/#/builders/2062/builds/295, the runs are back to taking around 20 minutes.