Bug: Intermittent [TV] toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | Uncaught exception - ConstraintError: A mutation operation in the transaction failed because a constraint was not satisfied.
Status: RESOLVED
Priority: P5
Resolution: DUPLICATE
Created: 2021-01-29 04:41:49+00:00
Resolved: 2022-12-15 02:47:38+00:00

**Filed by:** cbrindusan [at] mozilla.com
**Parsed log:** https://treeherder.mozilla.org/logviewer?job_id=328156632&repo=autoland
**Full log:** https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/E7zxtaEjQSyckYjWvMkQMw/runs/0/artifacts/public/logs/live_backing.log
**Reftest URL:** https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/E7zxtaEjQSyckYjWvMkQMw/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1

---
```
[task 2021-01-29T01:45:49.266Z] 01:45:49     INFO - TEST-START | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js
[task 2021-01-29T01:45:49.372Z] 01:45:49     INFO - GECKO(2548) | [Parent 10532, IndexedDB #3] WARNING: IndexedDB failure: 'stmt->Execute() failed with result 0x80630003 (NS_ERROR_STORAGE_CONSTRAINT), query=INSERT INTO object_data (object_store_id, key, file_ids, data) VALUES (:object_store_id, :key, :file_ids, :data);', file /builds/worker/checkouts/gecko/dom/indexedDB/ActorsParent.cpp:19690
[task 2021-01-29T01:45:49.377Z] 01:45:49     INFO - TEST-INFO | started process screenshot
[task 2021-01-29T01:45:49.457Z] 01:45:49     INFO - TEST-INFO | screenshot: exit 0
[task 2021-01-29T01:45:49.457Z] 01:45:49     INFO - Buffered messages logged at 01:45:49
[task 2021-01-29T01:45:49.457Z] 01:45:49     INFO - Entering test bound testTelemetry
[task 2021-01-29T01:45:49.457Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | Telemetry is accesible - 
[task 2021-01-29T01:45:49.457Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | telemetry filters pull the latest ping from a type - 
[task 2021-01-29T01:45:49.457Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | telemetry filters pull from submitted telemetry pings - 
[task 2021-01-29T01:45:49.458Z] 01:45:49     INFO - Leaving test bound testTelemetry
[task 2021-01-29T01:45:49.458Z] 01:45:49     INFO - Entering test bound testUserId
[task 2021-01-29T01:45:49.458Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | userId available - 
[task 2021-01-29T01:45:49.458Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | userId is pulled from preferences - 
[task 2021-01-29T01:45:49.458Z] 01:45:49     INFO - Leaving test bound testUserId
[task 2021-01-29T01:45:49.458Z] 01:45:49     INFO - Entering test bound testDistribution
[task 2021-01-29T01:45:49.458Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | distribution has a default value - 
[task 2021-01-29T01:45:49.459Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | distribution is read from preferences - 
[task 2021-01-29T01:45:49.459Z] 01:45:49     INFO - Leaving test bound testDistribution
[task 2021-01-29T01:45:49.459Z] 01:45:49     INFO - Entering test bound inner
[task 2021-01-29T01:45:49.459Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | country is read from the server API - 
[task 2021-01-29T01:45:49.459Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | request_time is read from the server API - 
[task 2021-01-29T01:45:49.459Z] 01:45:49     INFO - Leaving test bound inner
[task 2021-01-29T01:45:49.459Z] 01:45:49     INFO - Entering test bound testSync
[task 2021-01-29T01:45:49.460Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | syncMobileDevices defaults to zero - 
[task 2021-01-29T01:45:49.460Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | syncDesktopDevices defaults to zero - 
[task 2021-01-29T01:45:49.460Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | syncTotalDevices defaults to zero - 
[task 2021-01-29T01:45:49.460Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | syncMobileDevices is read when set - 
[task 2021-01-29T01:45:49.460Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | syncDesktopDevices is read when set - 
[task 2021-01-29T01:45:49.460Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | syncTotalDevices is read when set - 
[task 2021-01-29T01:45:49.460Z] 01:45:49     INFO - Leaving test bound testSync
[task 2021-01-29T01:45:49.461Z] 01:45:49     INFO - Entering test bound testDoNotTrack
[task 2021-01-29T01:45:49.461Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | doNotTrack has a default value - 
[task 2021-01-29T01:45:49.461Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | doNotTrack is read from preferences - 
[task 2021-01-29T01:45:49.461Z] 01:45:49     INFO - Leaving test bound testDoNotTrack
[task 2021-01-29T01:45:49.461Z] 01:45:49     INFO - Entering test bound testExperiments[task 2021-01-29T01:45:49.461Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | experiments.all returns all stored experiment names - ["active","expired"] deepEqual ["active","expired"] - 
[task 2021-01-29T01:45:49.462Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | experiments.active returns all active experiment names - ["active"] deepEqual ["active"] - 
[task 2021-01-29T01:45:49.462Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | experiments.expired returns all expired experiment names - ["expired"] deepEqual ["expired"] - 
[task 2021-01-29T01:45:49.462Z] 01:45:49     INFO - Leaving test bound testExperiments
[task 2021-01-29T01:45:49.462Z] 01:45:49     INFO - Entering test bound isFirstRun
[task 2021-01-29T01:45:49.462Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | isFirstRun is read from preferences - 
[task 2021-01-29T01:45:49.462Z] 01:45:49     INFO - Leaving test bound isFirstRun
[task 2021-01-29T01:45:49.463Z] 01:45:49     INFO - Entering test bound testStudies
[task 2021-01-29T01:45:49.463Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | addon and preference studies shold be accessible - {"pref":{"test-study 1":{"userFacingName":"Test study 1","userFacingDescription":"Test study 1 description","slug":"test-study 1","branch":"a-test-branch","expired":false,"lastSeen":"2021-01-29T01:45:49.269Z","experimentType":"exp","enrollmentId":"a1f2ba92-2b86-4960-9b27-04b9f46194fc","actionName":"PreferenceExperimentAction","preferences":{"test.study":{"preferenceValue":false,"preferenceType":"boolean","previousPreferenceValue":"undefined","preferenceBranchType":"default"}}}},"addon":{"test-study":{"recipeId":1,"slug":"test-study","userFacingName":"Test study","userFacingDescription":"test description","branch":"b-test-branch","active":true,"addonId":"normandydriver-a@example.com","addonUrl":"http://test/addon.xpi","addonVersion":"1.0.0","studyStartDate":"2021-01-29T01:45:49.269Z","studyEndDate":null,"extensionApiId":1,"extensionHash":"ade1c14196ec4fe0aa0a6ba40ac433d7c8d1ec985581a8a94d43dc58991b5171","extensionHashAlgorithm":"sha256","enrollmentId":"3162f302-87d4-438a-a8a2-9a60c7bf7b5c","temporaryErrorDeadline":null}}} deepEqual {"pref":{"test-study 1":{"userFacingName":"Test study 1","userFacingDescription":"Test study 1 description","slug":"test-study 1","branch":"a-test-branch","expired":false,"lastSeen":"2021-01-29T01:45:49.269Z","experimentType":"exp","enrollmentId":"a1f2ba92-2b86-4960-9b27-04b9f46194fc","actionName":"PreferenceExperimentAction","preferences":{"test.study":{"preferenceValue":false,"preferenceType":"boolean","previousPreferenceValue":"undefined","preferenceBranchType":"default"}}}},"addon":{"test-study":{"recipeId":1,"slug":"test-study","userFacingName":"Test study","userFacingDescription":"test description","branch":"b-test-branch","active":true,"addonId":"normandydriver-a@example.com","addonUrl":"http://test/addon.xpi","addonVersion":"1.0.0","studyStartDate":"2021-01-29T01:45:49.269Z","studyEndDate":null,"extensionApiId":1,"extensionHash":"ade1c14196ec4fe0aa0a6ba40ac433d7c8d1ec985581a8a94d43dc58991b5171","extensionHashAlgorithm":"sha256","enrollmentId":"3162f302-87d4-438a-a8a2-9a60c7bf7b5c","temporaryErrorDeadline":null}}} - 
[task 2021-01-29T01:45:49.463Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | A specific preference experiment field should be accessible in the context - 
[task 2021-01-29T01:45:49.463Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | A specific addon study field should be accessible in the context - 
[task 2021-01-29T01:45:49.463Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | undefined assertion name - 
[task 2021-01-29T01:45:49.464Z] 01:45:49     INFO - TEST-PASS | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | undefined assertion name - 
[task 2021-01-29T01:45:49.464Z] 01:45:49     INFO - Leaving test bound testStudies
[task 2021-01-29T01:45:49.464Z] 01:45:49     INFO - Entering test bound testRollouts
[task 2021-01-29T01:45:49.464Z] 01:45:49     INFO - Console message: IndexedDB failure: 'stmt->Execute()', file ActorsParent.cpp, line 19690 failed with result 0x80630003 (NS_ERROR_STORAGE_CONSTRAINT), query=INSERT INTO object_data (object_store_id, key, file_ids, data) VALUES (:object_store_id, :key, :file_ids, :data);
[task 2021-01-29T01:45:49.464Z] 01:45:49     INFO - Buffered messages finished
[task 2021-01-29T01:45:49.464Z] 01:45:49     INFO - TEST-UNEXPECTED-FAIL | toolkit/components/normandy/test/browser/browser_ClientEnvironment.js | Uncaught exception - ConstraintError: A mutation operation in the transaction failed because a constraint was not satisfied.```