Skip to content

OpenVMX V0.7-13

Latest

Choose a tag to compare

@github-actions github-actions released this 19 Oct 04:46
· 73 commits to main since this release
6260b6d

OVMX V0.7-13 Release Notes

Generated by tools/gen_release_notes.py from the merged history since V0.7-12 (22 commits). Do not hand-edit this file -- re-run the tool against the release tag instead.

Highlights

  • OVMX/VAX Node B no longer runs out of memory during startup (vms-4029, vms-83d). Node B is a small VAX, and it had been losing its memory before STARTUP.COM finished. It now stages the heavy SYS$SYSTEM utilities on first use instead of all at boot (#1784), and DCL symbols take the space of their value instead of 4.4 KB each (#1793). A new 16 MB VAX CI leg with a free-memory floor guards this (#1794), and the public demo boots Node B with 32 MB, a MicroVAX 3900 configuration (openvmx-site #82). The pre-tag visitor gate on the release candidate (openvmx-site run 39187392378, Node B built from the candidate at 32 MB) passed 8 of 8 join orders with 0 VAX bugchecks; the real VAX admitted both OVMX nodes, offered Username:, and both OVMX nodes reached a logged-in DCL prompt in every order. One run per order is evidence, not proof.
  • The visitor gate no longer mistakes a late login for a failure (vms-25f). The gate was racing a login prompt that arrives late; it now starts the login over like a visitor would, with a bounded and counted retry (#1804). This changes how the demo is proven, not what OVMX does.
  • Shell and toolchain work toward self-hosting. DCL LINK runs LINK.EXE with VMS syntax and an options file (vms-ce4, #1791). On OVMX/Alpha, the real xgcc driver runs cc1 and as (vms-1eb, #1789), GNU as assembles cc1's output (vms-5303e, #1746), and cc1, as and LINK.EXE built for the alpha-dec-vms host compile, assemble and link a C program (vms-e40, #1790). $LKWSET and $ULWSET lock and unlock pages (vms-18c2, #1779).
  • DCL commands reject qualifiers they do not implement (vms-097). READ, WRITE, LIBRARY, TELNET and FTP answer %DCL-W-IVQUAL for an unsupported qualifier, READ honours /END_OF_FILE and /ERROR=label, and WRITE honours /SYMBOL and /ERROR=label (#1782, #1796, #1801, #1795). Eleven stale "absent" rows in the compatibility register were re-grounded against the source (#1802).
  • Faster, tiered CI. Heavy legs run nightly and before a tag, and are path-filtered in the merge queue (#1749). This changes how a release is proven, not what it does.

Known open items

  • A rare console-input wedge remains (vms-25f residual). In about 1 of 50 throttled runs during development, a cluster node's console stopped taking input after a login timeout and the visitor could not log in. No peer crashes. It is not fixed in this release.
  • The 0b/05 database request names transfer connection 0, where real requests name one (19 of 19 in the capture corpus) (vms-9045).
  • Clusterwide logical names are not sent from OVMX yet. A local change to a clusterwide table is refused with SS$_UNSUPPORTED while other members exist (vms-94a follow-up).
  • Lock-tree remastering on the wire is not done yet (vms-380), and a former master does not yet answer "not master here" (vms-657).

Features

  • cut: V0.7-13 -- Node B memory starvation fixed; the 3-node cluster demo passes its visitor gate 8/8 (vms-4029, vms-83d, vms-25f) (#1806)
  • vms-097: SHOW validates qualifiers per sub-verb (IVQUAL) (#1799)
  • vms-097: SET validates qualifiers per sub-verb (IVQUAL) (#1798)
  • vms-097: RUN refuses unknown/ambiguous qualifiers (IVQUAL/ABKEYW, oracle-pinned) (#1783)
  • vms-65a: the real xgcc driver compiles AND links hello.c on OVMX/Alpha (system() via LIB$SPAWN, $CREPRC on Alpha, getcwd, LINK default search) (#1792)
  • vms-097: MAIL validates qualifiers; /SUBJECT forwarded intact (#1797)
  • vms-25f: the gate starts a late login over like a visitor (Password: before the password; Timeout -> wake and retry, bounded and counted) (#1804)
  • ci: tier heavy legs (queue by path; nightly + pre-tag full; none on push) (#1749)
  • vms-097: LIBRARY validates qualifiers (IVQUAL); /COMPRESS and /VAX are no-ops by construction (#1801)
  • vms-097: WRITE validates qualifiers; /SYMBOL writes the symbol value, /ERROR=label branches (#1796)
  • vms-ce4: DCL LINK runs LINK.EXE with VMS syntax and an options file (what vms-ld.c calls) (#1791)
  • compat: re-ground 11 stale absent rows against origin/main (ots string copy/dd, sys$getlki(w), sys$setprn, sys$schdwk, sys$gettim_prec; drop duplicate lib$sig_to_stop) (#1802)
  • vms-097: TELNET and FTP validate their qualifiers (IVQUAL), guest test + negctl (#1795)
  • vms-83d: DCL symbols sized to their value, not 4.4 KB each (16 MB VAX headroom) (#1793)
  • vms-e40: link-gate — cc1, as and OVMX LINK.EXE built for the alpha-dec-vms host compile, assemble and link a C program on OVMX/Alpha (#1790)
  • vms-83d: stage SYS$SYSTEM utilities on first use, not all at boot (the staging dir is RAM on a 16 MB VAX) (#1784)
  • vms-18c2: $LKWSET/$ULWSET really lock and unlock pages (#1779)
  • vms-1eb: driver-gate — the real xgcc driver runs cc1 and as on OVMX/Alpha (#1789)
  • reconcile after V0.7-12: highlights corrected to what the gate shows (6/8 on the tag, vms-4029 known issue); notes regenerated from the tag; roadmap + compat surface regenerated (#1786)
  • vms-5303e: GNU as (binutils 2.43 for the alpha-dec-vms host) runs on OVMX/Alpha and assembles cc1's output; DUMP equals the cross assembler's object (#1746)
  • vms-097: DCL READ validates its qualifiers and honours /END_OF_FILE and /ERROR labels + guest test + host test + 2 negctls (#1782)

Fixes

  • vms-83d: 16 MB VAX CI leg + free-memory floor (regression guard for Node B starvation) (#1794)