ipython / ipython/ipykernel

Windows and Python 3.8: IOPubThread, add_reader, NotImplementedError

Open
#468 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
734
Forks
412
Avg merge
1d 5h
Merged PRs (30d)
8

Description

On [Adaptive](https://github.com/python-adaptive/adaptive/)'s CI we are executing the following
```python
ctx = zmq.Context()
iopub_socket = ctx.socket(zmq.PUB)
iopub_thread = ipykernel.iostream.IOPubThread(iopub_socket)
```

On 'vs2017-win2016' and 'windows-latest' at Python 3.8, I consistently get the following traceback:
```
2019-12-17T18:23:09.1315754Z ================================== FAILURES ===================================
2019-12-17T18:23:09.1320349Z _____________________ test_private_api_used_in_live_info ______________________
2019-12-17T18:23:09.1320805Z
2019-12-17T18:23:09.1321185Z @pytest.mark.skipif(
2019-12-17T18:23:09.1321672Z not with_notebook_dependencies, reason="notebook dependencies are not installed"
2019-12-17T18:23:09.1322112Z )
2019-12-17T18:23:09.1322491Z def test_private_api_used_in_live_info():
2019-12-17T18:23:09.1322903Z """We are catching all errors in
2019-12-17T18:23:09.1323407Z adaptive.notebook_integration.should_update
2019-12-17T18:23:09.1323795Z so if ipykernel changed its API it would happen unnoticed."""
2019-12-17T18:23:09.1324215Z # XXX: find a potential better solution in
2019-12-17T18:23:09.1325254Z # https://github.com/ipython/ipykernel/issues/365
2019-12-17T18:23:09.1325873Z ctx = zmq.Context()
2019-12-17T18:23:09.1326384Z iopub_socket = ctx.socket(zmq.PUB)
2019-12-17T18:23:09.1326913Z > iopub_thread = ipykernel.iostream.IOPubThread(iopub_socket)
2019-12-17T18:23:09.1327444Z
2019-12-17T18:23:09.1327922Z adaptive\tests\test_notebook_integration.py:23:
2019-12-17T18:23:09.1328544Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2019-12-17T18:23:09.1329549Z .tox\py38-alldeps\lib\site-packages\ipykernel\iostream.py:71: in __init__
2019-12-17T18:23:09.1330309Z self._setup_event_pipe()
2019-12-17T18:23:09.1330692Z .tox\py38-alldeps\lib\site-packages\ipykernel\iostream.py:90: in _setup_event_pipe
2019-12-17T18:23:09.1331234Z self._event_puller = ZMQStream(pipe_in, self.io_loop)
2019-12-17T18:23:09.1331675Z .tox\py38-alldeps\lib\site-packages\zmq\eventloop\zmqstream.py:127: in __init__
2019-12-17T18:23:09.1332057Z self._init_io_state()
2019-12-17T18:23:09.1332770Z .tox\py38-alldeps\lib\site-packages\zmq\eventloop\zmqstream.py:546: in _init_io_state
2019-12-17T18:23:09.1333540Z self.io_loop.add_handler(self.socket, self._handle_events, self.io_loop.READ)
2019-12-17T18:23:09.1334063Z .tox\py38-alldeps\lib\site-packages\tornado\platform\asyncio.py:99: in add_handler
2019-12-17T18:23:09.1334344Z self.asyncio_loop.add_reader(fd, self._handle_events, fd, IOLoop.READ)
2019-12-17T18:23:09.1335392Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2019-12-17T18:23:09.1335837Z
2019-12-17T18:23:09.1336534Z self = , fd = 2676
2019-12-17T18:23:09.1337114Z callback = >
2019-12-17T18:23:09.1337654Z args = (2676, 1)
2019-12-17T18:23:09.1338072Z
2019-12-17T18:23:09.1338756Z def add_reader(self, fd, callback, *args):
2019-12-17T18:23:09.1339186Z > raise NotImplementedError
2019-12-17T18:23:09.1339745Z E NotImplementedError
```

See this [build](https://dev.azure.com/python-adaptive/adaptive/_build/results?buildId=1134&view=logs&j=bcb552e4-0cf5-542f-3a73-40f52a3cab59&t=31f93f03-6a59-529c-985c-f676e7f9b74b).

I have no idea why this happens. Is this a bug? Or are some dependencies perhaps broken?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.