Skip to content

spike(#549): capture restart_service crash signature on Windows (DO NOT MERGE)#556

Closed
heskew wants to merge 1 commit into
mainfrom
spike/blob-windows-crash-capture
Closed

spike(#549): capture restart_service crash signature on Windows (DO NOT MERGE)#556
heskew wants to merge 1 commit into
mainfrom
spike/blob-windows-crash-capture

Conversation

@heskew
Copy link
Copy Markdown
Member

@heskew heskew commented May 15, 2026

DO NOT MERGE — diagnostic branch only.

Purpose

Trigger the existing `run-integration-apiTests-windows` CI job against an unskipped `23_blob.mjs` so we capture the actual crash signature for #549. The crash was documented in commit `0751644f` ("'restart_service' operation for 'http_workers' in 23_blob.mjs causes the HarperDB process to crash") but no stack trace was ever preserved.

What this branch does

Removes the three Windows skips in `integrationTests/apiTests/tests/23_blob.mjs`:

  1. Outer suite-level skip on `describe('23. Blob', { skip: process.platform === 'win32' }, ...)`
  2. Per-test `t.skip` inside the first "Restart Service: http workers and wait"
  3. Per-test `t.skip` inside the second "Restart Service: http workers and wait"

Every other Windows skip elsewhere in the apiTests suite remains untouched. No source code change.

What happens

  1. CI fires the existing `run-integration-apiTests-windows` job
  2. The blob suite deploys its component, then hits `restart_service { service: 'http_workers' }` while the blob component has open file handles
  3. Harper crashes (per Kris's prior documentation)
  4. The existing `harper-integration-api-test-logs-windows` artifact upload captures hdb.log + stdouts + stderrs

After the run

  1. Download the artifact
  2. Attach the crash signature to Windows: investigate restart_service crash blocking component-load test paths #549
  3. Close this PR without merging

The production fix for the underlying crash lives in `lmdb-js` native binding cleanup or in Harper's worker shutdown ordering — neither involves un-skipping these tests in this manner. This is purely a diagnostic capture.

Note re: Kris's PR #555

#555 is migrating the apiTests suite to the new `@harperfast/integration-testing` framework on isolated per-test-file Harper instances. It does not touch `23_blob.mjs` in this first slice. Spike and #555 don't conflict at the file level.

🤖 Generated with Claude Code

DO NOT MERGE. Diagnostic branch to capture the actual crash signature
when `restart_service { service: 'http_workers' }` runs inside the
blob component test context on Windows.

Removes both the suite-level Windows skip and the two per-test
restart_service Windows skips in 23_blob.mjs. The existing
`run-integration-apiTests-windows` CI job will run, the blob context
will trigger the crash Kris documented in `0751644f`, and the existing
`harper-integration-api-test-logs-windows` artifact upload will
capture hdb.log + stdouts + stderrs for analysis.

Once the artifact is downloaded and #549 has a real stack trace,
this branch should be closed without merging — the production fix
lives in `lmdb-js` native binding cleanup or in Harper's worker
shutdown ordering, neither of which involves un-skipping these tests
in this manner.
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented May 15, 2026

Reviewed; no blockers found. Diagnostic-only branch — the three skip removals match the stated purpose exactly.

@heskew
Copy link
Copy Markdown
Member Author

heskew commented May 15, 2026

Spike complete. Crash signature captured and attached to #549. Closing without merge as planned.

@heskew heskew closed this May 15, 2026
@heskew heskew deleted the spike/blob-windows-crash-capture branch May 15, 2026 15:18
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