Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FAILED terminado/tests/basic_test.py::UniqueTermTests::test_max_terminals - tornado.simple_httpclient.HTTPStreamClosedError: Stream closed w/ py3.8 #74

Open
mgorny opened this issue Jun 9, 2020 · 0 comments

Comments

@mgorny
Copy link

mgorny commented Jun 9, 2020

On Python 3.8, the same test fails with a different failure/error:

$ python3.8 -m pytest
=============================================================== test session starts ===============================================================
platform linux -- Python 3.8.3, pytest-5.4.3, py-1.8.0, pluggy-0.13.1
rootdir: /tmp/terminado
plugins: requests-mock-1.7.0, betamax-0.8.1, timeout-1.3.4, httpbin-1.0.0, xprocess-0.13.1, forked-1.1.3, xdist-1.32.0, shutil-1.7.0, virtualenv-1.7.0, expect-1.1.0, localserver-0.5.0, services-2.0.1, backports.unittest-mock-1.5, mock-3.1.1, pyfakefs-3.7.2, flaky-3.6.1, hypothesis-5.16.0
collected 8 items                                                                                                                                 

terminado/tests/basic_test.py ......FE.                                                                                                     [100%]

===================================================================== ERRORS ======================================================================
_____________________________________________ ERROR at teardown of UniqueTermTests.test_max_terminals _____________________________________________
/usr/lib/python3.8/site-packages/tornado/testing.py:466: in tearDown
    self.io_loop.run_sync(
/usr/lib/python3.8/site-packages/tornado/ioloop.py:532: in run_sync
    return future_cell[0].result()
/usr/lib/python3.8/site-packages/tornado/httpserver.py:221: in close_all_connections
    await conn.close()
/usr/lib/python3.8/site-packages/tornado/http1connection.py:789: in close
    self.stream.close()
/usr/lib/python3.8/site-packages/tornado/iostream.py:624: in close
    self.close_fd()
/usr/lib/python3.8/site-packages/tornado/iostream.py:1149: in close_fd
    self.socket.close()
/usr/lib/python3.8/socket.py:500: in close
    self._real_close()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>, _ss = <class '_socket.socket'>

    def _real_close(self, _ss=_socket.socket):
        # This function should not reference any globals. See issue #808164.
>       _ss.close(self)
E       OSError: [Errno 9] Bad file descriptor

/usr/lib/python3.8/socket.py:494: OSError
---------------------------------------------------------------- Captured log call ----------------------------------------------------------------
WARNING  tornado.general:autoreload.py:129 tornado.autoreload started more than once in the same process
==================================================================== FAILURES =====================================================================
_______________________________________________________ UniqueTermTests.test_max_terminals ________________________________________________________

self = <terminado.tests.basic_test.UniqueTermTests testMethod=test_max_terminals>

    @tornado.testing.gen_test
    def test_max_terminals(self):
>       tms = yield self.get_term_clients(['/unique'] * MAX_TERMS)

terminado/tests/basic_test.py:227: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/tornado/gen.py:735: in run
    value = future.result()
/usr/lib/python3.8/site-packages/tornado/gen.py:742: in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
terminado/tests/basic_test.py:114: in get_term_clients
    tms = yield [self.get_term_client(path) for path in paths]
/usr/lib/python3.8/site-packages/tornado/gen.py:735: in run
    value = future.result()
/usr/lib/python3.8/site-packages/tornado/gen.py:501: in callback
    result_list.append(f.result())
/usr/lib/python3.8/site-packages/tornado/gen.py:742: in run
    yielded = self.gen.throw(*exc_info)  # type: ignore
terminado/tests/basic_test.py:109: in get_term_client
    ws = yield tornado.websocket.websocket_connect(request)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <tornado.gen.Runner object at 0x7f4dc8fcb160>

    def run(self) -> None:
        """Starts or resumes the generator, running until it reaches a
        yield point that is not ready.
        """
        if self.running or self.finished:
            return
        try:
            self.running = True
            while True:
                future = self.future
                if future is None:
                    raise Exception("No pending future")
                if not future.done():
                    return
                self.future = None
                try:
                    exc_info = None
    
                    try:
>                       value = future.result()
E                       tornado.simple_httpclient.HTTPStreamClosedError: Stream closed

/usr/lib/python3.8/site-packages/tornado/gen.py:735: HTTPStreamClosedError
---------------------------------------------------------------- Captured log call ----------------------------------------------------------------
WARNING  tornado.general:autoreload.py:129 tornado.autoreload started more than once in the same process
================================================================ warnings summary =================================================================
terminado/tests/basic_test.py:32
  /tmp/terminado/terminado/tests/basic_test.py:32: PytestCollectionWarning: cannot collect test class 'TestTermClient' because it has a __init__ constructor (from: terminado/tests/basic_test.py)
    class TestTermClient(object):

-- Docs: https://docs.pytest.org/en/latest/warnings.html
============================================================= short test summary info =============================================================
FAILED terminado/tests/basic_test.py::UniqueTermTests::test_max_terminals - tornado.simple_httpclient.HTTPStreamClosedError: Stream closed
ERROR terminado/tests/basic_test.py::UniqueTermTests::test_max_terminals - OSError: [Errno 9] Bad file descriptor
================================================ 1 failed, 7 passed, 1 warning, 1 error in 35.89s =================================================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant