Skip to content

INQACCCU: AD2Z abend on the cursor OPEN and FETCH, hand and generated cases (Part of #6271) - #6384

Merged
squid-protocol merged 1 commit into
mainfrom
churn/6271-20261024T0625Z
Oct 24, 2026
Merged

squid-protocol merged 1 commit into
mainfrom
churn/6271-20261024T0625Z

Conversation

@squid-protocol

@squid-protocol squid-protocol commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

Part of #6271 (abend injection slice 5). No engine, harness or translator change: X73's sql_faults + abend: AD2Z already handles a cursor statement named by line; this slice proves it on INQACCCU's cursor statements.

What changed

  • cbsa-inqacccu and cbsa-inqacccu-generated: scenarios open-deadlock-abends-ad2z (OPEN ACC-CURSOR, line 246) and fetch-deadlock-abends-ad2z (FETCH, line 466; the second FETCH in the hand case, the first in the generated case because generated rows give customer 1 fewer than two accounts; nth=2 there fired nothing and was caught by the "faults fired" check). Each: -911, SQLERRMC 00C90088, AD2Z.
  • Both cases PROVED by det_port.py run (COBOL vs Java, every scenario). Coverage of INQACCCU (ledgers regenerated via proof_sweep --det-only --record-ledger + det_coverage_ledger update):
case scenarios paragraphs branches
cbsa-inqacccu before 11 16/22 21/33
cbsa-inqacccu after 13 18/22 23/33
cbsa-inqacccu-generated before 36 16/22 19/33
cbsa-inqacccu-generated after 38 18/22 21/33

The AD2Z arm now runs and the abend path LINKs ABNDPROC. Still uncovered: AH999, POPULATE-TIME-DATE / PTD010 / PTD999 (the ABNDPROC-info date path, reached from the AFCR/AFCS/AFCT and non-AD2Z arms; separate slice).

  • tests/tools/test_equivalence_sql_abend_injection.py: plan accepted on OPEN, FETCH and CLOSE statement kinds; both cases' abend scenarios pinned.
  • X73.md: reached list and status updated.

Class / Sibling gaps

Class: AD2Z planned on a Db2 statement named by source line, every cursor statement kind (OPEN, FETCH, CLOSE) as one mechanism with UPDATE/INSERT. OPEN and FETCH are proved end to end here; CLOSE is unit-tested (plan accepted) but has no abend scenario, since INQACCCU's CLOSE path is already covered by cursor-close-fails. Sibling gaps: INQACC (no HANDLE ABEND reached; refused by X73's rule), LINK/CALL abends and non-file CICS command abends (later #6271 slices, no burned program named yet beyond INQACCCU's AFCR/AFCS/AFCT arms and POPULATE-TIME-DATE).

Facts checked: hand case PROVED with 13 scenarios, generated PROVED with 38; pr_gates --fast 7/7, --ratchets 9/9, test_evidence.py + test_det_coverage_ledger.py pass; no golden re-bless needed (no parsing change); no translator change so det_port check not needed.

🤖 Generated with Claude Code

… cases (Part of #6271)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@squid-protocol squid-protocol added the shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md label Oct 24, 2026
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol
squid-protocol marked this pull request as ready for review October 24, 2026 06:38
@squid-protocol
squid-protocol enabled auto-merge (squash) October 24, 2026 06:43
@squid-protocol

Copy link
Copy Markdown
Owner Author

No description provided.

@squid-protocol
squid-protocol merged commit c9fb463 into main Oct 24, 2026
57 checks passed
@squid-protocol
squid-protocol deleted the churn/6271-20261024T0625Z branch October 24, 2026 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

shepherd:merge Maintainer: merge when green (auto-merge, squash). Guide: docs/ci.md

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant