terminado icon indicating copy to clipboard operation
terminado copied to clipboard

Test failure on OpenBSD

Open vext01 opened this issue 10 years ago • 6 comments

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)

vext01 avatar Nov 14 '15 20:11 vext01

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.

takluyver avatar Nov 14 '15 23:11 takluyver

This is happening seemingly randomly in our tests on openSUSE as well.

toddrme2178 avatar Feb 13 '18 22:02 toddrme2178

The same is happening consistently on x86_64-darwin.

drever avatar Mar 02 '18 13:03 drever

Could you post a current log/traceback that you're seeing for failures?

payne92 avatar Mar 05 '18 15:03 payne92

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

drever avatar Mar 05 '18 17:03 drever

I'm seeing these tests fail also on x86_64-darwin when building with nix.

livnev avatar Jan 18 '19 20:01 livnev