Skip to content

Connection failures when downloading wheels #1022

@zanieb

Description

@zanieb

I frequently encounter the following errors when making concurrent requests:

  • Connection closed before message completed
  • Connection reset by peer

For example, from my package manager:

Error: Failed to download: black==23.9.1

Caused by:
    0: Request error: error sending request for url (http://localhost:3141/root/pypi/+f/8fc/1ddcf83f99624/black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl): connection closed before message completed
    1: error sending request for url (http://localhost:3141/root/pypi/+f/8fc/1ddcf83f99624/black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl): connection closed before message completed
    2: connection closed before message completed

and

error: Failed to download: flask==3.0.0
  Caused by: Request error: error sendng request for url (http://localhost:3141/root/pypi/+f/211/28f47e4e3b9d5/flask-3.0.0-py3-none-any.whl): connection error: Connection reset by peer (os error 54)
  Caused by: error sending request for url (http://localhost:3141/root/pypi/+f/211/28f47e4e3b9d5/flask-3.0.0-py3-none-any.whl): connection error: Connection reset by peer (os error 54)
  Caused by: connection error: Connection reset by peer (os error 54)
  Caused by: Connection reset by peer (os error 54)

I don't see any additional information in the server-side logs.

Server debug logs

On failure

2023-12-20 10:22:13,599 INFO  NOCTX Loading node info from ~/server/.nodeinfo
2023-12-20 10:22:13,600 INFO  NOCTX wrote nodeinfo to: ~/server/.nodeinfo
2023-12-20 10:22:13,602 DEBUG [Rtx165] closing transaction at 165
2023-12-20 10:22:13,610 INFO  NOCTX running with role 'standalone'
2023-12-20 10:22:13,610 DEBUG NOCTX creating application in process 55140
2023-12-20 10:22:13,614 WARNI NOCTX No secret file provided, creating a new random secret. Login tokens issued before are invalid. Use --secretfile option to provide a persistent secret. You can create a proper secret with the devpi-gen-secret command.
2023-12-20 10:22:14,575 INFO  NOCTX Found plugin devpi-web-4.2.2.dev0.
2023-12-20 10:22:14,659 INFO  NOCTX Using ~/server/.indices for Whoosh index files.
2023-12-20 10:22:14,676 DEBUG NOCTX ThreadManager starting
2023-12-20 10:22:14,676 INFO  [ASYN] Starting asyncio event loop
2023-12-20 10:22:14,676 DEBUG Using selector: KqueueSelector
2023-12-20 10:22:14,681 INFO  NOCTX devpi-server version: 6.10.0
2023-12-20 10:22:14,682 INFO  NOCTX serverdir: ~/server
2023-12-20 10:22:14,682 INFO  NOCTX uuid: 0d4dcdde39f54f9885fcfd75e3a891dd
2023-12-20 10:22:14,682 INFO  NOCTX serving at url: http://localhost:3141 (might be http://[localhost]:3141 for IPv6)
2023-12-20 10:22:14,682 INFO  NOCTX using 50 threads
2023-12-20 10:22:14,682 INFO  NOCTX bug tracker: https://github.com/devpi/devpi/issues
2023-12-20 10:22:14,682 INFO  NOCTX Hit Ctrl-C to quit.
2023-12-20 10:22:14,684 INFO  Serving on http://[::1]:3141
2023-12-20 10:22:14,684 INFO  Serving on http://127.0.0.1:3141
2023-12-20 10:22:16,281 INFO  [req0] GET /root/pypi/+simple/flask/
2023-12-20 10:22:16,281 DEBUG [req0] [Rtx165] in-transaction 165
2023-12-20 10:22:16,285 DEBUG [req0] [Rtx165] Acquiring lock () for 'flask'
2023-12-20 10:22:16,285 DEBUG [ASYN] reading index URL('https://pypi.org/simple/flask/')
2023-12-20 10:22:16,298 DEBUG load_ssl_context verify= cert=None trust_env=True http2=False
2023-12-20 10:22:16,300 DEBUG connect_tcp.started host='pypi.org' port=443 local_address=None timeout=None socket_options=None
2023-12-20 10:22:16,459 DEBUG connect_tcp.complete return_value=
2023-12-20 10:22:16,459 DEBUG start_tls.started ssl_context= server_hostname='pypi.org' timeout=None
2023-12-20 10:22:16,566 DEBUG start_tls.complete return_value=
2023-12-20 10:22:16,567 DEBUG send_request_headers.started request=
2023-12-20 10:22:16,567 DEBUG send_request_headers.complete
2023-12-20 10:22:16,567 DEBUG send_request_body.started request=
2023-12-20 10:22:16,567 DEBUG send_request_body.complete
2023-12-20 10:22:16,568 DEBUG receive_response_headers.started request=
2023-12-20 10:22:16,704 DEBUG receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Connection', b'keep-alive'), (b'Content-Length', b'10933'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Allow-Headers', b'Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since'), (b'Access-Control-Allow-Methods', b'GET'), (b'Access-Control-Max-Age', b'86400'), (b'Access-Control-Expose-Headers', b'X-PyPI-Last-Serial'), (b'X-PyPI-Last-Serial', b'19962290'), (b'Cache-Control', b'max-age=600, public'), (b'Content-Security-Policy', b"default-src 'none'; sandbox allow-top-navigation"), (b'Referrer-Policy', b'origin-when-cross-origin'), (b'Content-Encoding', b'gzip'), (b'ETag', b'"52fjn62jof7RN2DdmtLaeA"'), (b'Accept-Ranges', b'bytes'), (b'Date', b'Wed, 20 Dec 2023 16:22:16 GMT'), (b'X-Served-By', b'cache-iad-kcgs7200128-IAD, cache-bur-kbur8200039-BUR'), (b'X-Cache', b'HIT, HIT'), (b'X-Cache-Hits', b'5, 2'), (b'X-Timer', b'S1703089337.656849,VS0,VE0'), (b'Content-Type', b'application/vnd.pypi.simple.v1+json'), (b'Vary', b'Accept-Encoding, Accept'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Frame-Options', b'deny'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Permitted-Cross-Domain-Policies', b'none'), (b'Permissions-Policy', b'publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()')])
2023-12-20 10:22:16,706 INFO  HTTP Request: GET https://pypi.org/simple/flask/ "HTTP/1.1 200 OK"
2023-12-20 10:22:16,707 DEBUG receive_response_body.started request=
2023-12-20 10:22:16,763 DEBUG receive_response_body.complete
2023-12-20 10:22:16,764 DEBUG response_closed.started
2023-12-20 10:22:16,764 DEBUG response_closed.complete
2023-12-20 10:22:16,766 DEBUG close.started
2023-12-20 10:22:16,766 DEBUG close.complete
2023-12-20 10:22:16,766 DEBUG [ASYN] flask: got response with serial 19962290
2023-12-20 10:22:16,790 DEBUG [req0] [Rtx165] closing transaction at 165
2023-12-20 10:22:16,791 DEBUG [req0] 200 OK 0.510s serial=165 length=None type=application/vnd.pypi.simple.v1+json
2023-12-20 10:22:17,418 INFO  [req1] HEAD /root/pypi/+f/211/28f47e4e3b9d5/flask-3.0.0-py3-none-any.whl
2023-12-20 10:22:17,418 INFO  [req2] GET /root/pypi/+simple/markupsafe/
2023-12-20 10:22:17,418 DEBUG [req2] [Rtx165] in-transaction 165
2023-12-20 10:22:17,419 DEBUG [req1] [Rtx165] in-transaction 165
2023-12-20 10:22:17,420 DEBUG [req1] [Rtx165] closing transaction at 165
2023-12-20 10:22:17,421 DEBUG [req1] 200 OK 0.003s serial=165 length=99724 type=None
2023-12-20 10:22:17,434 DEBUG [req2] [Rtx165] Acquiring lock () for 'markupsafe'
2023-12-20 10:22:17,440 DEBUG [ASYN] reading index URL('https://pypi.org/simple/markupsafe/')
2023-12-20 10:22:17,441 DEBUG load_ssl_context verify= cert=None trust_env=True http2=False
2023-12-20 10:22:17,442 DEBUG connect_tcp.started host='pypi.org' port=443 local_address=None timeout=None socket_options=None
2023-12-20 10:22:17,609 DEBUG connect_tcp.complete return_value=
2023-12-20 10:22:17,609 DEBUG start_tls.started ssl_context= server_hostname='pypi.org' timeout=None
2023-12-20 10:22:17,677 DEBUG start_tls.complete return_value=
2023-12-20 10:22:17,678 DEBUG send_request_headers.started request=
2023-12-20 10:22:17,678 DEBUG send_request_headers.complete
2023-12-20 10:22:17,678 DEBUG send_request_body.started request=
2023-12-20 10:22:17,678 DEBUG send_request_body.complete
2023-12-20 10:22:17,678 DEBUG receive_response_headers.started request=
2023-12-20 10:22:17,760 DEBUG receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Connection', b'keep-alive'), (b'Content-Length', b'50554'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Allow-Headers', b'Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since'), (b'Access-Control-Allow-Methods', b'GET'), (b'Access-Control-Max-Age', b'86400'), (b'Access-Control-Expose-Headers', b'X-PyPI-Last-Serial'), (b'X-PyPI-Last-Serial', b'19654144'), (b'Cache-Control', b'max-age=600, public'), (b'Content-Security-Policy', b"default-src 'none'; sandbox allow-top-navigation"), (b'Referrer-Policy', b'origin-when-cross-origin'), (b'Content-Encoding', b'gzip'), (b'ETag', b'"eAas5gZ8rjke2ZHEDbSvYQ"'), (b'Accept-Ranges', b'bytes'), (b'Date', b'Wed, 20 Dec 2023 16:22:17 GMT'), (b'X-Served-By', b'cache-iad-kiad7000031-IAD, cache-bur-kbur8200064-BUR'), (b'X-Cache', b'HIT, HIT'), (b'X-Cache-Hits', b'154110, 27'), (b'X-Timer', b'S1703089338.731635,VS0,VE0'), (b'Content-Type', b'application/vnd.pypi.simple.v1+json'), (b'Vary', b'Accept-Encoding, Accept'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Frame-Options', b'deny'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Permitted-Cross-Domain-Policies', b'none'), (b'Permissions-Policy', b'publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()')])
2023-12-20 10:22:17,761 INFO  HTTP Request: GET https://pypi.org/simple/markupsafe/ "HTTP/1.1 200 OK"
2023-12-20 10:22:17,761 DEBUG receive_response_body.started request=
2023-12-20 10:22:17,852 DEBUG receive_response_body.complete
2023-12-20 10:22:17,852 DEBUG response_closed.started
2023-12-20 10:22:17,852 DEBUG response_closed.complete
2023-12-20 10:22:17,853 DEBUG close.started
2023-12-20 10:22:17,853 DEBUG close.complete
2023-12-20 10:22:17,853 DEBUG [ASYN] markupsafe: got response with serial 19654144
2023-12-20 10:22:17,894 DEBUG [req2] [Rtx165] closing transaction at 165
2023-12-20 10:22:17,895 DEBUG [req2] 200 OK 0.477s serial=165 length=None type=application/vnd.pypi.simple.v1+json

On success

2023-12-20 10:32:45,977 INFO  NOCTX Loading node info from ~/server/.nodeinfo
2023-12-20 10:32:45,978 INFO  NOCTX wrote nodeinfo to: ~/server/.nodeinfo
2023-12-20 10:32:45,980 DEBUG [Rtx165] closing transaction at 165
2023-12-20 10:32:45,988 INFO  NOCTX running with role 'standalone'
2023-12-20 10:32:45,988 DEBUG NOCTX creating application in process 56613
2023-12-20 10:32:45,993 WARNI NOCTX No secret file provided, creating a new random secret. Login tokens issued before are invalid. Use --secretfile option to provide a persistent secret. You can create a proper secret with the devpi-gen-secret command.
2023-12-20 10:32:46,920 INFO  NOCTX Found plugin devpi-web-4.2.2.dev0.
2023-12-20 10:32:47,011 INFO  NOCTX Using ~/server/.indices for Whoosh index files.
2023-12-20 10:32:47,027 DEBUG NOCTX ThreadManager starting
2023-12-20 10:32:47,027 INFO  [ASYN] Starting asyncio event loop
2023-12-20 10:32:47,027 DEBUG Using selector: KqueueSelector
2023-12-20 10:32:47,033 INFO  NOCTX devpi-server version: 6.10.0
2023-12-20 10:32:47,033 INFO  NOCTX serverdir: ~/server
2023-12-20 10:32:47,033 INFO  NOCTX uuid: 0d4dcdde39f54f9885fcfd75e3a891dd
2023-12-20 10:32:47,033 INFO  NOCTX serving at url: http://localhost:3141 (might be http://[localhost]:3141 for IPv6)
2023-12-20 10:32:47,033 INFO  NOCTX using 50 threads
2023-12-20 10:32:47,033 INFO  NOCTX bug tracker: https://github.com/devpi/devpi/issues
2023-12-20 10:32:47,033 INFO  NOCTX Hit Ctrl-C to quit.
2023-12-20 10:32:47,035 INFO  Serving on http://[::1]:3141
2023-12-20 10:32:47,035 INFO  Serving on http://127.0.0.1:3141
2023-12-20 10:32:55,400 INFO  [req0] GET /root/pypi/+simple/flask/
2023-12-20 10:32:55,401 DEBUG [req0] [Rtx165] in-transaction 165
2023-12-20 10:32:55,405 DEBUG [req0] [Rtx165] Acquiring lock () for 'flask'
2023-12-20 10:32:55,405 DEBUG [ASYN] reading index URL('https://pypi.org/simple/flask/')
2023-12-20 10:32:55,414 DEBUG load_ssl_context verify= cert=None trust_env=True http2=False
2023-12-20 10:32:55,416 DEBUG connect_tcp.started host='pypi.org' port=443 local_address=None timeout=None socket_options=None
2023-12-20 10:32:55,598 DEBUG connect_tcp.complete return_value=
2023-12-20 10:32:55,598 DEBUG start_tls.started ssl_context= server_hostname='pypi.org' timeout=None
2023-12-20 10:32:55,771 DEBUG start_tls.complete return_value=
2023-12-20 10:32:55,772 DEBUG send_request_headers.started request=
2023-12-20 10:32:55,772 DEBUG send_request_headers.complete
2023-12-20 10:32:55,772 DEBUG send_request_body.started request=
2023-12-20 10:32:55,774 DEBUG send_request_body.complete
2023-12-20 10:32:55,774 DEBUG receive_response_headers.started request=
2023-12-20 10:32:55,860 DEBUG receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Connection', b'keep-alive'), (b'Content-Length', b'10933'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Allow-Headers', b'Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since'), (b'Access-Control-Allow-Methods', b'GET'), (b'Access-Control-Max-Age', b'86400'), (b'Access-Control-Expose-Headers', b'X-PyPI-Last-Serial'), (b'X-PyPI-Last-Serial', b'19962290'), (b'Cache-Control', b'max-age=600, public'), (b'Content-Security-Policy', b"default-src 'none'; sandbox allow-top-navigation"), (b'Referrer-Policy', b'origin-when-cross-origin'), (b'Content-Encoding', b'gzip'), (b'ETag', b'"52fjn62jof7RN2DdmtLaeA"'), (b'Accept-Ranges', b'bytes'), (b'Date', b'Wed, 20 Dec 2023 16:32:55 GMT'), (b'X-Served-By', b'cache-iad-kcgs7200128-IAD, cache-bur-kbur8200026-BUR'), (b'X-Cache', b'HIT, HIT'), (b'X-Cache-Hits', b'5, 3'), (b'X-Timer', b'S1703089976.824898,VS0,VE0'), (b'Content-Type', b'application/vnd.pypi.simple.v1+json'), (b'Vary', b'Accept-Encoding, Accept'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Frame-Options', b'deny'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Permitted-Cross-Domain-Policies', b'none'), (b'Permissions-Policy', b'publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()')])
2023-12-20 10:32:55,861 INFO  HTTP Request: GET https://pypi.org/simple/flask/ "HTTP/1.1 200 OK"
2023-12-20 10:32:55,861 DEBUG receive_response_body.started request=
2023-12-20 10:32:55,878 DEBUG receive_response_body.complete
2023-12-20 10:32:55,878 DEBUG response_closed.started
2023-12-20 10:32:55,879 DEBUG response_closed.complete
2023-12-20 10:32:55,881 DEBUG close.started
2023-12-20 10:32:55,882 DEBUG close.complete
2023-12-20 10:32:55,883 DEBUG [ASYN] flask: got response with serial 19962290
2023-12-20 10:32:55,910 DEBUG [req0] [Rtx165] closing transaction at 165
2023-12-20 10:32:55,910 DEBUG [req0] 200 OK 0.510s serial=165 length=None type=application/vnd.pypi.simple.v1+json
2023-12-20 10:32:56,375 INFO  [req1] HEAD /root/pypi/+f/211/28f47e4e3b9d5/flask-3.0.0-py3-none-any.whl
2023-12-20 10:32:56,376 INFO  [req2] GET /root/pypi/+simple/markupsafe/
2023-12-20 10:32:56,376 DEBUG [req2] [Rtx165] in-transaction 165
2023-12-20 10:32:56,376 DEBUG [req1] [Rtx165] in-transaction 165
2023-12-20 10:32:56,377 DEBUG [req1] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,378 DEBUG [req1] 200 OK 0.002s serial=165 length=99724 type=None
2023-12-20 10:32:56,386 INFO  [req3] GET /root/pypi/+f/211/28f47e4e3b9d5/flask-3.0.0-py3-none-any.whl
2023-12-20 10:32:56,390 DEBUG [req2] [Rtx165] Acquiring lock () for 'markupsafe'
2023-12-20 10:32:56,394 DEBUG [ASYN] reading index URL('https://pypi.org/simple/markupsafe/')
2023-12-20 10:32:56,394 DEBUG [req3] [Rtx165] in-transaction 165
2023-12-20 10:32:56,395 DEBUG load_ssl_context verify= cert=None trust_env=True http2=False
2023-12-20 10:32:56,396 DEBUG connect_tcp.started host='pypi.org' port=443 local_address=None timeout=None socket_options=None
2023-12-20 10:32:56,396 DEBUG [req3] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,396 DEBUG [req3] 200 OK 0.006s serial=165 length=99724 type=None
2023-12-20 10:32:56,401 INFO  [req4] GET /root/pypi/+simple/click/
2023-12-20 10:32:56,402 INFO  [req5] GET /root/pypi/+simple/werkzeug/
2023-12-20 10:32:56,402 DEBUG [req4] [Rtx165] in-transaction 165
2023-12-20 10:32:56,403 INFO  [req6] GET /root/pypi/+simple/itsdangerous/
2023-12-20 10:32:56,403 INFO  [req7] GET /root/pypi/+simple/jinja2/
2023-12-20 10:32:56,404 INFO  [req8] GET /root/pypi/+simple/blinker/
2023-12-20 10:32:56,404 DEBUG [req5] [Rtx165] in-transaction 165
2023-12-20 10:32:56,409 DEBUG [req4] [Rtx165] Acquiring lock () for 'click'
2023-12-20 10:32:56,410 DEBUG [req6] [Rtx165] in-transaction 165
2023-12-20 10:32:56,411 DEBUG [req8] [Rtx165] in-transaction 165
2023-12-20 10:32:56,411 DEBUG [req7] [Rtx165] in-transaction 165
2023-12-20 10:32:56,411 DEBUG [ASYN] reading index URL('https://pypi.org/simple/click/')
2023-12-20 10:32:56,416 DEBUG [req5] [Rtx165] Acquiring lock () for 'werkzeug'
2023-12-20 10:32:56,417 DEBUG [req6] [Rtx165] Acquiring lock () for 'itsdangerous'
2023-12-20 10:32:56,418 DEBUG [req8] [Rtx165] Acquiring lock () for 'blinker'
2023-12-20 10:32:56,419 DEBUG load_ssl_context verify= cert=None trust_env=True http2=False
2023-12-20 10:32:56,422 DEBUG [req7] [Rtx165] Acquiring lock () for 'jinja2'
2023-12-20 10:32:56,422 DEBUG connect_tcp.started host='pypi.org' port=443 local_address=None timeout=None socket_options=None
2023-12-20 10:32:56,423 DEBUG [ASYN] reading index URL('https://pypi.org/simple/werkzeug/')
2023-12-20 10:32:56,424 DEBUG load_ssl_context verify= cert=None trust_env=True http2=False
2023-12-20 10:32:56,424 DEBUG [ASYN] reading index URL('https://pypi.org/simple/itsdangerous/')
2023-12-20 10:32:56,425 DEBUG load_ssl_context verify= cert=None trust_env=True http2=False
2023-12-20 10:32:56,425 DEBUG [ASYN] reading index URL('https://pypi.org/simple/blinker/')
2023-12-20 10:32:56,425 DEBUG load_ssl_context verify= cert=None trust_env=True http2=False
2023-12-20 10:32:56,426 DEBUG connect_tcp.started host='pypi.org' port=443 local_address=None timeout=None socket_options=None
2023-12-20 10:32:56,426 DEBUG connect_tcp.started host='pypi.org' port=443 local_address=None timeout=None socket_options=None
2023-12-20 10:32:56,426 DEBUG connect_tcp.started host='pypi.org' port=443 local_address=None timeout=None socket_options=None
2023-12-20 10:32:56,427 DEBUG [ASYN] reading index URL('https://pypi.org/simple/jinja2/')
2023-12-20 10:32:56,427 DEBUG load_ssl_context verify= cert=None trust_env=True http2=False
2023-12-20 10:32:56,427 DEBUG connect_tcp.started host='pypi.org' port=443 local_address=None timeout=None socket_options=None
2023-12-20 10:32:56,496 DEBUG connect_tcp.complete return_value=
2023-12-20 10:32:56,497 DEBUG start_tls.started ssl_context= server_hostname='pypi.org' timeout=None
2023-12-20 10:32:56,534 DEBUG connect_tcp.complete return_value=
2023-12-20 10:32:56,534 DEBUG start_tls.started ssl_context= server_hostname='pypi.org' timeout=None
2023-12-20 10:32:56,535 DEBUG connect_tcp.complete return_value=
2023-12-20 10:32:56,535 DEBUG start_tls.started ssl_context= server_hostname='pypi.org' timeout=None
2023-12-20 10:32:56,536 DEBUG connect_tcp.complete return_value=
2023-12-20 10:32:56,536 DEBUG start_tls.started ssl_context= server_hostname='pypi.org' timeout=None
2023-12-20 10:32:56,536 DEBUG connect_tcp.complete return_value=
2023-12-20 10:32:56,536 DEBUG start_tls.started ssl_context= server_hostname='pypi.org' timeout=None
2023-12-20 10:32:56,536 DEBUG connect_tcp.complete return_value=
2023-12-20 10:32:56,536 DEBUG start_tls.started ssl_context= server_hostname='pypi.org' timeout=None
2023-12-20 10:32:56,696 DEBUG start_tls.complete return_value=
2023-12-20 10:32:56,698 DEBUG send_request_headers.started request=
2023-12-20 10:32:56,698 DEBUG send_request_headers.complete
2023-12-20 10:32:56,698 DEBUG send_request_body.started request=
2023-12-20 10:32:56,698 DEBUG send_request_body.complete
2023-12-20 10:32:56,698 DEBUG receive_response_headers.started request=
2023-12-20 10:32:56,703 DEBUG start_tls.complete return_value=
2023-12-20 10:32:56,703 DEBUG start_tls.complete return_value=
2023-12-20 10:32:56,704 DEBUG start_tls.complete return_value=
2023-12-20 10:32:56,704 DEBUG start_tls.complete return_value=
2023-12-20 10:32:56,704 DEBUG start_tls.complete return_value=
2023-12-20 10:32:56,705 DEBUG send_request_headers.started request=
2023-12-20 10:32:56,706 DEBUG send_request_headers.started request=
2023-12-20 10:32:56,706 DEBUG send_request_headers.started request=
2023-12-20 10:32:56,706 DEBUG send_request_headers.started request=
2023-12-20 10:32:56,707 DEBUG send_request_headers.started request=
2023-12-20 10:32:56,707 DEBUG send_request_headers.complete
2023-12-20 10:32:56,707 DEBUG send_request_body.started request=
2023-12-20 10:32:56,709 DEBUG send_request_body.complete
2023-12-20 10:32:56,709 DEBUG receive_response_headers.started request=
2023-12-20 10:32:56,711 DEBUG send_request_headers.complete
2023-12-20 10:32:56,712 DEBUG send_request_body.started request=
2023-12-20 10:32:56,712 DEBUG send_request_body.complete
2023-12-20 10:32:56,712 DEBUG receive_response_headers.started request=
2023-12-20 10:32:56,713 DEBUG send_request_headers.complete
2023-12-20 10:32:56,713 DEBUG send_request_body.started request=
2023-12-20 10:32:56,713 DEBUG send_request_body.complete
2023-12-20 10:32:56,713 DEBUG receive_response_headers.started request=
2023-12-20 10:32:56,713 DEBUG send_request_headers.complete
2023-12-20 10:32:56,713 DEBUG send_request_body.started request=
2023-12-20 10:32:56,713 DEBUG send_request_body.complete
2023-12-20 10:32:56,713 DEBUG receive_response_headers.started request=
2023-12-20 10:32:56,720 DEBUG send_request_headers.complete
2023-12-20 10:32:56,721 DEBUG send_request_body.started request=
2023-12-20 10:32:56,721 DEBUG send_request_body.complete
2023-12-20 10:32:56,721 DEBUG receive_response_headers.started request=
2023-12-20 10:32:56,809 DEBUG receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Connection', b'keep-alive'), (b'Content-Length', b'50554'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Allow-Headers', b'Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since'), (b'Access-Control-Allow-Methods', b'GET'), (b'Access-Control-Max-Age', b'86400'), (b'Access-Control-Expose-Headers', b'X-PyPI-Last-Serial'), (b'X-PyPI-Last-Serial', b'19654144'), (b'Cache-Control', b'max-age=600, public'), (b'Content-Security-Policy', b"default-src 'none'; sandbox allow-top-navigation"), (b'Referrer-Policy', b'origin-when-cross-origin'), (b'Content-Encoding', b'gzip'), (b'ETag', b'"eAas5gZ8rjke2ZHEDbSvYQ"'), (b'Accept-Ranges', b'bytes'), (b'Date', b'Wed, 20 Dec 2023 16:32:56 GMT'), (b'X-Served-By', b'cache-iad-kiad7000031-IAD, cache-bur-kbur8200056-BUR'), (b'X-Cache', b'HIT, HIT'), (b'X-Cache-Hits', b'154110, 1'), (b'X-Timer', b'S1703089977.749118,VS0,VE1'), (b'Content-Type', b'application/vnd.pypi.simple.v1+json'), (b'Vary', b'Accept-Encoding, Accept'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Frame-Options', b'deny'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Permitted-Cross-Domain-Policies', b'none'), (b'Permissions-Policy', b'publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()')])
2023-12-20 10:32:56,811 INFO  HTTP Request: GET https://pypi.org/simple/markupsafe/ "HTTP/1.1 200 OK"
2023-12-20 10:32:56,811 DEBUG receive_response_body.started request=
2023-12-20 10:32:56,813 DEBUG receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Connection', b'keep-alive'), (b'Content-Length', b'2526'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Allow-Headers', b'Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since'), (b'Access-Control-Allow-Methods', b'GET'), (b'Access-Control-Max-Age', b'86400'), (b'Access-Control-Expose-Headers', b'X-PyPI-Last-Serial'), (b'X-PyPI-Last-Serial', b'20441166'), (b'Cache-Control', b'max-age=600, public'), (b'Content-Security-Policy', b"default-src 'none'; sandbox allow-top-navigation"), (b'Referrer-Policy', b'origin-when-cross-origin'), (b'Content-Encoding', b'gzip'), (b'ETag', b'"UDff3v2u4JYgL31WTQfXmg"'), (b'Accept-Ranges', b'bytes'), (b'Date', b'Wed, 20 Dec 2023 16:32:56 GMT'), (b'X-Served-By', b'cache-iad-kjyo7100081-IAD, cache-bur-kbur8200140-BUR'), (b'X-Cache', b'HIT, HIT'), (b'X-Cache-Hits', b'73, 10'), (b'X-Timer', b'S1703089977.758175,VS0,VE0'), (b'Content-Type', b'application/vnd.pypi.simple.v1+json'), (b'Vary', b'Accept, Accept-Encoding'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Frame-Options', b'deny'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Permitted-Cross-Domain-Policies', b'none'), (b'Permissions-Policy', b'publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()')])
2023-12-20 10:32:56,814 INFO  HTTP Request: GET https://pypi.org/simple/blinker/ "HTTP/1.1 200 OK"
2023-12-20 10:32:56,814 DEBUG receive_response_body.started request=
2023-12-20 10:32:56,815 DEBUG receive_response_body.complete
2023-12-20 10:32:56,815 DEBUG response_closed.started
2023-12-20 10:32:56,817 DEBUG receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Connection', b'keep-alive'), (b'Content-Length', b'4184'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Allow-Headers', b'Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since'), (b'Access-Control-Allow-Methods', b'GET'), (b'Access-Control-Max-Age', b'86400'), (b'Access-Control-Expose-Headers', b'X-PyPI-Last-Serial'), (b'X-PyPI-Last-Serial', b'17647158'), (b'Cache-Control', b'max-age=600, public'), (b'Content-Security-Policy', b"default-src 'none'; sandbox allow-top-navigation"), (b'Referrer-Policy', b'origin-when-cross-origin'), (b'Content-Encoding', b'gzip'), (b'ETag', b'"hQaHRdWAJ8izqwPAModFFQ"'), (b'Accept-Ranges', b'bytes'), (b'Date', b'Wed, 20 Dec 2023 16:32:56 GMT'), (b'X-Served-By', b'cache-iad-kjyo7100158-IAD, cache-bur-kbur8200159-BUR'), (b'X-Cache', b'HIT, HIT'), (b'X-Cache-Hits', b'138903, 2'), (b'X-Timer', b'S1703089977.769221,VS0,VE0'), (b'Content-Type', b'application/vnd.pypi.simple.v1+json'), (b'Vary', b'Accept-Encoding, Accept'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Frame-Options', b'deny'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Permitted-Cross-Domain-Policies', b'none'), (b'Permissions-Policy', b'publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()')])
2023-12-20 10:32:56,817 INFO  HTTP Request: GET https://pypi.org/simple/itsdangerous/ "HTTP/1.1 200 OK"
2023-12-20 10:32:56,817 DEBUG receive_response_body.started request=
2023-12-20 10:32:56,818 DEBUG receive_response_body.complete
2023-12-20 10:32:56,819 DEBUG response_closed.started
2023-12-20 10:32:56,819 DEBUG receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Connection', b'keep-alive'), (b'Content-Length', b'18652'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Allow-Headers', b'Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since'), (b'Access-Control-Allow-Methods', b'GET'), (b'Access-Control-Max-Age', b'86400'), (b'Access-Control-Expose-Headers', b'X-PyPI-Last-Serial'), (b'X-PyPI-Last-Serial', b'20542527'), (b'Cache-Control', b'max-age=600, public'), (b'Content-Security-Policy', b"default-src 'none'; sandbox allow-top-navigation"), (b'Referrer-Policy', b'origin-when-cross-origin'), (b'Content-Encoding', b'gzip'), (b'ETag', b'"EUDoeiv57RhZ1AnpwOy2cA"'), (b'Accept-Ranges', b'bytes'), (b'Date', b'Wed, 20 Dec 2023 16:32:56 GMT'), (b'X-Served-By', b'cache-iad-kcgs7200114-IAD, cache-bur-kbur8200164-BUR'), (b'X-Cache', b'HIT, HIT'), (b'X-Cache-Hits', b'66, 9'), (b'X-Timer', b'S1703089977.769173,VS0,VE0'), (b'Content-Type', b'application/vnd.pypi.simple.v1+json'), (b'Vary', b'Accept, Accept-Encoding'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Frame-Options', b'deny'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Permitted-Cross-Domain-Policies', b'none'), (b'Permissions-Policy', b'publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()')])
2023-12-20 10:32:56,820 INFO  HTTP Request: GET https://pypi.org/simple/werkzeug/ "HTTP/1.1 200 OK"
2023-12-20 10:32:56,820 DEBUG receive_response_body.started request=
2023-12-20 10:32:56,822 DEBUG receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Connection', b'keep-alive'), (b'Content-Length', b'11818'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Allow-Headers', b'Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since'), (b'Access-Control-Allow-Methods', b'GET'), (b'Access-Control-Max-Age', b'86400'), (b'Access-Control-Expose-Headers', b'X-PyPI-Last-Serial'), (b'X-PyPI-Last-Serial', b'19348787'), (b'Cache-Control', b'max-age=600, public'), (b'Content-Security-Policy', b"default-src 'none'; sandbox allow-top-navigation"), (b'Referrer-Policy', b'origin-when-cross-origin'), (b'Content-Encoding', b'gzip'), (b'ETag', b'"4WfIdbfvez+LJE4xS4T+rA"'), (b'Accept-Ranges', b'bytes'), (b'Date', b'Wed, 20 Dec 2023 16:32:56 GMT'), (b'X-Served-By', b'cache-iad-kcgs7200170-IAD, cache-bur-kbur8200024-BUR'), (b'X-Cache', b'HIT, HIT'), (b'X-Cache-Hits', b'190252, 15'), (b'X-Timer', b'S1703089977.777399,VS0,VE0'), (b'Content-Type', b'application/vnd.pypi.simple.v1+json'), (b'Vary', b'Accept, Accept-Encoding'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Frame-Options', b'deny'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Permitted-Cross-Domain-Policies', b'none'), (b'Permissions-Policy', b'publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()')])
2023-12-20 10:32:56,822 INFO  HTTP Request: GET https://pypi.org/simple/click/ "HTTP/1.1 200 OK"
2023-12-20 10:32:56,822 DEBUG receive_response_body.started request=
2023-12-20 10:32:56,824 DEBUG receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Connection', b'keep-alive'), (b'Content-Length', b'10070'), (b'Access-Control-Allow-Headers', b'Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since'), (b'Access-Control-Allow-Methods', b'GET'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Expose-Headers', b'X-PyPI-Last-Serial'), (b'Access-Control-Max-Age', b'86400'), (b'Cache-Control', b'max-age=600, public'), (b'Content-Encoding', b'gzip'), (b'Content-Security-Policy', b"default-src 'none'; sandbox allow-top-navigation"), (b'ETag', b'"X+l1/nqiUVYS6ZA1y3zbAA"'), (b'Referrer-Policy', b'origin-when-cross-origin'), (b'Server', b'nginx/1.13.9'), (b'X-PyPI-Last-Serial', b'17647101'), (b'Accept-Ranges', b'bytes'), (b'Date', b'Wed, 20 Dec 2023 16:32:56 GMT'), (b'X-Served-By', b'cache-iad-kiad7000095-IAD, cache-bur-kbur8200111-BUR'), (b'X-Cache', b'HIT, HIT'), (b'X-Cache-Hits', b'75458, 17'), (b'X-Timer', b'S1703089977.777493,VS0,VE0'), (b'Content-Type', b'application/vnd.pypi.simple.v1+json'), (b'Vary', b'Accept-Encoding, Accept'), (b'Strict-Transport-Security', b'max-age=31536000; includeSubDomains; preload'), (b'X-Frame-Options', b'deny'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Content-Type-Options', b'nosniff'), (b'X-Permitted-Cross-Domain-Policies', b'none'), (b'Permissions-Policy', b'publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()')])
2023-12-20 10:32:56,824 INFO  HTTP Request: GET https://pypi.org/simple/jinja2/ "HTTP/1.1 200 OK"
2023-12-20 10:32:56,825 DEBUG receive_response_body.started request=
2023-12-20 10:32:56,826 DEBUG receive_response_body.complete
2023-12-20 10:32:56,826 DEBUG response_closed.started
2023-12-20 10:32:56,826 DEBUG response_closed.complete
2023-12-20 10:32:56,826 DEBUG response_closed.complete
2023-12-20 10:32:56,826 DEBUG response_closed.complete
2023-12-20 10:32:56,829 DEBUG close.started
2023-12-20 10:32:56,829 DEBUG close.started
2023-12-20 10:32:56,829 DEBUG close.started
2023-12-20 10:32:56,829 DEBUG receive_response_body.complete
2023-12-20 10:32:56,829 DEBUG response_closed.started
2023-12-20 10:32:56,829 DEBUG close.complete
2023-12-20 10:32:56,829 DEBUG [ASYN] blinker: got response with serial 20441166
2023-12-20 10:32:56,832 DEBUG close.complete
2023-12-20 10:32:56,832 DEBUG [ASYN] itsdangerous: got response with serial 17647158
2023-12-20 10:32:56,837 DEBUG close.complete
2023-12-20 10:32:56,837 DEBUG [ASYN] jinja2: got response with serial 17647101
2023-12-20 10:32:56,847 DEBUG response_closed.complete
2023-12-20 10:32:56,848 DEBUG close.started
2023-12-20 10:32:56,848 DEBUG receive_response_body.complete
2023-12-20 10:32:56,848 DEBUG response_closed.started
2023-12-20 10:32:56,849 DEBUG close.complete
2023-12-20 10:32:56,849 DEBUG [ASYN] click: got response with serial 19348787
2023-12-20 10:32:56,858 DEBUG response_closed.complete
2023-12-20 10:32:56,859 DEBUG [req6] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,859 DEBUG [req8] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,859 DEBUG [req7] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,860 DEBUG [req6] 200 OK 0.456s serial=165 length=None type=application/vnd.pypi.simple.v1+json
2023-12-20 10:32:56,860 DEBUG [req8] 200 OK 0.456s serial=165 length=None type=application/vnd.pypi.simple.v1+json
2023-12-20 10:32:56,862 DEBUG close.started
2023-12-20 10:32:56,862 DEBUG [req7] 200 OK 0.458s serial=165 length=None type=application/vnd.pypi.simple.v1+json
2023-12-20 10:32:56,868 DEBUG close.complete
2023-12-20 10:32:56,868 DEBUG [ASYN] werkzeug: got response with serial 20542527
2023-12-20 10:32:56,880 DEBUG [req4] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,880 DEBUG [req4] 200 OK 0.479s serial=165 length=None type=application/vnd.pypi.simple.v1+json
2023-12-20 10:32:56,881 DEBUG [req5] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,885 DEBUG [req5] 200 OK 0.484s serial=165 length=None type=application/vnd.pypi.simple.v1+json
2023-12-20 10:32:56,909 DEBUG receive_response_body.complete
2023-12-20 10:32:56,909 DEBUG response_closed.started
2023-12-20 10:32:56,909 DEBUG response_closed.complete
2023-12-20 10:32:56,910 DEBUG close.started
2023-12-20 10:32:56,910 DEBUG close.complete
2023-12-20 10:32:56,910 DEBUG [ASYN] markupsafe: got response with serial 19654144
2023-12-20 10:32:56,937 DEBUG [req2] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,937 DEBUG [req2] 200 OK 0.561s serial=165 length=None type=application/vnd.pypi.simple.v1+json
2023-12-20 10:32:56,977 INFO  [req9] HEAD /root/pypi/+f/f69/8de3fd0c4e697/MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl
2023-12-20 10:32:56,978 DEBUG [req9] [Rtx165] in-transaction 165
2023-12-20 10:32:56,978 DEBUG [req9] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,979 DEBUG [req9] 200 OK 0.001s serial=165 length=17849 type=None
2023-12-20 10:32:56,980 INFO  [req10] GET /root/pypi/+f/f69/8de3fd0c4e697/MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl
2023-12-20 10:32:56,980 DEBUG [req10] [Rtx165] in-transaction 165
2023-12-20 10:32:56,980 DEBUG [req10] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,980 DEBUG [req10] 200 OK 0.001s serial=165 length=17849 type=None
2023-12-20 10:32:56,982 INFO  [req11] HEAD /root/pypi/+f/ae7/4fb96c20a0277/click-8.1.7-py3-none-any.whl
2023-12-20 10:32:56,982 DEBUG [req11] [Rtx165] in-transaction 165
2023-12-20 10:32:56,983 DEBUG [req11] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,983 DEBUG [req11] 200 OK 0.001s serial=165 length=97941 type=None
2023-12-20 10:32:56,985 INFO  [req12] GET /root/pypi/+f/ae7/4fb96c20a0277/click-8.1.7-py3-none-any.whl
2023-12-20 10:32:56,985 DEBUG [req12] [Rtx165] in-transaction 165
2023-12-20 10:32:56,985 DEBUG [req12] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,985 DEBUG [req12] 200 OK 0.001s serial=165 length=97941 type=None
2023-12-20 10:32:56,987 INFO  [req13] HEAD /root/pypi/+f/2c2/349112351b886/itsdangerous-2.1.2-py3-none-any.whl
2023-12-20 10:32:56,987 DEBUG [req13] [Rtx165] in-transaction 165
2023-12-20 10:32:56,988 DEBUG [req13] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,988 DEBUG [req13] 200 OK 0.001s serial=165 length=15749 type=None
2023-12-20 10:32:56,989 INFO  [req14] GET /root/pypi/+f/2c2/349112351b886/itsdangerous-2.1.2-py3-none-any.whl
2023-12-20 10:32:56,990 DEBUG [req14] [Rtx165] in-transaction 165
2023-12-20 10:32:56,990 DEBUG [req14] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,990 DEBUG [req14] 200 OK 0.001s serial=165 length=15749 type=None
2023-12-20 10:32:56,992 INFO  [req15] HEAD /root/pypi/+f/608/8930bfe239f0e/Jinja2-3.1.2-py3-none-any.whl
2023-12-20 10:32:56,992 DEBUG [req15] [Rtx165] in-transaction 165
2023-12-20 10:32:56,993 DEBUG [req15] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,993 DEBUG [req15] 200 OK 0.001s serial=165 length=133101 type=None
2023-12-20 10:32:56,994 INFO  [req16] GET /root/pypi/+f/608/8930bfe239f0e/Jinja2-3.1.2-py3-none-any.whl
2023-12-20 10:32:56,994 DEBUG [req16] [Rtx165] in-transaction 165
2023-12-20 10:32:56,995 DEBUG [req16] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,995 DEBUG [req16] 200 OK 0.001s serial=165 length=133101 type=None
2023-12-20 10:32:56,997 INFO  [req17] HEAD /root/pypi/+f/c3f/865d4d54db7ab/blinker-1.7.0-py3-none-any.whl
2023-12-20 10:32:56,997 DEBUG [req17] [Rtx165] in-transaction 165
2023-12-20 10:32:56,998 DEBUG [req17] [Rtx165] closing transaction at 165
2023-12-20 10:32:56,998 DEBUG [req17] 200 OK 0.001s serial=165 length=13068 type=None
2023-12-20 10:32:56,999 INFO  [req18] GET /root/pypi/+f/c3f/865d4d54db7ab/blinker-1.7.0-py3-none-any.whl
2023-12-20 10:32:56,999 DEBUG [req18] [Rtx165] in-transaction 165
2023-12-20 10:32:56,999 DEBUG [req18] [Rtx165] closing transaction at 165
2023-12-20 10:32:57,000 DEBUG [req18] 200 OK 0.001s serial=165 length=13068 type=None

Note I'm just using the root/pypi mirror here.

This is partially alleviated by turning on --requests-only. Increasing request timeouts has not helped, nor has increasing the number of threads.

I'm using the latest version (and have also installed from GitHub at 034aa0b).

I cannot produce this by creating a bunch of parallel curl calls downloading wheels, any guidance towards a simple reproduction would be appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions