Skip to content

Throughput harness: 'Execution context was destroyed' opening the form in a parallel worker stops the worklist #1348

Open

Description

@abrichr

What happens

In the throughput harness's 8-worker run (--workers 8 --processes --speed fast, engine b82131e from #1296), worker oa_clerk4 failed item 5 0.087 s after claiming it:

worker raised RuntimeError: worker oa_clerk4: Error: Frame.evaluate: Execution context was destroyed,
most likely because of a navigation

The item never reached the engine (no report.json, wall_s 0.087), and nothing was written (new_charts: 0). The worklist stopped and paused 18 items. Rows: packages/flow/benchmark/scoreboard/raw/openemr_referral/parallel/worklist-8w-2026-10-19 (#1303).

Likely cause

The failure is in the harness's own per-item setup, which opens the blank New Patient form, not in a replayed step. The harness opens the form by running window.navigateTab(...) in the tab frame (benchmark/openemr_throughput/harness.py, around line 288). If that frame is still navigating, after sign-in or after the previous item's demographics page, the evaluate call loses its context. With 8 workers on one host (load around 42), that window is wide.

To fix

Wait for the tab frame's load state (or retry the evaluate once, on this specific error) before opening the form for each item. Count a setup failure as a setup failure, so the worklist can retry the item instead of stopping the whole pool on it. This is harness code; the engine isn't involved.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions