Bug: Intermittent toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | single tracking bug
Status: NEW
Priority: P5
Created: 2025-02-18 17:13:47+00:00
Resolved: 2025-02-24 07:19:11+00:00

**Filed by:** amarc [at] mozilla.com
**Parsed log:** https://treeherder.mozilla.org/logviewer?job_id=495484526&repo=mozilla-central
**Full log:** https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/N28V3J3mTUmqX_txXAhSgw/runs/0/artifacts/public/logs/live_backing.log

---
```
[task 2025-02-18T16:53:33.437Z] 16:53:33     INFO -  TEST-START | uriloader/exthandler/tests/unit/test_getFromTypeAndExtension.js
[task 2025-02-18T16:53:33.850Z] 16:53:33     INFO -  TEST-PASS | uriloader/exthandler/tests/unit/test_getFromTypeAndExtension.js | took 413ms
[task 2025-02-18T16:53:33.857Z] 16:53:33     INFO -  TEST-START | uriloader/exthandler/tests/unit/test_getMIMEInfo_android.js
[task 2025-02-18T16:53:33.858Z] 16:53:33     INFO -  TEST-SKIP | uriloader/exthandler/tests/unit/test_getMIMEInfo_android.js | took 0ms
[task 2025-02-18T16:53:33.860Z] 16:53:33     INFO -  TEST-START | uriloader/exthandler/tests/unit/test_getMIMEInfo_pdf.js
[task 2025-02-18T16:53:34.224Z] 16:53:34     INFO -  TEST-PASS | uriloader/exthandler/tests/unit/test_getMIMEInfo_pdf.js | took 365ms
[task 2025-02-18T16:53:34.233Z] 16:53:34     INFO -  TEST-START | uriloader/exthandler/tests/unit/test_getMIMEInfo_unknown_mime_type.js
[task 2025-02-18T16:53:34.598Z] 16:53:34     INFO -  TEST-PASS | uriloader/exthandler/tests/unit/test_getMIMEInfo_unknown_mime_type.js | took 366ms
[task 2025-02-18T16:53:34.607Z] 16:53:34     INFO -  TEST-START | uriloader/exthandler/tests/unit/test_getTypeFromExtension_ext_to_type_mapping.js
[task 2025-02-18T16:53:34.943Z] 16:53:34     INFO -  TEST-PASS | uriloader/exthandler/tests/unit/test_getTypeFromExtension_ext_to_type_mapping.js | took 336ms
[task 2025-02-18T16:53:34.958Z] 16:53:34     INFO -  TEST-START | uriloader/exthandler/tests/unit/test_getTypeFromExtension_with_empty_Content_Type.js
[task 2025-02-18T16:53:35.317Z] 16:53:35     INFO -  TEST-PASS | uriloader/exthandler/tests/unit/test_getTypeFromExtension_with_empty_Content_Type.js | took 358ms
[task 2025-02-18T16:53:35.324Z] 16:53:35     INFO -  TEST-START | uriloader/exthandler/tests/unit/test_handlerService.js
[task 2025-02-18T16:53:35.745Z] 16:53:35     INFO -  TEST-PASS | uriloader/exthandler/tests/unit/test_handlerService.js | took 419ms
[task 2025-02-18T16:53:35.753Z] 16:53:35     INFO -  TEST-START | uriloader/exthandler/tests/unit/test_handlerService_store.js
[task 2025-02-18T16:53:36.535Z] 16:53:36     INFO -  TEST-PASS | uriloader/exthandler/tests/unit/test_handlerService_store.js | took 782ms
[task 2025-02-18T16:53:36.543Z] 16:53:36     INFO -  TEST-START | uriloader/exthandler/tests/unit/test_punycodeURIs.js
[task 2025-02-18T16:53:36.543Z] 16:53:36     INFO -  TEST-SKIP | uriloader/exthandler/tests/unit/test_punycodeURIs.js | took 0ms
[task 2025-02-18T16:53:36.543Z] 16:53:36     INFO -  Retrying tests that failed when run in parallel.
[task 2025-02-18T16:53:36.549Z] 16:53:36     INFO -  TEST-START | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js
[task 2025-02-18T16:53:38.494Z] 16:53:38  WARNING -  TEST-UNEXPECTED-FAIL | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | xpcshell return code: 1
[task 2025-02-18T16:53:38.494Z] 16:53:38     INFO -  TEST-INFO took 1945ms
[task 2025-02-18T16:53:38.495Z] 16:53:38     INFO -  >>>>>>>
[task 2025-02-18T16:53:38.495Z] 16:53:38     INFO -  PID 4700 | [Parent 2384, Main Thread] WARNING: Failed to get directory to cache.: file /builds/worker/checkouts/gecko/security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp:148
[task 2025-02-18T16:53:38.496Z] 16:53:38     INFO -  PID 4700 | [Parent 2384, Main Thread] WARNING: Failed to get directory to cache.: file /builds/worker/checkouts/gecko/security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp:148
[task 2025-02-18T16:53:38.496Z] 16:53:38     INFO -  PID 4700 | [Parent 2384, Main Thread] WARNING: Couldn't get the user appdata directory. Crash events may not be produced.: file /builds/worker/checkouts/gecko/toolkit/crashreporter/nsExceptionHandler.cpp:2922
[task 2025-02-18T16:53:38.496Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | getTempFile - [getTempFile : 44] Sanity check the temporary file doesn't exist. - true == true
[task 2025-02-18T16:53:38.497Z] 16:53:38     INFO -  (xpcshell/head.js) | test MAIN run_test pending (1)
[task 2025-02-18T16:53:38.497Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 0 pending (2)
[task 2025-02-18T16:53:38.497Z] 16:53:38     INFO -  (xpcshell/head.js) | test MAIN run_test finished (2)
[task 2025-02-18T16:53:38.497Z] 16:53:38     INFO -  running event loop
[task 2025-02-18T16:53:38.498Z] 16:53:38     INFO -  toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | Starting test_getExperiment_fromChild_slug
[task 2025-02-18T16:53:38.498Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperiment_fromChild_slug pending (2)
[task 2025-02-18T16:53:38.499Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 0 finished (2)
[task 2025-02-18T16:53:38.499Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperiment_fromChild_slug - [test_getExperiment_fromChild_slug : 40] should return an experiment by slug - "foo" == "foo"
[task 2025-02-18T16:53:38.500Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperiment_fromChild_slug - [test_getExperiment_fromChild_slug : 46] should return the right branch by slug - {"slug":"treatment","ratio":1,"features":[{"featureId":"testFeature","value":{"testInt":123,"enabled":true}}]} deepEqual {"slug":"treatment","ratio":1,"features":[{"featureId":"testFeature","value":{"testInt":123,"enabled":true}}]}
[task 2025-02-18T16:53:38.500Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 1 pending (2)
[task 2025-02-18T16:53:38.501Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperiment_fromChild_slug finished (2)
[task 2025-02-18T16:53:38.501Z] 16:53:38     INFO -  toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | Starting test_getExperiment_fromParent_slug
[task 2025-02-18T16:53:38.501Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperiment_fromParent_slug pending (2)
[task 2025-02-18T16:53:38.501Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 1 finished (2)
[task 2025-02-18T16:53:38.502Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperiment_fromParent_slug - [test_getExperiment_fromParent_slug : 67] should return an experiment by slug - "foo" == "foo"
[task 2025-02-18T16:53:38.502Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 2 pending (2)
[task 2025-02-18T16:53:38.502Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperiment_fromParent_slug finished (2)
[task 2025-02-18T16:53:38.503Z] 16:53:38     INFO -  toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | Starting test_getExperimentMetaData
[task 2025-02-18T16:53:38.503Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperimentMetaData pending (2)
[task 2025-02-18T16:53:38.503Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 2 finished (2)
[task 2025-02-18T16:53:38.504Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperimentMetaData - [test_getExperimentMetaData : 91] Should only expose one property - 1 == 1
[task 2025-02-18T16:53:38.504Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperimentMetaData - [test_getExperimentMetaData : 96] Should have the slug prop - "treatment" == "treatment"
[task 2025-02-18T16:53:38.504Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperimentMetaData - [test_getExperimentMetaData : 102] Not called for this method - true == true
[task 2025-02-18T16:53:38.505Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperimentMetaData - [test_getExperimentMetaData : 105] Store should have no active enrollments - [] deepEqual []
[task 2025-02-18T16:53:38.505Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperimentMetaData - [test_getExperimentMetaData : 105] Store should have no inactive enrollments - [] deepEqual []
[task 2025-02-18T16:53:38.506Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 3 pending (2)
[task 2025-02-18T16:53:38.506Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperimentMetaData finished (2)
[task 2025-02-18T16:53:38.506Z] 16:53:38     INFO -  toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | Starting test_getRolloutMetaData
[task 2025-02-18T16:53:38.506Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getRolloutMetaData pending (2)
[task 2025-02-18T16:53:38.507Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 3 finished (2)
[task 2025-02-18T16:53:38.507Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getRolloutMetaData - [test_getRolloutMetaData : 125] Should only expose one property - 1 == 1
[task 2025-02-18T16:53:38.507Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getRolloutMetaData - [test_getRolloutMetaData : 130] Should have the slug prop - "treatment" == "treatment"
[task 2025-02-18T16:53:38.508Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getRolloutMetaData - [test_getRolloutMetaData : 136] Not called for this method - true == true
[task 2025-02-18T16:53:38.508Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getRolloutMetaData - [test_getRolloutMetaData : 139] Store should have no active enrollments - [] deepEqual []
[task 2025-02-18T16:53:38.509Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getRolloutMetaData - [test_getRolloutMetaData : 139] Store should have no inactive enrollments - [] deepEqual []
[task 2025-02-18T16:53:38.509Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 4 pending (2)
[task 2025-02-18T16:53:38.509Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getRolloutMetaData finished (2)
[task 2025-02-18T16:53:38.509Z] 16:53:38     INFO -  toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | Starting test_getExperimentMetaData_safe
[task 2025-02-18T16:53:38.510Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperimentMetaData_safe pending (2)
[task 2025-02-18T16:53:38.510Z] 16:53:38     INFO -  PID 4700 | console.error: (new Error("Error", "resource://testing-common/sinon-7.2.7.js", 918))
[task 2025-02-18T16:53:38.511Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperimentMetaData_safe - [test_getExperimentMetaData_safe : 153] Should not throw - null == null
[task 2025-02-18T16:53:38.511Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperimentMetaData_safe - [test_getExperimentMetaData_safe : 158] Sanity check - true == true
[task 2025-02-18T16:53:38.511Z] 16:53:38     INFO -  PID 4700 | console.error: (new Error("Error", "resource://testing-common/sinon-7.2.7.js", 918))
[task 2025-02-18T16:53:38.512Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperimentMetaData_safe - [test_getExperimentMetaData_safe : 162] Should not throw - null == null
[task 2025-02-18T16:53:38.512Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperimentMetaData_safe - [test_getExperimentMetaData_safe : 167] Sanity check - true == true
[task 2025-02-18T16:53:38.512Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperimentMetaData_safe - [test_getExperimentMetaData_safe : 172] Not called for this feature - true == true
[task 2025-02-18T16:53:38.513Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 4 finished (2)
[task 2025-02-18T16:53:38.513Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 5 pending (2)
[task 2025-02-18T16:53:38.513Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperimentMetaData_safe finished (2)
[task 2025-02-18T16:53:38.513Z] 16:53:38     INFO -  toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | Starting test_getExperiment_feature
[task 2025-02-18T16:53:38.514Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperiment_feature pending (2)
[task 2025-02-18T16:53:38.514Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 5 finished (2)
[task 2025-02-18T16:53:38.514Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperiment_feature - [test_getExperiment_feature : 209] should return an experiment by featureId - "foo" == "foo"
[task 2025-02-18T16:53:38.515Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperiment_feature - [test_getExperiment_feature : 215] should return the right branch by featureId - {"slug":"treatment","ratio":1,"features":[{"featureId":"cfr","value":{}}],"feature":{"featureId":"unused-feature-id-for-legacy-support","enabled":false,"value":{}}} deepEqual {"slug":"treatment","ratio":1,"features":[{"featureId":"cfr","value":{}}],"feature":{"featureId":"unused-feature-id-for-legacy-support","enabled":false,"value":{}}}
[task 2025-02-18T16:53:38.516Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperiment_feature - [test_getExperiment_feature : 221] Not called by default - true == true
[task 2025-02-18T16:53:38.516Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 6 pending (2)
[task 2025-02-18T16:53:38.517Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperiment_feature finished (2)
[task 2025-02-18T16:53:38.517Z] 16:53:38     INFO -  toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | Starting test_getExperiment_safe
[task 2025-02-18T16:53:38.517Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperiment_safe pending (2)
[task 2025-02-18T16:53:38.517Z] 16:53:38     INFO -  PID 4700 | console.error: (new Error("Error", "resource://testing-common/sinon-7.2.7.js", 918))
[task 2025-02-18T16:53:38.518Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperiment_safe - [test_getExperiment_safe : 231] It should not fail even when it throws. - null == null
[task 2025-02-18T16:53:38.518Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 6 finished (2)
[task 2025-02-18T16:53:38.518Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 7 pending (2)
[task 2025-02-18T16:53:38.519Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperiment_safe finished (2)
[task 2025-02-18T16:53:38.519Z] 16:53:38     INFO -  toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | Starting test_getExperiment_featureAccess
[task 2025-02-18T16:53:38.519Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperiment_featureAccess pending (2)
[task 2025-02-18T16:53:38.520Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperiment_featureAccess - [test_getExperiment_featureAccess : 258] "treatment" == "treatment"
[task 2025-02-18T16:53:38.520Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperiment_featureAccess - [test_getExperiment_featureAccess : 260] Should allow to access by featureId - {"featureId":"cfr","value":{"message":"content"}} == true
[task 2025-02-18T16:53:38.521Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperiment_featureAccess - [test_getExperiment_featureAccess : 261] "content" == "content"
[task 2025-02-18T16:53:38.521Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 7 finished (2)
[task 2025-02-18T16:53:38.521Z] 16:53:38     INFO -  (xpcshell/head.js) | test run_next_test 8 pending (2)
[task 2025-02-18T16:53:38.521Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperiment_featureAccess finished (2)
[task 2025-02-18T16:53:38.522Z] 16:53:38     INFO -  toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | Starting test_getExperiment_featureAccess_backwardsCompat
[task 2025-02-18T16:53:38.522Z] 16:53:38     INFO -  (xpcshell/head.js) | test test_getExperiment_featureAccess_backwardsCompat pending (2)
[task 2025-02-18T16:53:38.522Z] 16:53:38     INFO -  TEST-PASS | toolkit/components/nimbus/test/unit/test_ExperimentAPI.js | test_getExperiment_featureAccess_backwardsCompat - [test_getExperiment_featureAccess_backwardsCompat : 280] "treatment" == "treatment"
```