Skip to content

Conversation

@alexcrichton
Copy link
Member

Seeing if any issues arise...

Seeing if any issues arise...
@alexcrichton
Copy link
Member Author

After a-bit-too-much-debugging I've learned:

  • The failure here is due to a Python-semantics issue where an object is alive when it shouldn't be.
  • That's because of this logic where deallocs are deferred when Python thinks it's out-of-stack
  • Python thinks it's out-of-stack due to two reasons:
    • The root issue is this commit, a patch for this fork of Python. I don't think that's necessary any more and deleting that commit makes everything pass.
    • Between wasi-sdk-27 and wasi-sdk-30 Fix a few users of single-thread TLS WebAssembly/wasi-libc#618 landed. This enabled a function which python uses to probe the stack size of the current thread meaning that the stack size calculations differed from before (got more accurate I believe).

By reverting dicej/cpython@5522080 I got tests to pass locally with wasi-sdk-30. @dicej can you make a new branch in your fork with that commit missing?

@dicej
Copy link
Collaborator

dicej commented Feb 12, 2026

Thanks for figuring this out, @alexcrichton! I'll update my CPython fork and then update the submodule in this PR.

@dicej dicej merged commit 9f96496 into bytecodealliance:main Feb 12, 2026
4 checks passed
@alexcrichton alexcrichton deleted the wasi-sdk-30 branch February 12, 2026 19:16
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.

2 participants