Skip to content

pyodide-worker raising error with pyodide 0.26.1 #7015

@MarcSkovMadsen

Description

@MarcSkovMadsen

I was trying to upgrade the pyodide and wasm code + documentation to latest version. I found that --pyodide-worker will not work with latest version of pyodide 0.26.1 and panel 1.5.0b2

Reproduce

See the error in the browser console

image

PythonError: Traceback (most recent call last):
  File "/lib/python312.zip/_pyodide/_base.py", line 574, in eval_code_async
    await CodeRunner(
  File "/lib/python312.zip/_pyodide/_base.py", line 394, in run_async
    coroutine = eval(self.code, globals, locals)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python312.zip/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/lib/python3.12/site-packages/panel/util/parameters.py", line 51, in edit_readonly
    yield
  File "<exec>", line 8, in <module>
  File "/lib/python3.12/site-packages/param/parameterized.py", line 2319, in update
    restore = dict(self_._update(arg, **kwargs))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.12/site-packages/param/parameterized.py", line 2352, in _update
    self_._batch_call_watchers()
  File "/lib/python312.zip/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/lib/python3.12/site-packages/param/parameterized.py", line 284, in _batch_call_watchers
    yield
  File "/lib/python3.12/site-packages/param/parameterized.py", line 2546, in _batch_call_watchers
    self_._execute_watcher(watcher, events)
  File "/lib/python3.12/site-packages/param/parameterized.py", line 2506, in _execute_watcher
    watcher.fn(*args, **kwargs)
  File "/lib/python3.12/site-packages/panel/reactive.py", line 412, in _param_change
    self._apply_update(named_events, properties, model, ref)
  File "/lib/python312.zip/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/lib/python3.12/site-packages/panel/io/document.py", line 375, in unlocked
    yield
  File "/lib/python3.12/site-packages/panel/reactive.py", line 316, in _apply_update
    self._update_model(events, msg, root, model, doc, comm)
  File "/lib/python3.12/site-packages/panel/reactive.py", line 344, in _update_model
    model.update(**msg)
  File "/lib/python3.12/site-packages/bokeh/core/has_props.py", line 483, in update
    setattr(self, k, v)
  File "/lib/python3.12/site-packages/bokeh/core/has_props.py", line 336, in __setattr__
    return super().__setattr__(name, value)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.12/site-packages/bokeh/core/property/descriptors.py", line 332, in __set__
    self._set(obj, old, value, setter=setter)
  File "/lib/python3.12/site-packages/bokeh/core/property/descriptors.py", line 620, in _set
    self._trigger(obj, old, value, hint=hint, setter=setter)
  File "/lib/python3.12/site-packages/bokeh/core/property/descriptors.py", line 698, in _trigger
    obj.trigger(self.name, old, value, hint, setter)
  File "/lib/python3.12/site-packages/bokeh/model/model.py", line 571, in trigger
    super().trigger(descriptor.name, old, new, hint=hint, setter=setter)
  File "/lib/python3.12/site-packages/bokeh/util/callback_manager.py", line 186, in trigger
    self.document.callbacks.notify_change(cast(Model, self), attr, old, new, hint, setter, invoke)
  File "/lib/python3.12/site-packages/bokeh/document/callbacks.py", line 251, in notify_change
    self.trigger_on_change(event)
  File "/lib/python3.12/site-packages/bokeh/document/callbacks.py", line 423, in trigger_on_change
    invoke_with_curdoc(doc, invoke_callbacks)
  File "/lib/python312.zip/contextlib.py", line 158, in __exit__
    self.gen.throw(value)
  File "/lib/python3.12/site-packages/bokeh/io/doc.py", line 82, in patch_curdoc
    yield
  File "/lib/python3.12/site-packages/bokeh/document/callbacks.py", line 453, in invoke_with_curdoc
    return f()
           ^^^
  File "/lib/python3.12/site-packages/bokeh/document/callbacks.py", line 422, in invoke_callbacks
    cb(event)
  File "/lib/python3.12/site-packages/panel/io/pyodide.py", line 346, in pysync
    dispatch_fn(json_patch, pyodide.ffi.to_js(buffer_map), msg_id)
  File "https://mnr-jupyterhub.de-prod.dk/mt-uk/user/masma/vscode/proxy/8000/pyodide/script.js", line 4, in sendPatch
pyodide.ffi.JsException: DataCloneError: Failed to execute 'postMessage' on 'DedicatedWorkerGlobalScope': [object Map] could not be cloned.

    at new_error (pyodide.asm.js:10:9965)
    at pyodide.asm.wasm:0x16dbfd
    at pyodide.asm.wasm:0x177431
    at _PyEM_TrampolineCall_JS (pyodide.asm.js:10:125894)
    at pyodide.asm.wasm:0x1c2eaf
    at pyodide.asm.wasm:0x2c7c0f
    at pyodide.asm.wasm:0x20a884
    at pyodide.asm.wasm:0x1c359c
    at pyodide.asm.wasm:0x1c38ab
    at pyodide.asm.wasm:0x1c3929
    at pyodide.asm.wasm:0x29e95d
    at pyodide.asm.wasm:0x2a4f54
    at pyodide.asm.wasm:0x1c3a69
    at pyodide.asm.wasm:0x1c36d2
    at pyodide.asm.wasm:0x176a95
    at callPyObjectKwargs (pyodide.asm.js:10:64068)
    at Module.callPyObjectMaybePromising (pyodide.asm.js:10:65316)
    at wrapper (pyodide.asm.js:10:27006)
    at Cn.e.port1.onmessage (pyodide.asm.js:10:102154)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions