Intermittent canceled request causing test failure in `afterAll` in CI
We're seeing an intermittent failure in CI failing due to an error thrown in afterAll with an undefined error.
I'm having trouble reproducing locally, but in test-CI I threw in a few debug statements, and the failure appears to be a canceled request.
Perhaps related to https://github.com/CesiumGS/cesium/issues/3888, but I expect this likely a bad spec.
Just ran into this locally-- It appears to happen in Scene/ArcGisMapServerImageryProvider
I just saw this in CI:
[16:26:11] Finished 'buildRelease' after 48 s
[16:26:13] Using gulpfile ~/build/CesiumGS/cesium/gulpfile.js
[16:26:13] Starting 'test'...
Building specs...
Build/CesiumUnminified/index.js 8.6mb ⚠️
Build/CesiumUnminified/index.js.map 16.8mb
⚡ Done in 1408ms
Build/CesiumUnminified/Cesium.js 9.1mb ⚠️
Build/CesiumUnminified/Cesium.js.map 16.9mb
⚡ Done in 1273ms
Build/CesiumUnminified/index.cjs 8.7mb ⚠️
Build/CesiumUnminified/index.cjs.map 16.9mb
⚡ Done in 1263ms
Chrome Headless 114.0.5735.198 (Linux x86_64) ERROR
An error was thrown in afterAll
Unhandled promise rejection: undefined thrown
Chrome Headless 114.0.5735.198 (Linux x86_64) ERROR
An error was thrown in afterAll
Unhandled promise rejection: undefined thrown
0.417 secs: Core/CesiumTerrainProvider requestTileGeometry Uses query parameter extensions for ion resource
0.305 secs: Core/CesiumTerrainProvider requestTileGeometry uses multiple urls specified in layer.json
0.282 secs: Core/PolygonGeometry create geometry creates with lines with different number of subdivisions for geodesic and rhumb
0.163 secs: Core/QuantizedMeshTerrainData createMesh requires 32bit indices for large meshes
0.154 secs: Core/CesiumTerrainProvider fromIonAssetId throws without assetId
0.135 secs: Core/GoogleEarthEnterpriseTerrainData upsample works for all four children of a simple quad
0.123 secs: Core/QuantizedMeshTerrainData upsample works for all four children of a simple quad
0.119 secs: Core/CesiumTerrainProvider requestTileGeometry supports scheme-less template URLs in layer.json resolved with absolute URL
0.074 secs: Core/HeightmapTerrainData createMesh disables throttling for asynchronous tasks
0.071 secs: Core/QuantizedMeshTerrainData createMesh disables throttling for asynchronous tasks
Chrome Headless 114.0.5735.198 (Linux x86_64): Executed 4705 of 13942 (skipped 2) ERROR (5.813 secs / 4.431 secs)
[16:26:36] 'test' errored after 23 s
[16:26:36] Error: 1
at formatError (/home/travis/build/CesiumGS/cesium/node_modules/gulp-cli/lib/versioned/^4.0.0/format-error.js:21:10)
at Gulp.<anonymous> (/home/travis/build/CesiumGS/cesium/node_modules/gulp-cli/lib/versioned/^4.0.0/log/events.js:33:15)
at Gulp.emit (node:events:525:35)
at Gulp.emit (node:domain:489:12)
at Object.error (/home/travis/build/CesiumGS/cesium/node_modules/undertaker/lib/helpers/createExtensions.js:61:10)
at handler (/home/travis/build/CesiumGS/cesium/node_modules/now-and-later/lib/map.js:50:14)
at f (/home/travis/build/CesiumGS/cesium/node_modules/once/once.js:25:25)
at f (/home/travis/build/CesiumGS/cesium/node_modules/once/once.js:25:25)
at tryCatch (/home/travis/build/CesiumGS/cesium/node_modules/async-done/index.js:24:15)
at done (/home/travis/build/CesiumGS/cesium/node_modules/async-done/index.js:40:12)
The command "./travis/test-release.sh" exited with 1.
5.62s$ ./travis/verify.sh
if [ $TRAVIS_BRANCH != "cesium.com" ]; then
# Various Node.js smoke-screen tests
node -e "const Cesium = require('./');"
NODE_ENV=development node Specs/test.cjs
NODE_ENV=production node Specs/test.cjs
node Specs/test.mjs
node packages/engine/Specs/test.mjs
node packages/widgets/Specs/test.mjs
fi
The command "./travis/verify.sh" exited with 0.
Another failure today, after an innocuous edit to CHANGES.md:
[13:46:33] Using gulpfile ~/build/CesiumGS/cesium/gulpfile.js
[13:46:33] Starting 'coverage'...
Firefox 116.0 (Linux x86_64) ERROR
An error was thrown in afterAll
Unhandled promise rejection: undefined thrown
Firefox 116.0 (Linux x86_64): Executed 4707 of 13974 (skipped 2) ERROR (14.752 secs / 12.715 secs)
[13:47:34] 'coverage' errored after 1.02 min
[13:47:34] Error: 1
at formatError (/home/travis/build/CesiumGS/cesium/node_modules/gulp-cli/lib/versioned/^4.0.0/format-error.js:21:10)
at Gulp.<anonymous> (/home/travis/build/CesiumGS/cesium/node_modules/gulp-cli/lib/versioned/^4.0.0/log/events.js:33:15)
at Gulp.emit (node:events:526:35)
at Gulp.emit (node:domain:489:12)
at Object.error (/home/travis/build/CesiumGS/cesium/node_modules/undertaker/lib/helpers/createExtensions.js:61:10)
at handler (/home/travis/build/CesiumGS/cesium/node_modules/now-and-later/lib/map.js:50:14)
at f (/home/travis/build/CesiumGS/cesium/node_modules/once/once.js:25:25)
at f (/home/travis/build/CesiumGS/cesium/node_modules/once/once.js:25:25)
at tryCatch (/home/travis/build/CesiumGS/cesium/node_modules/async-done/index.js:24:15)
at done (/home/travis/build/CesiumGS/cesium/node_modules/async-done/index.js:40:12)
at onError (/home/travis/build/CesiumGS/cesium/node_modules/async-done/index.js:51:5)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
The command "./travis/coverage.sh" exited with 1.
Also reported in https://github.com/CesiumGS/cesium/issues/11733.