Repository navigation
vms-629: OVMX's lock directory answers a real VAX's op-0x08 barrier lookup (the VAX barrier no longer wedges at step 7) - #1422
Merged
Conversation
…ookup -- unanswered, the VAX's barrier never released A real VAX forming a cluster with OVMX as a founding member sends its directory node cat-0x02 op 0x08 for SYS$SYS_ID+<its own SCSSYSTEMID> at barrier step ~7 and holds the next release until it is answered. OVMX refused it under RULE C, so the VAX's barrier stopped at step 7 and the cluster admitted nobody (dlmlab runO, OVMXA+VAXC+OVMXB, 0 bugchecks). Oracle, two independent real samples: coldform-ev2-formation.pcap records 121/123 and a fresh dlmlab two-VAX cold formation (cf1-op08.pcap): the other VAX answers 82/01 -- the request echoed, opcode byte 0x01, body[34] = 0xf9 -- within 1.5 ms, and the barrier proceeds. VMS_DLM_WIREOP_DIR_LOOKUP_TR (0x08): a ROOT lookup the directory role reads like an op-0x01 one (vms_dlm_res_ident_parse_body) and answers with the same builder, which now writes opcode 0x01 in every answer. A redirect answer to an op 0x08 has never been observed, so that case is held back, counted and said once. R1: test_dlm_dir answers both real requests byte-identically to the real VAX answers (opcode included); test_dlm_scs_arm source-scans the routing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
baron-3dl
force-pushed
the
work/vms-629-op08
branch
from
October 7, 2026 20:27
c4a7de6 to
b63f2e3
Compare
Contributor
Author
|
Stall matrices on the combined build (main + vms-629 + vms-ba4 final, SOURCE 96e71f6), dlmlab, real V7.3 VAXC: 20 arms, 0 VAX bugchecks. The runs were R-1..R-14, N3-1..N3-3 and P-1..P-3; the k3s-worker rebooted under load twice, which ended two runs early. The class this fixes is the b-then-a 13/14 s arms:
The remaining FAILs fall into the tracked classes: vms-ec2, vms-04b, and stall longer than RECNXINTERVAL. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The bug. A real V7.3 VAX forming a cluster with OVMX as a founding member (the vms-f29 path) does this:
SYS$SYS_ID+⟨its own SCSSYSTEMID⟩.OVMX refused op 0x08 under RULE C. As a result:
transition_active.Oracle. Two independent real-VAX samples:
coldform-ev2-formation.pcaprecords 121/123.tests/lab/captures/vms-629-op08-20261005/cf1-op08.pcap.In both, the other VAX answers 82/01 within 1.5 ms: the request is echoed, the opcode byte reads 0x01, and body[34] = 0xf9 ("you master it"). The barrier then proceeds.
Change.
VMS_DLM_WIREOP_DIR_LOOKUP_TR(0x08). The directory role (vms-8219) reads it as a root lookup and answers it with the same grounded builder as an op-0x01 lookup.Tests.
test_dlm_diranswers both real requests byte-identically to the real VAX answers, opcode included (the stale span is handled as in vms-8219).test_dlm_scs_armsource-scans the routing.terminal_identity_gate(rd vms-946).More arms are running; I will post the results on this PR.
🤖 Generated with Claude Code