Sometimes, when a selenium test hits the 60s timeout, the entire job kind of freezes and hangs until it reaches the job-level timeout of 1h and gets killed. This has happened several times over the last couple of weeks. Today, it caused the entire gate-and-submit pipeline, which at the time had 53 patches, to remain stuck, consuming resources and waiting for nothing, for roughly 40 minutes. Then a few hours later it happened again and blocked the pipeline for 30 minutes. While general CI slowness is a problem, we need to figure out why selenium timeouts are not terminating the build immediately.
Previous examples from T388416:
- 2025-03-06 23:25:04Z: r1124889 (CampaignEvents), https://integration.wikimedia.org/ci/job/wmf-quibble-selenium-php81/902/console:
23:23:36 [0-0] RUNNING in chrome - /tests/selenium/specs/editEventRegistration.js 23:25:04 [0-0] Error in "Edit Event Registration.can allow organizer to add an additional organizer" 23:25:04 Error: Timeout of 60000ms exceeded. The execution in the test "Edit Event Registration can allow organizer to add an additional organizer" took too long. Try to reduce the run time or increase your timeout for test specs (https://webdriver.io/docs/timeouts). (/workspace/src/extensions/CampaignEvents/tests/selenium/specs/editEventRegistration.js) 23:25:04 at createTimeoutError (/workspace/src/extensions/CampaignEvents/node_modules/mocha/lib/errors.js:498:15) 23:25:04 at Runnable._timeoutError (/workspace/src/extensions/CampaignEvents/node_modules/mocha/lib/runnable.js:429:10) 23:25:04 at Timeout.<anonymous> (/workspace/src/extensions/CampaignEvents/node_modules/mocha/lib/runnable.js:244:24) 23:25:04 at listOnTimeout (node:internal/timers:581:17) 23:25:04 at process.processTimers (node:internal/timers:519:7) 00:22:13 Build timed out (after 60 minutes). Marking the build as failed.
- 2025-03-18 14:57:54Z: r1128434 (CampaignEvents), https://integration.wikimedia.org/ci/job/wmf-quibble-selenium-php81/3677/console:
14:57:38 Execution of 3 workers started at 2025-03-18T14:57:38.189Z 14:57:38 14:57:39 [0-2] RUNNING in chrome - /tests/selenium/specs/watchstar.js 14:57:39 [0-0] RUNNING in chrome - /tests/selenium/specs/mainmenu_loggedin.js 14:57:39 [0-1] RUNNING in chrome - /tests/selenium/specs/references.js 14:57:52 [0-2] PASSED in chrome - /tests/selenium/specs/watchstar.js 14:57:54 [0-0] Nearby item will only appear in main menu if $wgMFNearby is configured 14:57:54 [0-0] PASSED in chrome - /tests/selenium/specs/mainmenu_loggedin.js 15:30:11 Build timed out (after 60 minutes). Marking the build as failed. 15:30:11 Build was aborted
-2025-03-20 13:40:37Z: r1129578 (MinervaNeue), https://integration.wikimedia.org/ci/job/wmf-quibble-selenium-php81/4439/console:
13:38:46 Execution of 2 workers started at 2025-03-20T13:38:46.494Z 13:38:46 13:38:46 Setting up modified /workspace/src/LocalSettings.php 13:38:46 Restarting php8.1-fpm 13:38:48 [0-1] RUNNING in chrome - /tests/selenium/specs/ipcontributions.js 13:38:49 [0-0] RUNNING in chrome - /tests/selenium/specs/contributions.js 13:39:23 [0-1] PASSED in chrome - /tests/selenium/specs/ipcontributions.js 13:40:37 [0-0] Error in "IPInfo on Special:Contributions.should show geo data for temp user with edits if agreement was already accepted" 13:40:37 Error: Timeout of 60000ms exceeded. The execution in the test "IPInfo on Special:Contributions should show geo data for temp user with edits if agreement was already accepted" took too long. Try to reduce the run time or increase your timeout for test specs (https://webdriver.io/docs/timeouts). (/workspace/src/extensions/IPInfo/tests/selenium/specs/contributions.js) 13:40:37 at createTimeoutError (/workspace/src/extensions/IPInfo/node_modules/mocha/lib/errors.js:498:15) 13:40:37 at Runnable._timeoutError (/workspace/src/extensions/IPInfo/node_modules/mocha/lib/runnable.js:429:10) 13:40:37 at Timeout.<anonymous> (/workspace/src/extensions/IPInfo/node_modules/mocha/lib/runnable.js:244:24) 13:40:37 at listOnTimeout (node:internal/timers:581:17) 13:40:37 at process.processTimers (node:internal/timers:519:7)
-2025-03-20 15:49:34Z: r1127912 (AbuseFilter), https://integration.wikimedia.org/ci/job/wmf-quibble-selenium-php81/4492/console
15:49:34 [0-0] Error in "CheckUser.With CheckUser user group.Verify checkuser can make checks:.Should be able to run 'Get IPs' check" 15:49:34 Error: Timeout of 60000ms exceeded. The execution in the test "Verify checkuser can make checks: Should be able to run 'Get IPs' check" took too long. Try to reduce the run time or increase your timeout for test specs (https://webdriver.io/docs/timeouts). (/workspace/src/extensions/CheckUser/tests/selenium/specs/checkuser.js) 15:49:34 at createTimeoutError (/workspace/src/extensions/CheckUser/node_modules/mocha/lib/errors.js:498:15) 15:49:34 at Runnable._timeoutError (/workspace/src/extensions/CheckUser/node_modules/mocha/lib/runnable.js:429:10) 15:49:34 at Timeout.<anonymous> (/workspace/src/extensions/CheckUser/node_modules/mocha/lib/runnable.js:244:24) 15:49:34 at listOnTimeout (node:internal/timers:581:17) 15:49:34 at process.processTimers (node:internal/timers:519:7) 15:50:34 [0-0] Error in "CheckUser.With CheckUser user group.Verify checkuser can make checks:.Should be able to run 'Get actions' check" 15:50:34 Error: Timeout of 60000ms exceeded. The execution in the test "Verify checkuser can make checks: Should be able to run 'Get actions' check" took too long. Try to reduce the run time or increase your timeout for test specs (https://webdriver.io/docs/timeouts). (/workspace/src/extensions/CheckUser/tests/selenium/specs/checkuser.js) 15:50:34 at createTimeoutError (/workspace/src/extensions/CheckUser/node_modules/mocha/lib/errors.js:498:15) 15:50:34 at Runnable._timeoutError (/workspace/src/extensions/CheckUser/node_modules/mocha/lib/runnable.js:429:10) 15:50:34 at Timeout.<anonymous> (/workspace/src/extensions/CheckUser/node_modules/mocha/lib/runnable.js:244:24) 15:50:34 at listOnTimeout (node:internal/timers:581:17) 15:50:34 at process.processTimers (node:internal/timers:519:7) 15:51:34 [0-0] Error in "CheckUser.With CheckUser user group.Verify checkuser can make checks:.Should be able to run 'Get users' check" 15:51:34 Error: Timeout of 60000ms exceeded. The execution in the test "Verify checkuser can make checks: Should be able to run 'Get users' check" took too long. Try to reduce the run time or increase your timeout for test specs (https://webdriver.io/docs/timeouts). (/workspace/src/extensions/CheckUser/tests/selenium/specs/checkuser.js) 15:51:34 at createTimeoutError (/workspace/src/extensions/CheckUser/node_modules/mocha/lib/errors.js:498:15) 15:51:34 at Runnable._timeoutError (/workspace/src/extensions/CheckUser/node_modules/mocha/lib/runnable.js:429:10) 15:51:34 at Timeout.<anonymous> (/workspace/src/extensions/CheckUser/node_modules/mocha/lib/runnable.js:244:24) 15:51:34 at listOnTimeout (node:internal/timers:581:17) 15:51:34 at process.processTimers (node:internal/timers:519:7) 16:40:33 Build timed out (after 60 minutes). Marking the build as failed. 16:40:33 Build was aborted

