Open jbednar opened 4 years ago
This appears to happen when the streaming plot is in a layout, doesn't matter what's in that layout though. Still looking into it, suspect something about the range calculation logic is off.
I can't reproduce this error. Instead I get other errors, both on the server and client sides. Streaming support in hvPlot/HoloViews seems pretty limited at the moment. I have no clue how much effort is required to get it to work correctly again. For sure there should be a way for us to avoid future regressions when support is re-established.
Code:
import hvplot.streamz
from streamz.dataframe import Random
df = Random(interval='200ms', freq='50ms')
layout = (df.hvplot.line(width=400, backlog=100) * df.hvplot.scatter(width=400, backlog=100) +
df.groupby('y').sum().hvplot.bar('y', 'x', width=400) +
df.hvplot.box(width=400) + df.x.hvplot.kde(width=400, shared_axes=False)).cols(2)
layout
Output (not always the same, sometimes some data is effectively rendered, but I never see it being streamed):
Python error:
2022-10-23 18:56:39,940 - tornado.application - ERROR - Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <tornado.platform.asyncio.AsyncIOLoop object at 0x7fb6d8c6cc40>>, <Task finished name='Task-4' coro=<PeriodicDataFrame._cb() done, defined at /Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/dataframe/core.py:1046> exception=KeyError('factors')>)
Traceback (most recent call last):
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/tornado/ioloop.py", line 741, in _run_callback
ret = callback()
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/tornado/ioloop.py", line 765, in _discard_future_result
future.result()
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/dataframe/core.py", line 1052, in _cb
await asyncio.gather(*source._emit(dict(last=last, now=now)))
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/core.py", line 449, in _emit
r = downstream.update(x, who=self, metadata=metadata)
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/core.py", line 715, in update
return self._emit(result, metadata=metadata)
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/core.py", line 449, in _emit
r = downstream.update(x, who=self, metadata=metadata)
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/sinks.py", line 69, in update
result = self.func(x, *self.args, **self.kwargs)
File "/Users/mliquet/work/dev/holoviews/holoviews/streams.py", line 490, in send
self.event(data=data)
File "/Users/mliquet/work/dev/holoviews/holoviews/streams.py", line 428, in event
self.trigger([self])
File "/Users/mliquet/work/dev/holoviews/holoviews/streams.py", line 184, in trigger
subscriber(**dict(union))
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 243, in refresh
raise e
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 239, in refresh
self._trigger_refresh(stream_key)
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 256, in _trigger_refresh
self.update(key)
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 949, in update
item = self.__getitem__(key)
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 435, in __getitem__
self.update_frame(frame)
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/bokeh/element.py", line 1516, in update_frame
ranges = self.compute_ranges(self.hmap, key, ranges)
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 607, in compute_ranges
self._compute_group_range(group, elements, ranges, framewise,
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 855, in _compute_group_range
filtered = [r for i, r in zip(ids, values[g]) if i not in prev_ids]
KeyError: 'factors'
JS errors
Uncaught (in promise) Error: invalid bbox {left: NaN, top: 229.19020080566406, right: NaN, bottom: 237.08033752441406}
o http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:389
bbox http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:444
z http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:452
_draw_oriented_labels http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:452
_draw_major_labels http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:452
_render http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:452
render http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:365
_paint_levels http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:678
_actual_paint http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:678
paint http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:678
after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:678
after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655
after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655
after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655
compute_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655
build http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655
renderTo http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655
f http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:743
add_document_standalone http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:743
embed_items_notebook http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:750
embed_document http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:5
<anonymous> http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:17
<anonymous> http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:33
attachWidget http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
insertWidget http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_insertOutput http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
onModelChanged http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
m http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
l http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
emit http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_onListChanged http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
m http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
l http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
emit http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
push http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_add http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
add http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_onIOPub http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_handleIOPub http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
handleMsg http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_handleMessage http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_msgChain http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
promise callback*19883/b/this._onWSMessage http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_createSocket http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
setTimeout handler*_reconnect http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
reconnect http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
restart http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
restartKernel http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
restart http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
restartKernel http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
r http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
execute http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_executeKeyBinding http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
processKeydownEvent http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
evtKeydown http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
handleEvent http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
Uncaught Error: event model wasn't known
apply_json_patch http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:324
process_events http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:1477
_document_changed http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:1477
setTimeout handler*_document_changed http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:1477
_document_listener http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:1477
_trigger_on_change http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:324
_push_changes http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:338
setv http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:338
after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:678
after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655
after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655
after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655
compute_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655
build http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655
renderTo http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655
f http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:743
add_document_standalone http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:743
embed_items_notebook http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:750
embed_document http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:5
<anonymous> http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:17
<anonymous> http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:33
attachWidget http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
insertWidget http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_insertOutput http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
onModelChanged http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
m http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
l http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
emit http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_onListChanged http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
m http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
l http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
emit http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
push http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_add http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
add http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_onIOPub http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_handleIOPub http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
handleMsg http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_handleMessage http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_msgChain http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
promise callback*19883/b/this._onWSMessage http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_createSocket http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
setTimeout handler*_reconnect http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
reconnect http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
restart http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
restartKernel http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
restart http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
restartKernel http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
r http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
execute http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
_executeKeyBinding http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
processKeydownEvent http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
evtKeydown http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
handleEvent http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
I also got this Python error instead of the one reported above:
2022-10-23 18:58:55,145 - tornado.application - ERROR - Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <tornado.platform.asyncio.AsyncIOLoop object at 0x7fb6d8c6cc40>>, <Task finished name='Task-5' coro=<PeriodicDataFrame._cb() done, defined at /Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/dataframe/core.py:1046> exception=KeyError('y_range')>)
Traceback (most recent call last):
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/tornado/ioloop.py", line 741, in _run_callback
ret = callback()
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/tornado/ioloop.py", line 765, in _discard_future_result
future.result()
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/dataframe/core.py", line 1052, in _cb
await asyncio.gather(*source._emit(dict(last=last, now=now)))
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/core.py", line 449, in _emit
r = downstream.update(x, who=self, metadata=metadata)
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/core.py", line 715, in update
return self._emit(result, metadata=metadata)
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/core.py", line 449, in _emit
r = downstream.update(x, who=self, metadata=metadata)
File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/sinks.py", line 69, in update
result = self.func(x, *self.args, **self.kwargs)
File "/Users/mliquet/work/dev/holoviews/holoviews/streams.py", line 490, in send
self.event(data=data)
File "/Users/mliquet/work/dev/holoviews/holoviews/streams.py", line 428, in event
self.trigger([self])
File "/Users/mliquet/work/dev/holoviews/holoviews/streams.py", line 184, in trigger
subscriber(**dict(union))
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 243, in refresh
raise e
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 239, in refresh
self._trigger_refresh(stream_key)
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 256, in _trigger_refresh
self.update(key)
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 948, in update
return self.initialize_plot()
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/bokeh/element.py", line 1390, in initialize_plot
plot = self._init_plot(key, style_element, ranges=ranges, plots=plots)
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/bokeh/element.py", line 487, in _init_plot
axis_types, labels, plot_ranges = self._axes_props(plots, subplots, element, ranges)
File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/bokeh/element.py", line 470, in _axes_props
x_range, y_range = plot_ranges['x_range'], plot_ranges['y_range']
KeyError: 'y_range'
Code:
import hvplot.streamz from streamz.dataframe import Random df = Random(interval='200ms', freq='50ms') layout = (df.hvplot.line(width=400, backlog=100) * df.hvplot.scatter(width=400, backlog=100) + df.groupby('y').sum().hvplot.bar('y', 'x', width=400) + df.hvplot.box(width=400) + df.x.hvplot.kde(width=400, shared_axes=False)).cols(2) layout
Output (not always the same, sometimes some data is effectively rendered, but I never see it being streamed):
Python error:
2022-10-23 18:56:39,940 - tornado.application - ERROR - Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <tornado.platform.asyncio.AsyncIOLoop object at 0x7fb6d8c6cc40>>, <Task finished name='Task-4' coro=<PeriodicDataFrame._cb() done, defined at /Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/dataframe/core.py:1046> exception=KeyError('factors')>) Traceback (most recent call last): File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/tornado/ioloop.py", line 741, in _run_callback ret = callback() File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/tornado/ioloop.py", line 765, in _discard_future_result future.result() File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/dataframe/core.py", line 1052, in _cb await asyncio.gather(*source._emit(dict(last=last, now=now))) File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/core.py", line 449, in _emit r = downstream.update(x, who=self, metadata=metadata) File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/core.py", line 715, in update return self._emit(result, metadata=metadata) File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/core.py", line 449, in _emit r = downstream.update(x, who=self, metadata=metadata) File "/Users/mliquet/miniconda3/envs/hv-dev38/lib/python3.8/site-packages/streamz/sinks.py", line 69, in update result = self.func(x, *self.args, **self.kwargs) File "/Users/mliquet/work/dev/holoviews/holoviews/streams.py", line 490, in send self.event(data=data) File "/Users/mliquet/work/dev/holoviews/holoviews/streams.py", line 428, in event self.trigger([self]) File "/Users/mliquet/work/dev/holoviews/holoviews/streams.py", line 184, in trigger subscriber(**dict(union)) File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 243, in refresh raise e File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 239, in refresh self._trigger_refresh(stream_key) File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 256, in _trigger_refresh self.update(key) File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 949, in update item = self.__getitem__(key) File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 435, in __getitem__ self.update_frame(frame) File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/bokeh/element.py", line 1516, in update_frame ranges = self.compute_ranges(self.hmap, key, ranges) File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 607, in compute_ranges self._compute_group_range(group, elements, ranges, framewise, File "/Users/mliquet/work/dev/holoviews/holoviews/plotting/plot.py", line 855, in _compute_group_range filtered = [r for i, r in zip(ids, values[g]) if i not in prev_ids] KeyError: 'factors'
JS errors
Uncaught (in promise) Error: invalid bbox {left: NaN, top: 229.19020080566406, right: NaN, bottom: 237.08033752441406} o http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:389 bbox http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:444 z http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:452 _draw_oriented_labels http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:452 _draw_major_labels http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:452 _render http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:452 render http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:365 _paint_levels http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:678 _actual_paint http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:678 paint http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:678 after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:678 after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655 after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655 after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655 compute_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655 build http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655 renderTo http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655 f http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:743 add_document_standalone http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:743 embed_items_notebook http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:750 embed_document http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:5 <anonymous> http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:17 <anonymous> http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:33 attachWidget http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 insertWidget http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _insertOutput http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 onModelChanged http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 m http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 l http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 emit http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _onListChanged http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 m http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 l http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 emit http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 push http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _add http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 add http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _onIOPub http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _handleIOPub http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 handleMsg http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _handleMessage http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _msgChain http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 promise callback*19883/b/this._onWSMessage http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _createSocket http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 setTimeout handler*_reconnect http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 reconnect http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 restart http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 restartKernel http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 restart http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 restartKernel http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 r http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 execute http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _executeKeyBinding http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 processKeydownEvent http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 evtKeydown http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 handleEvent http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
Uncaught Error: event model wasn't known apply_json_patch http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:324 process_events http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:1477 _document_changed http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:1477 setTimeout handler*_document_changed http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:1477 _document_listener http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:1477 _trigger_on_change http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:324 _push_changes http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:338 setv http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:338 after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:678 after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655 after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655 after_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655 compute_layout http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655 build http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655 renderTo http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:655 f http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:743 add_document_standalone http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:743 embed_items_notebook http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:750 embed_document http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:5 <anonymous> http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:17 <anonymous> http://localhost:8888/lab/workspaces/auto-x/tree/Untitled50.ipynb line 2 > injectedScript:33 attachWidget http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 insertWidget http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _insertOutput http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 onModelChanged http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 m http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 l http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 emit http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _onListChanged http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 m http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 l http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 emit http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 push http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _add http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 add http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _onIOPub http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _handleIOPub http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 handleMsg http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _handleMessage http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _msgChain http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 promise callback*19883/b/this._onWSMessage http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _createSocket http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 setTimeout handler*_reconnect http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 reconnect http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 restart http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 restartKernel http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 restart http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 restartKernel http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 r http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 execute http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 _executeKeyBinding http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 processKeydownEvent http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 evtKeydown http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2 handleEvent http://localhost:8888/static/lab/jlab_core.1d4a092221669bba35bb.js?v=1d4a092221669bba35bb:2
For me, even when not in a layout, I only get static plots. They only change when I rerun the cell.
Using hvplot master or any other recent version plus holoviews 1.13.3 or 1.13.4, along with the fix from #511 to make Streaming.ipynb runnable, some of the streamz hvplots inexorably fill up with whitespace, such as two screenshots from Streaming.ipynb taken a few minutes apart:
I haven't noticed the problem when the same plot is displayed with no other plots in the layout:
Nor have I noticed the problem when there is no backlog:
I also haven't noticed the plot with holoviews 1.13.2:
So I would assume the problem arose in HoloViews between 1.13.2 and 1.13.3, but I've filed the issue here because I don't have a HoloViews-only reproducer.