Caught this on my local box. Could be the culprit causing repeat failures and timeouts on travis.
~/p/j/kernel_gateway ❯❯❯ make test master ✭ ◼
docker run -it --rm --workdir '/srv/kernel_gateway' -e PYTHONPATH='/srv/kernel_gateway' -v `pwd`:/srv/kernel_gateway jupyter/pyspark-notebook:a388c4a66fd4 bash -c " python -B -m unittest discover"
.........................../opt/conda/lib/python3.4/imp.py:32: PendingDeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
PendingDeprecationWarning)
.....---------------------------------------------------------------------------
ZMQError Traceback (most recent call last)
/opt/conda/lib/python3.4/runpy.py in _run_module_as_main(mod_name='ipykernel.__main__', alter_argv=1)
168 sys.argv[0] = mod_spec.origin
169 return _run_code(code, main_globals, None,
--> 170 "__main__", mod_spec)
mod_spec = ModuleSpec(name='ipykernel.__main__', loader=<_frozen_importlib.SourceFileLoader object at 0x7f0be0bc8d30>, origin='/opt/conda/lib/python3.4/site-packages/ipykernel/__main__.py')
171
172 def run_module(mod_name, init_globals=None,
/opt/conda/lib/python3.4/runpy.py in _run_code(code=<code object <module> at 0x7f0be0c48f60, file "/...3.4/site-packages/ipykernel/__main__.py", line 1>, run_globals={'__builtins__': <module 'builtins' (built-in)>, '__cached__': '/opt/conda/lib/python3.4/site-packages/ipykernel/__pycache__/__main__.cpython-34.pyc', '__doc__': None, '__file__': '/opt/conda/lib/python3.4/site-packages/ipykernel/__main__.py', '__loader__': <_frozen_importlib.SourceFileLoader object>, '__name__': '__main__', '__package__': 'ipykernel', '__spec__': ModuleSpec(name='ipykernel.__main__', loader=<_f...b/python3.4/site-packages/ipykernel/__main__.py'), 'app': <module 'ipykernel.kernelapp' from '/opt/conda/lib/python3.4/site-packages/ipykernel/kernelapp.py'>}, init_globals=None, mod_name='__main__', mod_spec=ModuleSpec(name='ipykernel.__main__', loader=<_f...b/python3.4/site-packages/ipykernel/__main__.py'), pkg_name='ipykernel', script_name=None)
83 __package__ = pkg_name,
84 __spec__ = mod_spec)
---> 85 exec(code, run_globals)
global exec = undefined
code = <code object <module> at 0x7f0be0c48f60, file "/opt/conda/lib/python3.4/site-packages/ipykernel/__main__.py", line 1>
run_globals = {'app': <module 'ipykernel.kernelapp' from '/opt/conda/lib/python3.4/site-packages/ipykernel/kernelapp.py'>, '__doc__': None, '__loader__': <_frozen_importlib.SourceFileLoader object at 0x7f0be0bc8d30>, '__package__': 'ipykernel', '__file__': '/opt/conda/lib/python3.4/site-packages/ipykernel/__main__.py', '__builtins__': <module 'builtins' (built-in)>, '__spec__': ModuleSpec(name='ipykernel.__main__', loader=<_frozen_importlib.SourceFileLoader object at 0x7f0be0bc8d30>, origin='/opt/conda/lib/python3.4/site-packages/ipykernel/__main__.py'), '__cached__': '/opt/conda/lib/python3.4/site-packages/ipykernel/__pycache__/__main__.cpython-34.pyc', '__name__': '__main__'}
86 return run_globals
87
/opt/conda/lib/python3.4/site-packages/ipykernel/__main__.py in <module>()
1 if __name__ == '__main__':
2 from ipykernel import kernelapp as app
----> 3 app.launch_new_instance()
global app.launch_new_instance = <bound method MetaHasTraits.launch_instance of <class 'ipykernel.kernelapp.IPKernelApp'>>
/opt/conda/lib/python3.4/site-packages/traitlets/config/application.py in launch_instance(cls=<class 'ipykernel.kernelapp.IPKernelApp'>, argv=None, **kwargs={})
589 """
590 app = cls.instance(**kwargs)
--> 591 app.initialize(argv)
app.initialize = <bound method IPKernelApp.initialize of <ipykernel.kernelapp.IPKernelApp object at 0x7f0be0c66fd0>>
argv = None
592 app.start()
593
/opt/conda/lib/python3.4/site-packages/ipykernel/kernelapp.py in initialize(self=<ipykernel.kernelapp.IPKernelApp object>, argv=None)
/opt/conda/lib/python3.4/site-packages/traitlets/config/application.py in catch_config_error(method=<function IPKernelApp.initialize>, app=<ipykernel.kernelapp.IPKernelApp object>, *args=(None,), **kwargs={})
73 """
74 try:
---> 75 return method(app, *args, **kwargs)
method = <function IPKernelApp.initialize at 0x7f0bd7abe048>
app = <ipykernel.kernelapp.IPKernelApp object at 0x7f0be0c66fd0>
args = (None,)
kwargs = {}
76 except (TraitError, ArgumentError) as e:
77 app.print_help()
/opt/conda/lib/python3.4/site-packages/ipykernel/kernelapp.py in initialize(self=<ipykernel.kernelapp.IPKernelApp object>, argv=None)
371 self.init_connection_file()
372 self.init_poller()
--> 373 self.init_sockets()
self.init_sockets = <bound method IPKernelApp.init_sockets of <ipykernel.kernelapp.IPKernelApp object at 0x7f0be0c66fd0>>
374 self.init_heartbeat()
375 # writing/displaying connection info must be *after* init_sockets/heartbeat
/opt/conda/lib/python3.4/site-packages/ipykernel/kernelapp.py in init_sockets(self=<ipykernel.kernelapp.IPKernelApp object>)
237 self.stdin_socket = context.socket(zmq.ROUTER)
238 self.stdin_socket.linger = 1000
--> 239 self.stdin_port = self._bind_socket(self.stdin_socket, self.stdin_port)
self.stdin_port = 42574
self._bind_socket = <bound method IPKernelApp._bind_socket of <ipykernel.kernelapp.IPKernelApp object at 0x7f0be0c66fd0>>
self.stdin_socket = <zmq.sugar.socket.Socket object at 0x7f0bd7a769a8>
240 self.log.debug("stdin ROUTER Channel on port: %i" % self.stdin_port)
241
/opt/conda/lib/python3.4/site-packages/ipykernel/kernelapp.py in _bind_socket(self=<ipykernel.kernelapp.IPKernelApp object>, s=<zmq.sugar.socket.Socket object>, port=42574)
169 port = s.bind_to_random_port(iface)
170 else:
--> 171 s.bind("tcp://%s:%i" % (self.ip, port))
s.bind = <built-in method bind of Socket object at 0x7f0bd7a769a8>
self.ip = '127.0.0.1'
port = 42574
172 elif self.transport == 'ipc':
173 if port <= 0:
zmq/backend/cython/socket.pyx in zmq.backend.cython.socket.Socket.bind (zmq/backend/cython/socket.c:4824)()
/opt/conda/lib/python3.4/site-packages/zmq/backend/cython/checkrc.pxd in zmq.backend.cython.checkrc._check_rc (zmq/backend/cython/socket.c:7055)()
23 else:
24 from zmq.error import ZMQError
---> 25 raise ZMQError(errno)
global ZMQError = <class 'zmq.error.ZMQError'>
global errno = undefined
26 return 0
ZMQError: Address already in use
^CTraceback (most recent call last):
File "/opt/conda/lib/python3.4/unittest/case.py", line 573, in run
self.setUp()
File "/opt/conda/lib/python3.4/site-packages/tornado/testing.py", line 355, in setUp
self._app = self.get_app()
File "/srv/kernel_gateway/kernel_gateway/tests/test_gatewayapp.py", line 84, in get_app
self.app.init_configurables()
File "/srv/kernel_gateway/kernel_gateway/gatewayapp.py", line 240, in init_configurables
self.kernel_pool = KernelPool(self.prespawn_count, self.kernel_manager)
File "/srv/kernel_gateway/kernel_gateway/services/kernels/pool.py", line 27, in __init__
kernel_id = kernel_manager.start_kernel(kernel_name=self.kernel_manager.parent.seed_notebook['metadata']['kernelspec']['name'])
File "/srv/kernel_gateway/kernel_gateway/services/kernels/manager.py", line 59, in start_kernel
client.wait_for_ready()
File "/opt/conda/lib/python3.4/site-packages/jupyter_client/blocking/client.py", line 22, in wait_for_ready
msg = self.shell_channel.get_msg(block=True)
File "/opt/conda/lib/python3.4/site-packages/jupyter_client/blocking/channels.py", line 50, in get_msg
ready = self.socket.poll(timeout)
File "/opt/conda/lib/python3.4/site-packages/zmq/sugar/socket.py", line 501, in poll
evts = dict(p.poll(timeout))
File "/opt/conda/lib/python3.4/site-packages/zmq/sugar/poll.py", line 101, in poll
return zmq_poll(self.sockets, timeout=timeout)
File "zmq/backend/cython/_poll.pyx", line 115, in zmq.backend.cython._poll.zmq_poll (zmq/backend/cython/_poll.c:1625)
File "zmq/backend/cython/checkrc.pxd", line 12, in zmq.backend.cython.checkrc._check_rc (zmq/backend/cython/_poll.c:1958)
KeyboardInterrupt
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/conda/lib/python3.4/runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "/opt/conda/lib/python3.4/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/opt/conda/lib/python3.4/unittest/__main__.py", line 18, in <module>
main(module=None)
File "/opt/conda/lib/python3.4/unittest/main.py", line 93, in __init__
self.runTests()
File "/opt/conda/lib/python3.4/unittest/main.py", line 244, in runTests
self.result = testRunner.run(self.test)
File "/opt/conda/lib/python3.4/unittest/runner.py", line 168, in run
test(result)
File "/opt/conda/lib/python3.4/unittest/suite.py", line 84, in __call__
return self.run(*args, **kwds)
File "/opt/conda/lib/python3.4/unittest/suite.py", line 122, in run
test(result)
File "/opt/conda/lib/python3.4/unittest/suite.py", line 84, in __call__
return self.run(*args, **kwds)
File "/opt/conda/lib/python3.4/unittest/suite.py", line 122, in run
test(result)
File "/opt/conda/lib/python3.4/unittest/suite.py", line 84, in __call__
return self.run(*args, **kwds)
File "/opt/conda/lib/python3.4/unittest/suite.py", line 122, in run
test(result)
File "/opt/conda/lib/python3.4/unittest/case.py", line 625, in __call__
return self.run(*args, **kwds)
File "/opt/conda/lib/python3.4/site-packages/tornado/testing.py", line 265, in run
self.__rethrow()
File "/opt/conda/lib/python3.4/site-packages/tornado/testing.py", line 256, in __rethrow
raise_exc_info(failure)
File "<string>", line 3, in raise_exc_info
File "/opt/conda/lib/python3.4/site-packages/tornado/testing.py", line 260, in run
super(AsyncTestCase, self).run(result)
File "/opt/conda/lib/python3.4/site-packages/tornado/testing.py", line 564, in run
super(LogTrapTestCase, self).run(result)
File "/opt/conda/lib/python3.4/unittest/case.py", line 573, in run
self.setUp()
KeyboardInterrupt
sys:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='/dev/null' mode='w' encoding='ANSI_X3.4-1968'>
/opt/conda/lib/python3.4/importlib/_bootstrap.py:2150: ImportWarning: sys.meta_path is empty
sys:1: ResourceWarning: unclosed <socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('127.0.0.1', 41263)>
^C%