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
{{ message }}
Repository navigation
Commit 4e9e56b
Browse filesBrowse the repository at this point in the historyBrowse files
The shadow's id registry held no reference to the documents it recorded,
so entries could only be validated by a stored _c_doc address and the
dict was capped at 4096 to bound growth from dead documents. At the cap
it deleted an arbitrary entry, which could be a live document's: a
long-running process that keeps an early signed document and registers
ids for 4096 later ones silently stopped resolving that document's #id
references.
An entry now keeps a strong reference to its _Document. The key, the
document's address, can then never go stale — the entry itself keeps
that address occupied — so the _c_doc check is gone; and liveness
becomes decidable without weak references, which lxml's classes refuse:
when the registry holds the only reference to a document, nothing can
present that document to a binding again, so the entry is dead. Every
new registration first drops those entries, which bounds both the
registry and the documents it pins by the documents still in use. No
cap, and nothing reachable is ever evicted.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
0 commit comments