-
-
Notifications
You must be signed in to change notification settings - Fork 36
main is red: two pcapng crawlers emit a self-recursive _missing_ body, causing RecursionError #866
Copy link
Copy link
Closed
Labels
bugIssues reporting a defect (set by the bug report template; a default, not an assessment)Issues reporting a defect (set by the bug report template; a default, not an assessment)constRegenerated IANA or vendor constant tables; members keep their numeric valuesRegenerated IANA or vendor constant tables; members keep their numeric valuesfixPull requests that fix a defect (fix: subject prefix)Pull requests that fix a defect (fix: subject prefix)
Milestone
Description
Activity
Metadata
Metadata
Assignees
Labels
bugIssues reporting a defect (set by the bug report template; a default, not an assessment)Issues reporting a defect (set by the bug report template; a default, not an assessment)constRegenerated IANA or vendor constant tables; members keep their numeric valuesRegenerated IANA or vendor constant tables; members keep their numeric valuesfixPull requests that fix a defect (fix: subject prefix)Pull requests that fix a defect (fix: subject prefix)
Projects
- StatusShow more project fieldsDone
mainis red ate58618bdf: 12 tests fail across three files —tests/const/test_const_enum_lookup.py,tests/const/test_const_enum_no_mint.pyandtests/protocols/misc/test_pcapng_unit.py(7 of the 12) — surfacing as fivePython 3.10–3.14legs plusGateandRequired checks passed. One defect, allRecursionError.Reproduced on
946b84e83with the tree asserted; the cycle is three frames:Root cause.
pcapkit/vendor/pcapng/record_type.pyandpcapkit/vendor/pcapng/secrets_type.pyrender a two-line_missing_body whose first line does not return:That was harmless while the first line was
extend_enum(...), which registers the member so the followingcls(value)found it. #861 replaced it with_unregistered_member, which deliberately does not register — socls(value)misses again and re-enters_missing_.Why it was latent. #861 corrected the two generated files and not the two crawlers, so #861's own CI and
70fa92010were genuinely green (59 ok / 0 fail).e58618bdfregenerated from the stale crawlers and reintroduced it. #861's cross-review verified byte-identical regeneration for 5 sampled crawlers out of 82; these two were not sampled.Scope is exactly 2 of 103 registries — the other 101 carry
return cls._unregistered_member(...). Fix and a crawler-layer guard in the PR that follows.