Intermittent failure in the `should keep an ink annotation on a pasted and moved page` reorganize pages integration test
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 53.9k
- Forks
- 10.7k
- Avg merge
- 18h 38m
- Merged PRs (30d)
- 130
Description
This integration test fails intermittently in GitHub Actions. The last occurrence is in https://github.com/mozilla/pdf.js/actions/runs/34764130770/job/103741972381:
Failures:
1) Reorganize Pages View Copy page with an ink annotation and paste it should keep an ink annotation on a pasted and moved page
Message:
Error: Waiting for selector `.page[data-page-number="1"] .inkEditor` failed
Stack:
error properties: Object({ cause: Error: Waiting failed })
at CSSQueryHandler.waitFor (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/common/QueryHandler.js:211:46)
at runNextTicks (node:internal/process/task_queues:65:5)
at listOnTimeout (node:internal/timers:644:9)
at process.processTimers (node:internal/timers:618:7)
at async BidiFrame.waitForSelector (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/api/Frame.js:546:21)
at async BidiPage.waitForSelector (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/api/Page.js:1477:20)
at async file:///home/runner/work/pdf.js/pdf.js/test/integration/reorganize_pages_spec.mjs:2962:11
at async Promise.all (index 0)
at async UserContext.<anonymous> (file:///home/runner/work/pdf.js/pdf.js/test/integration/reorganize_pages_spec.mjs:2884:7)
Caused by: Error: Waiting failed
error properties: Object({ cause: ProtocolError: script.callFunction timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed. })
at <instance_members_initializer> (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/common/WaitTask.js:21:21)
at new WaitTask (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/common/WaitTask.js:27:16)
at BidiFrameRealm.waitForFunction (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/api/Realm.js:49:26)
at CSSQueryHandler.waitFor (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/common/QueryHandler.js:176:95)
at async BidiFrame.waitForSelector (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/api/Frame.js:546:21)
at async BidiPage.waitForSelector (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/api/Page.js:1477:20)
at async file:///home/runner/work/pdf.js/pdf.js/test/integration/reorganize_pages_spec.mjs:2962:11
at async Promise.all (index 0)
at async UserContext.<anonymous> (file:///home/runner/work/pdf.js/pdf.js/test/integration/reorganize_pages_spec.mjs:2884:7)
Caused by: ProtocolError: script.callFunction timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed.
at <instance_members_initializer> (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/common/CallbackRegistry.js:108:14)
at new Callback (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/common/CallbackRegistry.js:112:16)
at CallbackRegistry.create (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/common/CallbackRegistry.js:27:26)
at BidiConnection.send (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/bidi/Connection.js:72:32)
at Session.send (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/bidi/core/Session.js:134:42)
at Session.<anonymous> (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/util/decorators.js:101:27)
at WindowRealm.callFunction (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/bidi/core/Realm.js:92:51)
at WindowRealm.<anonymous> (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/util/decorators.js:101:27)
at #evaluate (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/bidi/Realm.js:145:42)
at BidiFrameRealm.evaluateHandle (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/bidi/Realm.js:112:36)
at BidiJSHandle.evaluateHandle (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/api/JSHandle.js:162:37)
at WaitTask.rerun (file:///home/runner/work/pdf.js/pdf.js/node_modules/puppeteer-core/lib/puppeteer/common/WaitTask.js:99:47)
We should find out what's causing this and fix it because it seems to be one of the last known intermittents we have left for the integration tests at the moment.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in test/integration/reorganize_pages_spec.mjs around lines 2884 and 2962, using the reported GitHub Actions failure as the reproduction context. Run the reorganize-pages integration test and trace the pasted-and-moved ink annotation sequence to identify the intermittent wait failure. Done means the test reliably finds the .inkEditor selector and no longer intermittently fails in GitHub Actions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100