You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
63b415c papers over the issue, but we should figure out why it's too small in the first place and fix the root cause.
So far I haven't been able to find a repro case, not sure where the checker.py mentioned in the commit message comes from; there's no checker.py in the CPython repo.
The text was updated successfully, but these errors were encountered:
Inada Naoki noticed that Python crashed
when using the following command-line:
./python -m py_compile checker.py
Valgrind diagnosed the error. stackdepth()
in compile.c measures how many basic blocks
there are, then creates a "stack" with enough
space for... something? Then walks the graph
of blocks and measures the total stack depth,
using "stack" as some sort of context stack.
The problem: in certain circumstances,
"stack" was *way* smaller than it should have
been. The worst observed one: we thought we
needed 66 slots, but we needed over 150 (!!!).
I "fixed" it by making it realloc() "stack"
in case it's too small. I don't know why
this should be necessary. Hopefully someone
more expert with compile.c can take a look.
63b415c papers over the issue, but we should figure out why it's too small in the first place and fix the root cause.
So far I haven't been able to find a repro case, not sure where the
checker.py
mentioned in the commit message comes from; there's nochecker.py
in the CPython repo.The text was updated successfully, but these errors were encountered: