Skip to content

Windows and Python 3.8: IOPubThread, add_reader, NotImplementedError #468

@basnijholt

Description

@basnijholt

On Adaptive's CI we are executing the following

    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 = <ProactorEventLoop running=False closed=False debug=False>, fd = 2676
2019-12-17T18:23:09.1337114Z callback = <bound method BaseAsyncIOLoop._handle_events of <zmq.eventloop.ioloop.ZMQIOLoop object at 0x000001C14F5552B0>>
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.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions