terminado
terminado copied to clipboard
Test failure on OpenBSD
With terminado-0.5:
$ /usr/local/bin/nosetests /usr/local/lib/python2.7/site-packages/terminado
......E.
======================================================================
ERROR: test_max_terminals (terminado.tests.basic_test.UniqueTermTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/tornado/testing.py", line 120, in __call__
result = self.orig_method(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/tornado/testing.py", line 501, in post_coroutine
timeout=timeout)
File "/usr/local/lib/python2.7/site-packages/tornado/ioloop.py", line 445, in run_sync
return future_cell[0].result()
File "/usr/local/lib/python2.7/site-packages/tornado/concurrent.py", line 215, in result
raise_exc_info(self._exc_info)
File "/usr/local/lib/python2.7/site-packages/tornado/gen.py", line 879, in run
yielded = self.gen.send(value)
File "/usr/local/lib/python2.7/site-packages/terminado/tests/basic_test.py", line 233, in test_max_terminals
self.assertEquals(msg[0], 'setup')
TypeError: 'NoneType' object has no attribute '__getitem__'
-------------------- >> begin captured logging << --------------------
tornado.general: WARNING: tornado.autoreload started more than once in the same process
terminado.websocket: INFO: TermSocket.open: None
terminado.websocket: INFO: TermSocket.open: Opened tty
terminado.websocket: INFO: TermSocket.open: None
terminado.websocket: INFO: TermSocket.open: Opened tty
terminado.websocket: INFO: TermSocket.open: None
terminado.websocket: INFO: TermSocket.open: Opened tty
terminado.websocket: INFO: TermSocket.open: None
tornado.application: ERROR: Uncaught exception in /unique
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/tornado/websocket.py", line 415, in _run_callback
callback(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/terminado/websocket.py", line 95, in open
self.terminal = self.term_manager.get_terminal(url_component)
File "/usr/local/lib/python2.7/site-packages/terminado/management.py", line 256, in get_terminal
raise MaxTerminalsReached(self.max_terminals)
MaxTerminalsReached: Cannot create more than 3 terminals
terminado.websocket: INFO: Websocket closed
terminado.management: INFO: Websocket closed, sending SIGHUP to terminal.
terminado.websocket: INFO: Websocket closed
terminado.management: INFO: Websocket closed, sending SIGHUP to terminal.
terminado.websocket: INFO: TermSocket.open: None
tornado.application: ERROR: Uncaught exception in /unique
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/tornado/websocket.py", line 415, in _run_callback
callback(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/terminado/websocket.py", line 95, in open
self.terminal = self.term_manager.get_terminal(url_component)
File "/usr/local/lib/python2.7/site-packages/terminado/management.py", line 256, in get_terminal
raise MaxTerminalsReached(self.max_terminals)
MaxTerminalsReached: Cannot create more than 3 terminals
terminado.websocket: INFO: Websocket closed
terminado.management: INFO: Websocket closed, sending SIGHUP to terminal.
--------------------- >> end captured logging << ---------------------
----------------------------------------------------------------------
Ran 8 tests in 34.855s
FAILED (errors=1)
The test is about the maximum number of simultaneous terminals that can be open. After checking that max+1 fails, it closes one and then tries to open a new one, which should now be OK as it's under the maximum. It looks like that final one is still hitting the maximum - I'd guess there's some async problem where the closed one is not getting cleaned up before the new one is opened.
This is happening seemingly randomly in our tests on openSUSE as well.
The same is happening consistently on x86_64-darwin.
Could you post a current log/traceback that you're seeing for failures?
Sure. I'm using nix to build the package. Let me know if you need further information.
nix-repl> :b python36Packages.terminado
these derivations will be built:
/nix/store/zg6jn7xlb7zcvv9p05nybpffm1kb6z55-python3.6-terminado-0.6.drv
building path(s) ‘/nix/store/2j728lv9dlgkmyw24i1x9g3qmfgqi9qm-python3.6-terminado-0.6’
unpacking sources
unpacking source archive /nix/store/xrvhrl4avy11a32wzrilv0q6q6pc8w8p-terminado-0.6.tar.gz
source root is terminado-0.6
setting SOURCE_DATE_EPOCH to timestamp 1451916818 of file terminado-0.6/PKG-INFO
patching sources
configuring
building
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/terminado
copying terminado/uimodule.py -> build/lib/terminado
copying terminado/__init__.py -> build/lib/terminado
copying terminado/management.py -> build/lib/terminado
copying terminado/websocket.py -> build/lib/terminado
creating build/lib/terminado/tests
copying terminado/tests/__init__.py -> build/lib/terminado/tests
copying terminado/tests/basic_test.py -> build/lib/terminado/tests
copying terminado/uimod_embed.js -> build/lib/terminado
creating build/lib/terminado/_static
copying terminado/_static/terminado.js -> build/lib/terminado/_static
installing to build/bdist.macosx-10.6-x86_64/wheel
running install
running install_lib
creating build/bdist.macosx-10.6-x86_64
creating build/bdist.macosx-10.6-x86_64/wheel
creating build/bdist.macosx-10.6-x86_64/wheel/terminado
copying build/lib/terminado/uimodule.py -> build/bdist.macosx-10.6-x86_64/wheel/terminado
creating build/bdist.macosx-10.6-x86_64/wheel/terminado/tests
copying build/lib/terminado/tests/__init__.py -> build/bdist.macosx-10.6-x86_64/wheel/terminado/tests
copying build/lib/terminado/tests/basic_test.py -> build/bdist.macosx-10.6-x86_64/wheel/terminado/tests
copying build/lib/terminado/__init__.py -> build/bdist.macosx-10.6-x86_64/wheel/terminado
creating build/bdist.macosx-10.6-x86_64/wheel/terminado/_static
copying build/lib/terminado/_static/terminado.js -> build/bdist.macosx-10.6-x86_64/wheel/terminado/_static
copying build/lib/terminado/management.py -> build/bdist.macosx-10.6-x86_64/wheel/terminado
copying build/lib/terminado/uimod_embed.js -> build/bdist.macosx-10.6-x86_64/wheel/terminado
copying build/lib/terminado/websocket.py -> build/bdist.macosx-10.6-x86_64/wheel/terminado
running install_egg_info
running egg_info
creating terminado.egg-info
writing terminado.egg-info/PKG-INFO
writing dependency_links to terminado.egg-info/dependency_links.txt
writing requirements to terminado.egg-info/requires.txt
writing top-level names to terminado.egg-info/top_level.txt
writing manifest file 'terminado.egg-info/SOURCES.txt'
reading manifest file 'terminado.egg-info/SOURCES.txt'
writing manifest file 'terminado.egg-info/SOURCES.txt'
Copying terminado.egg-info to build/bdist.macosx-10.6-x86_64/wheel/terminado-0.6-py3.6.egg-info
running install_scripts
creating build/bdist.macosx-10.6-x86_64/wheel/terminado-0.6.dist-info/WHEEL
creating '/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/dist/terminado-0.6-py2.py3-none-any.whl' and adding '.' to it
adding 'terminado/__init__.py'
adding 'terminado/management.py'
adding 'terminado/uimod_embed.js'
adding 'terminado/uimodule.py'
adding 'terminado/websocket.py'
adding 'terminado/_static/terminado.js'
adding 'terminado/tests/__init__.py'
adding 'terminado/tests/basic_test.py'
adding 'terminado-0.6.dist-info/DESCRIPTION.rst'
adding 'terminado-0.6.dist-info/metadata.json'
adding 'terminado-0.6.dist-info/top_level.txt'
adding 'terminado-0.6.dist-info/WHEEL'
adding 'terminado-0.6.dist-info/METADATA'
adding 'terminado-0.6.dist-info/RECORD'
installing
/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/dist /private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6
Processing ./terminado-0.6-py2.py3-none-any.whl
Requirement already satisfied: tornado>=4 in /nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages (from terminado==0.6)
Requirement already satisfied: ptyprocess in /nix/store/22cxh92j17mcwgw84igcr7apdj8f3y1c-python3.6-ptyprocess-0.5/lib/python3.6/site-packages (from terminado==0.6)
Installing collected packages: terminado
Successfully installed terminado-0.6
/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6
post-installation fixup
stripping (with flags -S) in /nix/store/2j728lv9dlgkmyw24i1x9g3qmfgqi9qm-python3.6-terminado-0.6/lib
patching script interpreter paths in /nix/store/2j728lv9dlgkmyw24i1x9g3qmfgqi9qm-python3.6-terminado-0.6
running install tests
running test
running egg_info
writing terminado.egg-info/PKG-INFO
writing dependency_links to terminado.egg-info/dependency_links.txt
writing requirements to terminado.egg-info/requires.txt
writing top-level names to terminado.egg-info/top_level.txt
reading manifest file 'terminado.egg-info/SOURCES.txt'
writing manifest file 'terminado.egg-info/SOURCES.txt'
running build_ext
test_basic (terminado.tests.basic_test.CommonTests) ... ok
test_basic_command (terminado.tests.basic_test.CommonTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ok
test_max_terminals (terminado.tests.basic_test.NamedTermTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ERROR:tornado.application:Uncaught exception in /named/3
Traceback (most recent call last):
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/websocket.py", line 494, in _run_callback
result = callback(*args, **kwargs)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/websocket.py", line 74, in open
self.terminal = self.term_manager.get_terminal(url_component)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/management.py", line 283, in get_terminal
raise MaxTerminalsReached(self.max_terminals)
terminado.management.MaxTerminalsReached: Cannot create more than 3 terminals
ok
test_namespace (terminado.tests.basic_test.NamedTermTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ok
test_new (terminado.tests.basic_test.NamedTermTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ok
test_single_process (terminado.tests.basic_test.SingleTermTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ok
test_max_terminals (terminado.tests.basic_test.UniqueTermTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ERROR:tornado.application:Uncaught exception in /unique
Traceback (most recent call last):
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/websocket.py", line 494, in _run_callback
result = callback(*args, **kwargs)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/websocket.py", line 74, in open
self.terminal = self.term_manager.get_terminal(url_component)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/management.py", line 255, in get_terminal
raise MaxTerminalsReached(self.max_terminals)
terminado.management.MaxTerminalsReached: Cannot create more than 3 terminals
/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/tests/basic_test.py:228: DeprecationWarning: Please use assertEqual instead.
self.assertEquals(msg, None)
ERROR:tornado.application:Uncaught exception in /unique
Traceback (most recent call last):
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/websocket.py", line 494, in _run_callback
result = callback(*args, **kwargs)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/websocket.py", line 74, in open
self.terminal = self.term_manager.get_terminal(url_component)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/management.py", line 255, in get_terminal
raise MaxTerminalsReached(self.max_terminals)
terminado.management.MaxTerminalsReached: Cannot create more than 3 terminals
ERROR
test_unique_processes (terminado.tests.basic_test.UniqueTermTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ok
test_basic (terminado.tests.basic_test.CommonTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ok
test_basic_command (terminado.tests.basic_test.CommonTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ok
test_max_terminals (terminado.tests.basic_test.NamedTermTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ERROR:tornado.application:Uncaught exception in /named/3
Traceback (most recent call last):
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/websocket.py", line 494, in _run_callback
result = callback(*args, **kwargs)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/websocket.py", line 74, in open
self.terminal = self.term_manager.get_terminal(url_component)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/management.py", line 283, in get_terminal
raise MaxTerminalsReached(self.max_terminals)
terminado.management.MaxTerminalsReached: Cannot create more than 3 terminals
ok
test_namespace (terminado.tests.basic_test.NamedTermTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ok
test_new (terminado.tests.basic_test.NamedTermTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ok
test_single_process (terminado.tests.basic_test.SingleTermTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ok
test_max_terminals (terminado.tests.basic_test.UniqueTermTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ERROR:tornado.application:Uncaught exception in /unique
Traceback (most recent call last):
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/websocket.py", line 494, in _run_callback
result = callback(*args, **kwargs)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/websocket.py", line 74, in open
self.terminal = self.term_manager.get_terminal(url_component)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/management.py", line 255, in get_terminal
raise MaxTerminalsReached(self.max_terminals)
terminado.management.MaxTerminalsReached: Cannot create more than 3 terminals
ERROR:tornado.application:Uncaught exception in /unique
Traceback (most recent call last):
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/websocket.py", line 494, in _run_callback
result = callback(*args, **kwargs)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/websocket.py", line 74, in open
self.terminal = self.term_manager.get_terminal(url_component)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/management.py", line 255, in get_terminal
raise MaxTerminalsReached(self.max_terminals)
terminado.management.MaxTerminalsReached: Cannot create more than 3 terminals
ERROR
test_unique_processes (terminado.tests.basic_test.UniqueTermTests) ... WARNING:tornado.general:tornado.autoreload started more than once in the same process
ok
======================================================================
ERROR: test_max_terminals (terminado.tests.basic_test.UniqueTermTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/testing.py", line 136, in __call__
result = self.orig_method(*args, **kwargs)
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/testing.py", line 529, in post_coroutine
timeout=timeout)
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/ioloop.py", line 458, in run_sync
return future_cell[0].result()
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/concurrent.py", line 238, in result
raise_exc_info(self._exc_info)
File "<string>", line 4, in raise_exc_info
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/gen.py", line 1069, in run
yielded = self.gen.send(value)
File "/nix/store/dk1winn5wi9b3h2addljfjfn2crgbjvs-python3-3.6.3/lib/python3.6/types.py", line 182, in send
return self.__wrapped.send(val)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/tests/basic_test.py", line 233, in test_max_terminals
self.assertEquals(msg[0], 'setup')
TypeError: 'NoneType' object is not subscriptable
======================================================================
ERROR: test_max_terminals (terminado.tests.basic_test.UniqueTermTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/testing.py", line 136, in __call__
result = self.orig_method(*args, **kwargs)
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/testing.py", line 529, in post_coroutine
timeout=timeout)
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/ioloop.py", line 458, in run_sync
return future_cell[0].result()
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/concurrent.py", line 238, in result
raise_exc_info(self._exc_info)
File "<string>", line 4, in raise_exc_info
File "/nix/store/12j0rj6rghzr9ma0hcy2z1g3iqlypqml-python3.6-tornado-4.5.2/lib/python3.6/site-packages/tornado/gen.py", line 1069, in run
yielded = self.gen.send(value)
File "/nix/store/dk1winn5wi9b3h2addljfjfn2crgbjvs-python3-3.6.3/lib/python3.6/types.py", line 182, in send
return self.__wrapped.send(val)
File "/private/tmp/nix-build-python3.6-terminado-0.6.drv-0/terminado-0.6/terminado/tests/basic_test.py", line 233, in test_max_terminals
self.assertEquals(msg[0], 'setup')
TypeError: 'NoneType' object is not subscriptable
----------------------------------------------------------------------
Ran 16 tests in 71.756s
FAILED (errors=2)
Test failed: <unittest.runner.TextTestResult run=16 errors=2 failures=0>
error: Test failed: <unittest.runner.TextTestResult run=16 errors=2 failures=0>
builder for ‘/nix/store/zg6jn7xlb7zcvv9p05nybpffm1kb6z55-python3.6-terminado-0.6.drv’ failed with exit code 1
error: build of ‘/nix/store/zg6jn7xlb7zcvv9p05nybpffm1kb6z55-python3.6-terminado-0.6.drv’ failed
I'm seeing these tests fail also on x86_64-darwin when building with nix.