Skip to content

tests/windows: correct the xxreg known-failure diagnosis - #9

Merged
fw2568 merged 1 commit into
dbosoft-mainfrom
windows/correct-xxreg-diagnosis
Jun 10, 2026
Merged

fw2568 merged 1 commit into
dbosoft-mainfrom
windows/correct-xxreg-diagnosis

Conversation

@fw2568

@fw2568 fw2568 commented Jun 10, 2026

Copy link
Copy Markdown

known-failures.md attributed the xxreg/xreg "2-/8-bit field" failure to an MSVC enum/width miscomputation. That diagnosis was wrong.

Real root cause: a prior in-source autotools build of the ovs submodule left a stale generated ovs/lib/meta-flow.inc on disk. A quoted #include "meta-flow.inc" from ovs/lib/meta-flow.c resolves the compiland's own directory before any -I path, so the stale copy shadowed the freshly generated gen/lib/meta-flow.inc. The stale table had 183 field entries vs today's 211-id MFF_N_IDS; with positional init + direct indexing (mf_fields[id]), the register fields read the wrong slots and reported 2-/8-bit instead of 128/64-bit. OVN's lib/logical-fields.c was correct all along.

A clean checkout (CI) never had the stale .inc, so CI was unaffected — this only bites a local tree that was once autotools-built. Confirmed fixed after removing it: ovntest test-ovn parse-expr normalizes xxreg0[0..127] → xxreg0 and accepts xxreg0[64..127] with no error. A configure-time guard in dbosoft/ovs (PR dbosoft/ovs#51) prevents recurrence and reaches OVN on the next ovs submodule bump.

Doc-only: corrects the section-1 root cause, flags that the local 304/65 baseline was contaminated and must be re-measured on a clean build, and notes the ~37 cascades are expected to clear. Bug #2 (mirror Index/Key) is untouched.

The xxreg/xreg "2-/8-bit field" failure was misattributed to an MSVC enum/width
bug. The real cause is a stale in-source generated meta-flow.inc (left by a
prior autotools build of the ovs submodule) shadowing the freshly generated
gen/ copy: a quoted #include resolves the compiland's own dir first, so the
stale 183-entry table compiled against today's 211-id enum, misindexing
mf_fields[] and giving xreg/xxreg the wrong widths.

A clean checkout (CI) is unaffected. Removing the stale .inc fixes it (verified
via `ovntest test-ovn parse-expr`); a configure-time guard in dbosoft/ovs CMake
prevents recurrence and reaches OVN on the next ovs submodule bump. The local
baseline was contaminated by this, so it must be re-measured on a clean build.
@fw2568
fw2568 merged commit 98e263c into dbosoft-main Jun 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant