Flaky test
[chromium] › specs/media-upload.spec.js:172 › Media Upload Performance › Single Image Upload › Large JPEG uploads
Part of the "Run performance tests" job (Performance Tests workflow).
Failure mode
The test uploads 3200x2400_e2e_test_image_responsive_lightbox.jpeg into an Image block and waits for the image src to flip from the client-side blob: URL to a server URL:
Error: expect(locator).toHaveAttribute(expected) failed
Locator: locator('[name="editor-canvas"]').contentFrame().locator('role=document[name="Block: Image"i]').getByRole('img', { name: 'This image has an empty alt attribute' })
Expected pattern: /^https?:\/\//
Received string: "blob:http://localhost:8889/ec4737c2-6259-44a0-9c82-a9b1aea9bb84"
Timeout: 120000ms
The src never resolves within the full 120s timeout, i.e. the upload stalls completely. On passing runs, largeJpegUploadProcessing measures ~240 ms, so this is not marginal timing - when it fails, the upload never completes at all. The failure is often accompanied by repeated Failed to load resource: the server responded with a status of 404 (Not Found) console messages.
The smaller JPEG uploads (1024x768), PNG uploads, and Batch upload 5 images tests in the same spec usually pass in the same runs, so the stall is specific to (or most likely triggered by) the large JPEG iteration.
Occurrences
Failing on both trunk push runs and unrelated PRs, so this is not tied to any particular change:
Rough failure rate on trunk over the past few days is around 1 in 5 runs of the Performance Tests workflow.
Notes
Flaky test
[chromium] › specs/media-upload.spec.js:172 › Media Upload Performance › Single Image Upload › Large JPEG uploadsPart of the "Run performance tests" job (Performance Tests workflow).
Failure mode
The test uploads
3200x2400_e2e_test_image_responsive_lightbox.jpeginto an Image block and waits for the imagesrcto flip from the client-sideblob:URL to a server URL:The
srcnever resolves within the full 120s timeout, i.e. the upload stalls completely. On passing runs,largeJpegUploadProcessingmeasures ~240 ms, so this is not marginal timing - when it fails, the upload never completes at all. The failure is often accompanied by repeatedFailed to load resource: the server responded with a status of 404 (Not Found)console messages.The smaller
JPEG uploads(1024x768),PNG uploads, andBatch upload 5 imagestests in the same spec usually pass in the same runs, so the stall is specific to (or most likely triggered by) the large JPEG iteration.Occurrences
Failing on both
trunkpush runs and unrelated PRs, so this is not tied to any particular change:suggest/core, touches no media code): https://github.com/WordPress/gutenberg/actions/runs/28836827519 - failed twice in a row on the same run (original + rerun)Rough failure rate on trunk over the past few days is around 1 in 5 runs of the Performance Tests workflow.
Notes
blob:src, accompanied by 404s) resembles the client-side media worker stalls previously investigated in Editor: Fix stale preview tab under Document-Isolation-Policy and re-enable client-side media e2e on Chromium 148+ #79495, where a blob-worker request stall caused uploads to hang.