Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ui-test failure on Python 3.12 #1639

Open
bnavigator opened this issue Feb 8, 2024 · 1 comment
Open

Ui-test failure on Python 3.12 #1639

bnavigator opened this issue Feb 8, 2024 · 1 comment

Comments

@bnavigator
Copy link

bnavigator commented Feb 8, 2024

Describe the bug
I am getting a new failure in an ui-test notebook with Python 3.12 which does not happen in previous versions

To Reproduce
pytest-3.12 -v --nbval ui-tests/tests/notebooks/index_selector_update.ipynb

Expected behavior
PASSED

Output

[  124s] =================================== FAILURES ===================================
[  124s] _________ ui-tests/tests/notebooks/index_selector_update.ipynb::Cell 0 _________
[  124s] Notebook cell execution failed
[  124s] Cell 0: Cell execution caused an exception
[  124s] 
[  124s] Input:
[  124s] from bqplot import *
[  124s] from bqplot.interacts import *
[  124s] 
[  124s] # Create Scatter
[  124s] sc_x = LinearScale()
[  124s] sc_y = LinearScale()
[  124s] 
[  124s] scatt = Scatter(
[  124s]     x=list(range(10)), 
[  124s]     y=[20, 3, 23, 5, 6, 12, 23, 14, 20, 3],
[  124s]     scales={'x': sc_x, 'y': sc_y},
[  124s]     selected_style={"opacity": "1"},
[  124s]     unselected_style={"opacity": "0.2"}
[  124s] )
[  124s] 
[  124s] sel = IndexSelector(
[  124s]     marks=[scatt], 
[  124s]     scale=sc_x,
[  124s]     selected=3
[  124s] )
[  124s] 
[  124s] ax_x = Axis(scale=sc_x)
[  124s] ax_y = Axis(scale=sc_y, orientation='vertical')
[  124s] 
[  124s] fig = Figure(
[  124s]     marks=[scatt], 
[  124s]     axes=[ax_x, ax_y],
[  124s]     interaction=sel
[  124s] )
[  124s] fig
[  124s] 
[  124s] Traceback:
[  124s] 
[  124s] ---------------------------------------------------------------------------
[  124s] TypeError                                 Traceback (most recent call last)
[  124s] Cell In[1], line 16
[  124s]       6 sc_y = LinearScale()
[  124s]       8 scatt = Scatter(
[  124s]       9     x=list(range(10)), 
[  124s]      10     y=[20, 3, 23, 5, 6, 12, 23, 14, 20, 3],
[  124s]    (...)
[  124s]      13     unselected_style={"opacity": "0.2"}
[  124s]      14 )
[  124s] ---> 16 sel = IndexSelector(
[  124s]      17     marks=[scatt], 
[  124s]      18     scale=sc_x,
[  124s]      19     selected=3
[  124s]      20 )
[  124s]      22 ax_x = Axis(scale=sc_x)
[  124s]      23 ax_y = Axis(scale=sc_y, orientation='vertical')
[  124s] 
[  124s] File /usr/lib/python3.12/site-packages/ipywidgets/widgets/widget.py:506, in Widget.__init__(self, **kwargs)
[  124s]     503 super().__init__(**kwargs)
[  124s]     505 Widget._call_widget_constructed(self)
[  124s] --> 506 self.open()
[  124s] 
[  124s] File /usr/lib/python3.12/site-packages/ipywidgets/widgets/widget.py:535, in Widget.open(self)
[  124s]     532 if self._model_id is not None:
[  124s]     533     args['comm_id'] = self._model_id
[  124s] --> 535 self.comm = comm.create_comm(**args)
[  124s] 
[  124s] File /usr/lib/python3.12/site-packages/ipywidgets/comm.py:33, in create_comm(*args, **kwargs)
[  124s]      31     return Comm(*args, **kwargs)
[  124s]      32 else:
[  124s] ---> 33     return comm.create_comm(*args, **kwargs)
[  124s] 
[  124s] File /usr/lib/python3.12/site-packages/ipykernel/ipkernel.py:51, in _create_comm(*args, **kwargs)
[  124s]      49 def _create_comm(*args, **kwargs):
[  124s]      50     """Create a new Comm."""
[  124s] ---> 51     return BaseComm(*args, **kwargs)
[  124s] 
[  124s] File /usr/lib/python3.12/site-packages/comm/base_comm.py:68, in BaseComm.__init__(self, target_name, data, metadata, buffers, comm_id, primary, target_module, topic, _open_data, _close_data, **kwargs)
[  124s]      64 self._closed = True
[  124s]      66 if self.primary:
[  124s]      67     # I am primary, open my peer.
[  124s] ---> 68     self.open(data=data, metadata=metadata, buffers=buffers)
[  124s]      69 else:
[  124s]      70     self._closed = False
[  124s] 
[  124s] File /usr/lib/python3.12/site-packages/comm/base_comm.py:106, in BaseComm.open(self, data, metadata, buffers)
[  124s]     104 comm_manager.register_comm(self)
[  124s]     105 try:
[  124s] --> 106     self.publish_msg(
[  124s]     107         "comm_open",
[  124s]     108         data=data,
[  124s]     109         metadata=metadata,
[  124s]     110         buffers=buffers,
[  124s]     111         target_name=self.target_name,
[  124s]     112         target_module=self.target_module,
[  124s]     113     )
[  124s]     114     self._closed = False
[  124s]     115 except Exception:
[  124s] 
[  124s] File /usr/lib/python3.12/site-packages/ipykernel/comm/comm.py:37, in BaseComm.publish_msg(self, msg_type, data, metadata, buffers, **keys)
[  124s]      34     self.kernel = Kernel.instance()
[  124s]      36 assert self.kernel.session is not None
[  124s] ---> 37 self.kernel.session.send(
[  124s]      38     self.kernel.iopub_socket,
[  124s]      39     msg_type,
[  124s]      40     content,
[  124s]      41     metadata=json_clean(metadata),
[  124s]      42     parent=self.kernel.get_parent(),
[  124s]      43     ident=self.topic,
[  124s]      44     buffers=buffers,
[  124s]      45 )
[  124s] 
[  124s] File /usr/lib/python3.12/site-packages/jupyter_client/session.py:854, in Session.send(self, stream, msg_or_type, content, parent, ident, buffers, track, header, metadata)
[  124s]     852 to_send = self.serialize(msg, ident)
[  124s]     853 to_send.extend(buffers)
[  124s] --> 854 longest = max([len(s) for s in to_send])
[  124s]     855 copy = longest < self.copy_threshold
[  124s]     857 if stream and buffers and track and not copy:
[  124s]     858     # only really track when we are doing zero-copy buffers
[  124s] 
[  124s] TypeError: 0-dim memory has no length
[  124s] 
[  124s] _________ ui-tests/tests/notebooks/index_selector_update.ipynb::Cell 1 _________
[  124s] Notebook cell execution failed
[  124s] Cell 1: Cell execution caused an exception
[  124s] 
[  124s] Input:
[  124s] sel.selected = 5
[  124s] 
[  124s] Traceback:
[  124s] 
[  124s] ---------------------------------------------------------------------------
[  124s] NameError                                 Traceback (most recent call last)
[  124s] Cell In[1], line 1
[  124s] ----> 1 sel.selected = 5
[  124s] 
[  124s] NameError: name 'sel' is not defined
[  124s] 
[  124s] =========================== short test summary info ============================
[  124s] FAILED ui-tests/tests/notebooks/index_selector_update.ipynb::Cell 0
[  124s] FAILED ui-tests/tests/notebooks/index_selector_update.ipynb::Cell 1
[  124s] ======================== 2 failed, 140 passed in 24.50s ========================

Additional context
The packages in the stacktrace are up to date, no idea which one is at fault

ipywidgets 8.1.1
ipykernel 6.29.2
comm 0.2.1
jupyter-client 8.6.0
@martinRenou
Copy link
Member

Thanks for opening an issue. We should probably enable Python 3.12 on the CI and figure out what is wrong

bmwiedemann pushed a commit to bmwiedemann/openSUSE that referenced this issue Feb 9, 2024
https://build.opensuse.org/request/show/1145389
by user bnavigator + anag+factory
- Don't build for python312 yet: ui-test failure of unknown reason
  gh#bqplot/bqplot#1639
bmwiedemann pushed a commit to bmwiedemann/openSUSE that referenced this issue Feb 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants