On the main branch, on both Windows and Linux, this crashes:
class Thing:
pass
thing = Thing()
for i in range(10):
print(i)
try:
str.upper(thing)
except TypeError:
pass
print("ok")
Other methods like str.split, bytes.split, and list.sort fail similarly. I caught this by running
./python -m test test_descr -m test_proxy_call -R3:20
Looking through stack traces, it appears the failure is on the res = cfunc(...) call in PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS instruction. It looks to be a 3.11-only bug.
On the main branch, on both Windows and Linux, this crashes:
Other methods like
str.split,bytes.split, andlist.sortfail similarly. I caught this by runningLooking through stack traces, it appears the failure is on the
res = cfunc(...)call inPRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDSinstruction. It looks to be a 3.11-only bug.