Closed Bug 1948869 Opened 6 months ago Closed 22 days ago

Intermittent toolkit/components/ml/tests/browser/browser_ml_cache.js | single tracking bug

Categories

(Core :: Machine Learning, defect, P5)

defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: intermittent-bug-filer, Unassigned)

Details

(Keywords: intermittent-failure, intermittent-testcase)

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


[task 2025-02-18T10:45:05.412Z] 10:45:05     INFO - TEST-START | toolkit/components/ml/tests/browser/browser_ml_cache.js
[task 2025-02-18T10:45:05.832Z] 10:45:05     INFO - GECKO(5750) | console.error: ML:ModelHub: "Failed to fetch chrome://mochitests/content/browser/toolkit/components/ml/tests/browser/data/1111/bert/resolve/main/config.json?download=true:" (new TypeError("NetworkError when attempting to fetch resource.", ""))
[task 2025-02-18T10:45:12.630Z] 10:45:12     INFO - TEST-INFO | started process screentopng
[task 2025-02-18T10:45:12.780Z] 10:45:12     INFO - TEST-INFO | screentopng: exit 0
[task 2025-02-18T10:45:12.782Z] 10:45:12     INFO - <snipped 52 output lines - if you need more context, please use SimpleTest.requestCompleteLog() in your test>
[task 2025-02-18T10:45:12.782Z] 10:45:12     INFO - Buffered messages logged at 10:45:06
[task 2025-02-18T10:45:12.783Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | . Should throw with https://example.com/org1/model1/resolve/v1/file/path - 
[task 2025-02-18T10:45:12.784Z] 10:45:12     INFO - Leaving test bound testInvalidDomain
[task 2025-02-18T10:45:12.784Z] 10:45:12     INFO - Entering test bound testTooFewParts
[task 2025-02-18T10:45:12.785Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | . Should throw with /org1/model1/resolve - 
[task 2025-02-18T10:45:12.785Z] 10:45:12     INFO - Leaving test bound testTooFewParts
[task 2025-02-18T10:45:12.786Z] 10:45:12     INFO - Entering test bound test_Init
[task 2025-02-18T10:45:12.786Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The cache instance should be created successfully. - true == true - 
[task 2025-02-18T10:45:12.787Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The cache should have an IDBDatabase instance. Found [object IDBDatabase] - true == true - 
[task 2025-02-18T10:45:12.788Z] 10:45:12     INFO - Leaving test bound test_Init
[task 2025-02-18T10:45:12.790Z] 10:45:12     INFO - Entering test bound test_PutAndCheckExists
[task 2025-02-18T10:45:12.790Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The file should exist in the cache. - true == true - 
[task 2025-02-18T10:45:12.790Z] 10:45:12     INFO - Buffered messages logged at 10:45:07
[task 2025-02-18T10:45:12.790Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The file should be gone from the cache. - true == true - 
[task 2025-02-18T10:45:12.790Z] 10:45:12     INFO - Leaving test bound test_PutAndCheckExists
[task 2025-02-18T10:45:12.791Z] 10:45:12     INFO - Entering test bound test_PutAndGet
[task 2025-02-18T10:45:12.791Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The retrieved data should match the stored data. - {} deepEqual {} - 
[task 2025-02-18T10:45:12.791Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The retrieved ETag should match the stored ETag. - "ETAG123" == "ETAG123" - 
[task 2025-02-18T10:45:12.792Z] 10:45:12     INFO - Leaving test bound test_PutAndGet
[task 2025-02-18T10:45:12.792Z] 10:45:12     INFO - Entering test bound test_GetHeaders
[task 2025-02-18T10:45:12.792Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The retrieved headers should match the stored headers. - {"ETag":"ETAG123","status":200,"Content-Type":"application/octet-stream","fileSize":8} deepEqual {"ETag":"ETAG123","status":200,"Content-Type":"application/octet-stream","fileSize":8} - 
[task 2025-02-18T10:45:12.793Z] 10:45:12     INFO - Leaving test bound test_GetHeaders
[task 2025-02-18T10:45:12.793Z] 10:45:12     INFO - Entering test bound test_ListModels
[task 2025-02-18T10:45:12.794Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | All models should be listed - [{"name":"org1/modelA","revision":"v1"},{"name":"org2/modelB","revision":"v2"}] deepEqual [{"name":"org1/modelA","revision":"v1"},{"name":"org2/modelB","revision":"v2"}] - 
[task 2025-02-18T10:45:12.794Z] 10:45:12     INFO - Leaving test bound test_ListModels
[task 2025-02-18T10:45:12.795Z] 10:45:12     INFO - Entering test bound test_DeleteModels
[task 2025-02-18T10:45:12.795Z] 10:45:12     INFO - Buffered messages logged at 10:45:08
[task 2025-02-18T10:45:12.796Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The data for the deleted model should not exist. - null == null - 
[task 2025-02-18T10:45:12.796Z] 10:45:12     INFO - Leaving test bound test_DeleteModels
[task 2025-02-18T10:45:12.797Z] 10:45:12     INFO - Entering test bound test_nonDeletedModels
[task 2025-02-18T10:45:12.797Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The retrieved data should match the stored data. - {} deepEqual {} - 
[task 2025-02-18T10:45:12.798Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The retrieved ETag should match the stored ETag. - "ETAG123" == "ETAG123" - 
[task 2025-02-18T10:45:12.798Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The data for the deleted model should not exist. - null == null - 
[task 2025-02-18T10:45:12.799Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The data for the deleted model should not exist. - null == null - 
[task 2025-02-18T10:45:12.799Z] 10:45:12     INFO - Leaving test bound test_nonDeletedModels
[task 2025-02-18T10:45:12.800Z] 10:45:12     INFO - Entering test bound test_DeleteModelsUsingTaskName
[task 2025-02-18T10:45:12.800Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | All models should be deleted. - [] deepEqual [] - 
[task 2025-02-18T10:45:12.801Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The data for the deleted model should not exist. - null == null - 
[task 2025-02-18T10:45:12.802Z] 10:45:12     INFO - Leaving test bound test_DeleteModelsUsingTaskName
[task 2025-02-18T10:45:12.802Z] 10:45:12     INFO - Entering test bound test_DeleteModelsUsingNonExistingTaskName
[task 2025-02-18T10:45:12.803Z] 10:45:12     INFO - Buffered messages logged at 10:45:09
[task 2025-02-18T10:45:12.803Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | All models should be listed - [{"name":"mozilla/distilvit","revision":"main"}] deepEqual [{"name":"mozilla/distilvit","revision":"main"}] - 
[task 2025-02-18T10:45:12.804Z] 10:45:12     INFO - Leaving test bound test_DeleteModelsUsingNonExistingTaskName
[task 2025-02-18T10:45:12.805Z] 10:45:12     INFO - Entering test bound test_deleteNonMatchingModelRevisions
[task 2025-02-18T10:45:12.806Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The retrieved data should match the stored data. - {} deepEqual {} - 
[task 2025-02-18T10:45:12.806Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The retrieved ETag should match the stored ETag. - "ETAG123" == "ETAG123" - 
[task 2025-02-18T10:45:12.807Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The data for v1 should not exist. - null == null - 
[task 2025-02-18T10:45:12.808Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The data for v2 should not exist. - null == null - 
[task 2025-02-18T10:45:12.808Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The retrieved data for v3 should match the stored data. - {} deepEqual {} - 
[task 2025-02-18T10:45:12.809Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The retrieved ETag for v3 should match the stored ETag. - "ETAG1234" == "ETAG1234" - 
[task 2025-02-18T10:45:12.809Z] 10:45:12     INFO - Leaving test bound test_deleteNonMatchingModelRevisions
[task 2025-02-18T10:45:12.810Z] 10:45:12     INFO - Entering test bound test_listFiles
[task 2025-02-18T10:45:12.811Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | [{"path":"file.txt","headers":{"Content-Type":"application/octet-stream","fileSize":8,"ETag":"NO_ETAG"}},{"path":"file2.txt","headers":{"Content-Type":"application/octet-stream","fileSize":8,"ETag":"NO_ETAG"}},{"path":"sub/file3.txt","headers":{"Content-Length":"12345","ETag":"XYZ","Content-Type":"application/octet-stream","fileSize":32}}] deepEqual [{"path":"file.txt","headers":{"Content-Type":"application/octet-stream","fileSize":8,"ETag":"NO_ETAG"}},{"path":"file2.txt","headers":{"Content-Type":"application/octet-stream","fileSize":8,"ETag":"NO_ETAG"}},{"path":"sub/file3.txt","headers":{"Content-Length":"12345","Content-Type":"application/octet-stream","fileSize":32,"ETag":"XYZ"}}] - 
[task 2025-02-18T10:45:12.812Z] 10:45:12     INFO - Leaving test bound test_listFiles
[task 2025-02-18T10:45:12.812Z] 10:45:12     INFO - Entering test bound test_listFilesUsingTaskName
[task 2025-02-18T10:45:12.813Z] 10:45:12     INFO - Buffered messages logged at 10:45:10
[task 2025-02-18T10:45:12.814Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | [{"path":"file.txt","headers":{"Content-Type":"application/octet-stream","fileSize":8,"ETag":"NO_ETAG"}},{"path":"file2.txt","headers":{"Content-Type":"application/octet-stream","fileSize":8,"ETag":"NO_ETAG"}},{"path":"sub/file3.txt","headers":{"Content-Length":"12345","ETag":"XYZ","Content-Type":"application/octet-stream","fileSize":32}}] deepEqual [{"path":"file.txt","headers":{"Content-Type":"application/octet-stream","fileSize":8,"ETag":"NO_ETAG"}},{"path":"file2.txt","headers":{"Content-Type":"application/octet-stream","fileSize":8,"ETag":"NO_ETAG"}},{"path":"sub/file3.txt","headers":{"Content-Length":"12345","Content-Type":"application/octet-stream","fileSize":32,"ETag":"XYZ"}}] - 
[task 2025-02-18T10:45:12.814Z] 10:45:12     INFO - Leaving test bound test_listFilesUsingTaskName
[task 2025-02-18T10:45:12.815Z] 10:45:12     INFO - Entering test bound test_listFilesUsingNonExistingTaskName
[task 2025-02-18T10:45:12.815Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | [] deepEqual [] - 
[task 2025-02-18T10:45:12.816Z] 10:45:12     INFO - Leaving test bound test_listFilesUsingNonExistingTaskName
[task 2025-02-18T10:45:12.816Z] 10:45:12     INFO - Entering test bound test_initDbFromNonExisting
[task 2025-02-18T10:45:12.817Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | {"db":{},"dbVersion":5,"dbName":"modelFiles-7891","fileStoreName":"files","headersStoreName":"headers","taskStoreName":"tasks","enginesStoreName":"engines"} != null - 
[task 2025-02-18T10:45:12.817Z] 10:45:12     INFO - Leaving test bound test_initDbFromNonExisting
[task 2025-02-18T10:45:12.818Z] 10:45:12     INFO - Entering test bound test_initDbFromExistingEmpty
[task 2025-02-18T10:45:12.819Z] 10:45:12     INFO - Buffered messages logged at 10:45:11
[task 2025-02-18T10:45:12.819Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | {"db":{},"dbVersion":2,"dbName":"modelFiles-8360","fileStoreName":"files","headersStoreName":"headers","taskStoreName":"tasks","enginesStoreName":"engines"} != null - 
[task 2025-02-18T10:45:12.820Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | 2 == 2 - 
[task 2025-02-18T10:45:12.825Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | [{"path":"file.txt","headers":{"Content-Type":"application/octet-stream","fileSize":8,"ETag":"NO_ETAG"}}] deepEqual [{"path":"file.txt","headers":{"Content-Type":"application/octet-stream","fileSize":8,"ETag":"NO_ETAG"}}] - 
[task 2025-02-18T10:45:12.825Z] 10:45:12     INFO - Leaving test bound test_initDbFromExistingEmpty
[task 2025-02-18T10:45:12.826Z] 10:45:12     INFO - Entering test bound test_initDbFromExistingNoChange
[task 2025-02-18T10:45:12.826Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | {"db":{},"dbVersion":1,"dbName":"modelFiles-2868","fileStoreName":"files","headersStoreName":"headers","taskStoreName":"tasks","enginesStoreName":"engines"} != null - 
[task 2025-02-18T10:45:12.827Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | 1 == 1 - 
[task 2025-02-18T10:45:12.827Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | {"db":{},"dbVersion":2,"dbName":"modelFiles-2868","fileStoreName":"files","headersStoreName":"headers","taskStoreName":"tasks","enginesStoreName":"engines"} != null - 
[task 2025-02-18T10:45:12.827Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | 2 == 2 - 
[task 2025-02-18T10:45:12.827Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | [] deepEqual [] - 
[task 2025-02-18T10:45:12.828Z] 10:45:12     INFO - Leaving test bound test_initDbFromExistingNoChange
[task 2025-02-18T10:45:12.828Z] 10:45:12     INFO - Entering test bound test_initDbFromExistingElseWhereStoreChanges
[task 2025-02-18T10:45:12.828Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | {"db":{},"dbVersion":2,"dbName":"modelFiles-1235","fileStoreName":"files","headersStoreName":"headers","taskStoreName":"tasks","enginesStoreName":"engines"} != null - 
[task 2025-02-18T10:45:12.829Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | 2 == 2 - 
[task 2025-02-18T10:45:12.829Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | {"db":{},"dbVersion":3,"dbName":"modelFiles-1235","fileStoreName":"files","headersStoreName":"headers","taskStoreName":"tasks","enginesStoreName":"engines"} != null - 
[task 2025-02-18T10:45:12.829Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | 3 == 3 - 
[task 2025-02-18T10:45:12.829Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | [{"path":"file.txt","headers":{"Content-Type":"application/octet-stream","fileSize":8,"ETag":"NO_ETAG"}}] deepEqual [{"path":"file.txt","headers":{"Content-Type":"application/octet-stream","fileSize":8,"ETag":"NO_ETAG"}}] - 
[task 2025-02-18T10:45:12.830Z] 10:45:12     INFO - Leaving test bound test_initDbFromExistingElseWhereStoreChanges
[task 2025-02-18T10:45:12.830Z] 10:45:12     INFO - Entering test bound test_getting_file_custom_hub
[task 2025-02-18T10:45:12.831Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | "application/json" == "application/json" - 
[task 2025-02-18T10:45:12.831Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | 768 == 768 - 
[task 2025-02-18T10:45:12.831Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | 562 == 562 - 
[task 2025-02-18T10:45:12.832Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | 562 == 562 - 
[task 2025-02-18T10:45:12.832Z] 10:45:12     INFO - Leaving test bound test_getting_file_custom_hub
[task 2025-02-18T10:45:12.833Z] 10:45:12     INFO - Entering test bound test_getting_file_disallowed_custom_hub
[task 2025-02-18T10:45:12.834Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | . Should throw with https://forbidden.com - 
[task 2025-02-18T10:45:12.834Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | . Should throw with https://forbidden.com - 
[task 2025-02-18T10:45:12.835Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | . Should throw with https://forbidden.com - 
[task 2025-02-18T10:45:12.835Z] 10:45:12     INFO - Leaving test bound test_getting_file_disallowed_custom_hub
[task 2025-02-18T10:45:12.836Z] 10:45:12     INFO - Entering test bound test_DeleteFileByEngines
[task 2025-02-18T10:45:12.836Z] 10:45:12     INFO - Buffered messages logged at 10:45:12
[task 2025-02-18T10:45:12.837Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The retrieved data should match the stored data. - {} deepEqual {} - 
[task 2025-02-18T10:45:12.838Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The retrieved data should match the stored data. - {} deepEqual {} - 
[task 2025-02-18T10:45:12.838Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The data for the deleted model should not exist. - null == null - 
[task 2025-02-18T10:45:12.839Z] 10:45:12     INFO - Leaving test bound test_DeleteFileByEngines
[task 2025-02-18T10:45:12.839Z] 10:45:12     INFO - Entering test bound test_update_allow_deny_after_model_cache
[task 2025-02-18T10:45:12.840Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The file should exist in the cache. - true == true - 
[task 2025-02-18T10:45:12.840Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | true == true - 
[task 2025-02-18T10:45:12.841Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The data for the deleted model should not exist. - null == null - 
[task 2025-02-18T10:45:12.849Z] 10:45:12     INFO - Leaving test bound test_update_allow_deny_after_model_cache
[task 2025-02-18T10:45:12.849Z] 10:45:12     INFO - Entering test bound test_migrateStore_modelsDeleted
[task 2025-02-18T10:45:12.849Z] 10:45:12     INFO - Buffered messages finished
[task 2025-02-18T10:45:12.849Z] 10:45:12     INFO - TEST-UNEXPECTED-FAIL | toolkit/components/ml/tests/browser/browser_ml_cache.js | Uncaught exception in test bound test_migrateStore_modelsDeleted - VersionError: The operation failed because the stored database is a higher version than the version requested.
[task 2025-02-18T10:45:12.849Z] 10:45:12     INFO - Leaving test bound test_migrateStore_modelsDeleted
[task 2025-02-18T10:45:12.849Z] 10:45:12     INFO - Entering test bound test_migrateStore_emptyDatabase
[task 2025-02-18T10:45:12.849Z] 10:45:12     INFO - TEST-PASS | toolkit/components/ml/tests/browser/browser_ml_cache.js | The database should remain empty after migration. - [] deepEqual [] - 
[task 2025-02-18T10:45:12.849Z] 10:45:12     INFO - Leaving test bound test_migrateStore_emptyDatabase
[task 2025-02-18T10:45:12.849Z] 10:45:12     INFO - GECKO(5750) | MEMORY STAT vsizeMaxContiguous not supported in this build configuration.
[task 2025-02-18T10:45:12.849Z] 10:45:12     INFO - GECKO(5750) | MEMORY STAT heapAllocated not supported in this build configuration.
[task 2025-02-18T10:45:12.849Z] 10:45:12     INFO - GECKO(5750) | MEMORY STAT | vsize 20984249MB | residentFast 1707MB
[task 2025-02-18T10:45:12.849Z] 10:45:12     INFO - TEST-OK | toolkit/components/ml/tests/browser/browser_ml_cache.js | took 7410ms
[task 2025-02-18T10:45:12.873Z] 10:45:12     INFO - checking window state
[task 2025-02-18T10:45:12.924Z] 10:45:12     INFO - TEST-START | toolkit/components/ml/tests/browser/browser_ml_cluster_algos.js
Status: NEW → RESOLVED
Closed: 4 months ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Status: REOPENED → RESOLVED
Closed: 4 months ago22 days ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.