#6254·pyodide

Snapshot restore failure

Author: ryanking13Created May 22, 2026Updated Aug 29, 2026
Labelsbug

Looks like we have some snapshot-related flakes these days:

_____________ test_snapshot_serializer_need_deserializer[firefox] ______________
src/tests/test_snapshots.py:236: in test_snapshot_serializer_need_deserializer
    selenium.run_js(
/usr/local/lib/python3.14/site-packages/pytest_pyodide/runner.py:256: in run_js
    return self.run_js_inner(code, check_code)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.14/site-packages/pytest_pyodide/runner.py:355: in run_js_inner
    raise JavascriptException(retval[1], retval[2])
E   pytest_pyodide.runner.JavascriptException: RangeError: source array is too long
E   
E   _createPyodideModule/pyodide_js_init/API.restoreSnapshot@http://127.0.0.1:38979/pyodide.asm.mjs:1:670728
E   Ae@http://127.0.0.1:38979/pyodide.mjs:3:13444
E   dt@http://127.0.0.1:38979/pyodide.mjs:3:13840
______________________ test_snapshot_deleted_proxy[node] _______________________
src/tests/test_snapshots.py:100: in test_snapshot_deleted_proxy
    selenium.run_js(
/usr/local/lib/python3.14/site-packages/pytest_pyodide/runner.py:256: in run_js
    return self.run_js_inner(code, check_code)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.14/site-packages/pytest_pyodide/runner.py:632: in run_js_inner
    raise JavascriptException("", self.p.before.decode())
E   pytest_pyodide.runner.JavascriptException: RangeError: offset is out of bounds
E       at Int8Array.set (<anonymous>)
E       at API.restoreSnapshot (file:///root/repo/dist/pyodide.asm.mjs:1:670728)
E       at bootstrapPyodide (/root/repo/dist/pyodide.js:3:13695)
E       at loadPyodide (/root/repo/dist/pyodide.js:3:14088)
E       at async evalmachine.<anonymous>:17:13
E       at async evalmachine.<anonymous>:4:26
E       at async evalCode (/usr/local/lib/python3.14/site-packages/pytest_pyodide/node_test_driver.js:103:33)
________________________ test_snapshot_stacked[safari] _________________________
src/tests/test_snapshots.py:127: in test_snapshot_stacked
    selenium.run_js(
../../../miniconda3/envs/pyodide-env/lib/python3.14/site-packages/pytest_pyodide/runner.py:256: in run_js
    return self.run_js_inner(code, check_code)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../miniconda3/envs/pyodide-env/lib/python3.14/site-packages/pytest_pyodide/runner.py:355: in run_js_inner
    raise JavascriptException(retval[1], retval[2])
E   pytest_pyodide.runner.JavascriptException: RangeError: Range consisting of offset and length are out of bounds
E   
E   set@[native code]
E   @http://127.0.0.1:50806/pyodide.asm.mjs:1:670731
E   Ae@http://127.0.0.1:50806/pyodide.mjs:3:13459
E   dt@http://127.0.0.1:50806/pyodide.mjs:3:13840

The error message differs per browser, but I guess they are basically the same error.