Irit Katriel <iritkatr...@yahoo.com> added the comment:
Still happening in 3.10: Python 3.10.0a5+ (heads/master:bf2e7e55d7, Feb 11 2021, 23:09:25) [MSC v.1928 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import gc >>> TAG = object() >>> >>> def monitor(): ... lst = [x for x in gc.get_referrers(TAG) ... if isinstance(x, tuple)] ... t = lst[0] # this *is* the result tuple ... print(t) # full of nulls ! ... return t # Keep it alive for some time ... >>> def my_iter(): ... yield TAG # 'tag' gets stored in the result tuple ... t = monitor() ... for x in range(10): ... yield x # SystemError when the tuple needs to be resized ... >>> tuple(my_iter()) (<object object at 0x00000217225091B0>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>, <NULL>) Traceback (most recent call last): File "<stdin>", line 1, in <module> SystemError: C:\Users\User\src\cpython-dev\Objects\tupleobject.c:963: bad argument to internal function >>> ---------- versions: +Python 3.10, Python 3.8, Python 3.9 -Python 2.6, Python 2.7 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue15108> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com