GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||
GeezerVison is showing github.com — gh-139653: Remove assertions in _Py_InitializeRecursionLimits() by vstinner · Pull Request #141551 · python/cpython Conversation
|
It also fails on Alpine Linux. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
If an assertion is failing, fix whatever is causing the invariant to be broken. Don't just remove the assert. Please revert this change, and make an issue for the failures. Especially if it is "failing randomly". It is a necessary invariant that the stack pointer lie between the top of the stack and the soft limit. If that is not the case, we need to fix it. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This PR is to repair FreeBSD and Alpine buildbots. These buildbot workers were crashing randomly (with an assertion error in fact). I suppose that WASI had the same issue but it was more likely on WASI so I already skipped the assertion on WASI.
It's the following assertion which fails randomly: uintptr_t here_addr = _Py_get_machine_stack_pointer(); .... assert(here_addr < ts->c_stack_top); The code to get the stack top in uintptr_t top_addr = _Py_SIZE_ROUND_UP(here_addr, 4096); Maybe one problem is that the assertion is not checked in the same function than I don't have time to investigate this issue right now. I suppose that you should be able to reproduce it if you disable the |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
It doesn't repair anything. It just leaves a latent bug to blow up later.
Then fix that, or make an issue for me to fix. Please don't turn off asserts without any review.
Sure, let's move the assert to make the point of failure clearer.
I'll try that. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Oh, and please read https://github.com/python/cpython/blob/main/InternalDocs/stack_protection.md |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…pythonGH-141551) These checks were invalid and failed randomly on FreeBSD and Alpine Linux.
…python#141551) These checks were invalid and failed randomly on FreeBSD and Alpine Linux.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.