Home - Summaries: (main) : (py3.11) : (py3.12) : Everything - Nightly builds - Benchmarks - RPython - Builders - About

memory/gc/test/test_incminimark.py::test_card_marking_bytes_for_length

def test_card_marking_bytes_for_length():
>       gc = IncrementalMiniMarkGC(None, card_page_indices=128)

memory/gc/test/test_incminimark.py:21: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
memory/gc/incminimark.py:299: in __init__
    self._setup_rawrefcount_pyobj_hdr(config)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <rpython.memory.gc.incminimark.IncrementalMiniMarkGC object at 0x128203f0>
config = None

    def _setup_rawrefcount_pyobj_hdr(self, config):
        "NOT_RPYTHON"
        # ob_pypy_link storage: cpyext builds that need the visible PyObject header
        # to match CPython's {ob_refcnt, ob_type} exactly (abi3 wheel loading) move
        # the link to a hidden prefix word immediately *before* ob_refcnt, like
        # PyGC_HEAD; their cpyext allocator reserves that word. Builds that don't
        # need abi3 compatibility keep the link inline as a regular header field,
        # as PyPy has always done -- their allocator never reserves a prefix word,
        # so turning this on without the matching cpyext change corrupts memory
        # before every allocation.
        #
        # translation.rawrefcount_link_prefix is the single source of truth for
        # this choice; it is False everywhere except where a target explicitly
        # opts in (see pypy/goal/targetpypystandalone.py, set for the py3.12/abi3
        # build). rpython.rlib.rawrefcount.RRC_LINK_PREFIX mirrors this value for
        # its untranslated (test-only) equivalents and must be kept in sync by hand.
>       self.rrc_link_prefix = config.rawrefcount_link_prefix
E       AttributeError: 'NoneType' object has no attribute 'rawrefcount_link_prefix'

memory/gc/incminimark.py:3182: AttributeError
builder: rpython-linux-x86-32 build #764*
test: memory/gc/test/test_incminimark.py::test_card_marking_bytes_for_length