Skip to content

flaky test_follow_redirect on windows #1604

@yarikoptic

Description

@yarikoptic

while on

____________________________ test_follow_redirect _____________________________
937
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connectionpool.py:787: in urlopen
938
    response = self._make_request(
939
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connectionpool.py:488: in _make_request
940
    raise new_e
941
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connectionpool.py:464: in _make_request
942
    self._validate_conn(conn)
943
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connectionpool.py:1093: in _validate_conn
944
    conn.connect()
945
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connection.py:741: in connect
946
    sock_and_verified = _ssl_wrap_socket_and_match_hostname(
947
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connection.py:920: in _ssl_wrap_socket_and_match_hostname
948
    ssl_sock = ssl_wrap_socket(
949
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\util\ssl_.py:460: in ssl_wrap_socket
950
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)
951
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\util\ssl_.py:504: in _ssl_wrap_socket_impl
952
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
953
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\ssl.py:513: in wrap_socket
954
    return self.sslsocket_class._create(
955
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\ssl.py:1071: in _create
956
    self.do_handshake()
957
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\ssl.py:1342: in do_handshake
958
    self._sslobj.do_handshake()
959
E   ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
960

961
During handling of the above exception, another exception occurred:
962
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\requests\adapters.py:667: in send
963
    resp = conn.urlopen(
964
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connectionpool.py:841: in urlopen
965
    retries = retries.increment(
966
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\util\retry.py:474: in increment
967
    raise reraise(type(error), error, _stacktrace)
968
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\util\util.py:38: in reraise
969
    raise value.with_traceback(tb)
970
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connectionpool.py:787: in urlopen
971
    response = self._make_request(
972
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connectionpool.py:488: in _make_request
973
    raise new_e
974
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connectionpool.py:464: in _make_request
975
    self._validate_conn(conn)
976
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connectionpool.py:1093: in _validate_conn
977
    conn.connect()
978
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connection.py:741: in connect
979
    sock_and_verified = _ssl_wrap_socket_and_match_hostname(
980
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\connection.py:920: in _ssl_wrap_socket_and_match_hostname
981
    ssl_sock = ssl_wrap_socket(
982
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\util\ssl_.py:460: in ssl_wrap_socket
983
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)
984
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\urllib3\util\ssl_.py:504: in _ssl_wrap_socket_impl
985
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
986
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\ssl.py:513: in wrap_socket
987
    return self.sslsocket_class._create(
988
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\ssl.py:1071: in _create
989
    self.do_handshake()
990
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\ssl.py:1342: in do_handshake
991
    self._sslobj.do_handshake()
992
E   urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))
993

994
During handling of the above exception, another exception occurred:
995
dandi\tests\test_dandiarchive.py:461: in test_follow_redirect
996
    url = follow_redirect("https://bit.ly/dandi12")
997
dandi\dandiarchive.py:894: in follow_redirect
998
    r = requests.head(url, allow_redirects=True)
999
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\requests\api.py:100: in head
1000
    return request("head", url, **kwargs)
1001
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\requests\api.py:59: in request
1002
    return session.request(method=method, url=url, **kwargs)
1003
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\requests\sessions.py:589: in request
1004
    resp = self.send(prep, **send_kwargs)
1005
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\requests\sessions.py:724: in send
1006
    history = [resp for resp in gen]
1007
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\requests\sessions.py:724: in <listcomp>
1008
    history = [resp for resp in gen]
1009
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\requests\sessions.py:265: in resolve_redirects
1010
    resp = self.send(
1011
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\requests\sessions.py:703: in send
1012
    r = adapter.send(request, **kwargs)
1013
C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\site-packages\requests\adapters.py:682: in send
1014
    raise ConnectionError(err, request=request)
1015
E   requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

which seems has happened twice and only on windows now this month

dandi@drogon:/mnt/backup/dandi/tinuous-logs/dandi-cli/2025/04$ git grep 'FAILED dandi/tests/test_dandiarchive.py::test_follow_redirect'
01/github/pr/1599/0ca8b1f/Tests/6271/6_test (windows-2019, 3.10, normal).txt:2025-04-01T19:49:07.5583593Z FAILED dandi/tests/test_dandiarchive.py::test_follow_redirect - requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))
01/github/pr/UNK/7e4d870/Tests/6270/16_test (windows-2019, 3.12, normal).txt:2025-04-01T19:40:14.2207536Z FAILED dandi/tests/test_dandiarchive.py::test_follow_redirect - requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

and happened few times prior

05/github/cron/20250305T060430/51d8348/Tests/6174/13_test (windows-2019, 3.9, normal).txt:2025-03-05T06:15:02.1727469Z FAILED dandi/tests/test_dandiarchive.py::test_follow_redirect - requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))
13/github/cron/20250313T060426/5555a76/Tests/6196/2_test (windows-2019, 3.12, normal).txt:2025-03-13T06:10:13.5556876Z FAILED dandi/tests/test_dandiarchive.py::test_follow_redirect - requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))
17/github/pr/1514/0c6c076/Tests/6206/3_test (windows-2019, 3.10, normal).txt:2025-03-17T22:17:28.4957896Z FAILED dandi/tests/test_dandiarchive.py::test_follow_redirect - requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='dandiarchive.org', port=443): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x0000022F073FAAD0>, 'Connection to dandiarchive.org timed out. (connect timeout=None)'))
20/github/pr/1514/64bbc5c/Tests/6219/3_test (windows-2019, 3.11, normal).txt:2025-03-20T21:19:24.5352147Z FAILED dandi/tests/test_dandiarchive.py::test_follow_redirect - requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))
24/github/pr/1514/46eb9d3/Tests/6229/12_test (windows-2019, 3.9, normal).txt:2025-03-24T03:04:18.3189061Z FAILED dandi/tests/test_dandiarchive.py::test_follow_redirect - requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))
24/github/pr/1514/46eb9d3/Tests/6229/9_test (windows-2019, 3.10, normal).txt:2025-03-24T03:05:55.6916477Z FAILED dandi/tests/test_dandiarchive.py::test_follow_redirect - requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))
~

always windows ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    os-windowsIssues which are specific to MS Windows OStestsAdd or improve existing tests

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions