0s autopkgtest [10:37:35]: starting date and time: 2024-11-25 10:37:35+0000 0s autopkgtest [10:37:35]: git checkout: 6f3be7a8 Fix armhf LXD image generation for plucky 0s autopkgtest [10:37:35]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ioajwhcg/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:tiktoken --apt-upgrade tiktoken --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=tiktoken/0.8.0-1build1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-s390x-1.secgroup --name adt-plucky-s390x-tiktoken-20241125-092031-juju-7f2275-prod-proposed-migration-environment-20-a517c166-db22-498c-b78c-8768dbafbf66 --image adt/ubuntu-plucky-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration-s390x -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 46s autopkgtest [10:38:21]: testbed dpkg architecture: s390x 46s autopkgtest [10:38:21]: testbed apt version: 2.9.8 46s autopkgtest [10:38:21]: @@@@@@@@@@@@@@@@@@@@ test bed setup 48s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 48s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [14.2 kB] 48s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9704 B] 48s Get:4 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [796 kB] 48s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [50.2 kB] 48s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/main s390x Packages [62.8 kB] 48s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/restricted s390x Packages [756 B] 48s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x Packages [590 kB] 48s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse s390x Packages [6452 B] 48s Fetched 1604 kB in 1s (1928 kB/s) 48s Reading package lists... 50s Reading package lists... 50s Building dependency tree... 50s Reading state information... 50s Calculating upgrade... 50s The following package was automatically installed and is no longer required: 50s libsgutils2-1.46-2 50s Use 'sudo apt autoremove' to remove it. 50s The following NEW packages will be installed: 50s libsgutils2-1.48 50s The following packages will be upgraded: 50s bash bpftrace curl debconf debconf-i18n distro-info dracut-install 50s gir1.2-girepository-2.0 gir1.2-glib-2.0 hostname init init-system-helpers 50s libaudit-common libaudit1 libcurl3t64-gnutls libcurl4t64 50s libgirepository-1.0-1 libglib2.0-0t64 libglib2.0-data liblzma5 50s libpam-modules libpam-modules-bin libpam-runtime libpam0g libplymouth5 50s libselinux1 libsemanage-common libsemanage2 linux-base lto-disabled-list 50s lxd-installer openssh-client openssh-server openssh-sftp-server 50s pinentry-curses plymouth plymouth-theme-ubuntu-text python3-blinker 50s python3-debconf python3-jsonschema-specifications python3-rpds-py 50s python3-yaml sg3-utils sg3-utils-udev vim-common vim-tiny xxd xz-utils 50s 48 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 50s Need to get 11.9 MB of archives. 50s After this operation, 2128 kB of additional disk space will be used. 50s Get:1 http://ftpmaster.internal/ubuntu plucky/main s390x bash s390x 5.2.32-1ubuntu2 [845 kB] 51s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x hostname s390x 3.25 [11.2 kB] 51s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x init-system-helpers all 1.67ubuntu1 [39.1 kB] 51s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x libaudit-common all 1:4.0.2-2ubuntu1 [6578 B] 51s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x libaudit1 s390x 1:4.0.2-2ubuntu1 [52.5 kB] 51s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x debconf-i18n all 1.5.87ubuntu1 [204 kB] 51s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x python3-debconf all 1.5.87ubuntu1 [4156 B] 51s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x debconf all 1.5.87ubuntu1 [124 kB] 51s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x libpam0g s390x 1.5.3-7ubuntu4 [70.0 kB] 51s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x libselinux1 s390x 3.7-3ubuntu1 [85.2 kB] 51s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x libpam-modules-bin s390x 1.5.3-7ubuntu4 [56.2 kB] 51s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x libpam-modules s390x 1.5.3-7ubuntu4 [294 kB] 51s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x init s390x 1.67ubuntu1 [6428 B] 51s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x openssh-sftp-server s390x 1:9.9p1-3ubuntu2 [38.2 kB] 51s Get:15 http://ftpmaster.internal/ubuntu plucky/main s390x openssh-server s390x 1:9.9p1-3ubuntu2 [552 kB] 51s Get:16 http://ftpmaster.internal/ubuntu plucky/main s390x openssh-client s390x 1:9.9p1-3ubuntu2 [955 kB] 51s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x libpam-runtime all 1.5.3-7ubuntu4 [40.8 kB] 51s Get:18 http://ftpmaster.internal/ubuntu plucky/main s390x liblzma5 s390x 5.6.3-1 [145 kB] 51s Get:19 http://ftpmaster.internal/ubuntu plucky/main s390x libsemanage-common all 3.7-2build1 [7186 B] 51s Get:20 http://ftpmaster.internal/ubuntu plucky/main s390x libsemanage2 s390x 3.7-2build1 [97.1 kB] 51s Get:21 http://ftpmaster.internal/ubuntu plucky/main s390x distro-info s390x 1.12 [20.0 kB] 51s Get:22 http://ftpmaster.internal/ubuntu plucky/main s390x gir1.2-girepository-2.0 s390x 1.82.0-2 [25.0 kB] 51s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x gir1.2-glib-2.0 s390x 2.82.2-3 [180 kB] 51s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x libglib2.0-0t64 s390x 2.82.2-3 [1575 kB] 51s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x libgirepository-1.0-1 s390x 1.82.0-2 [84.9 kB] 51s Get:26 http://ftpmaster.internal/ubuntu plucky/main s390x libglib2.0-data all 2.82.2-3 [51.7 kB] 51s Get:27 http://ftpmaster.internal/ubuntu plucky/main s390x python3-yaml s390x 6.0.2-1build1 [188 kB] 51s Get:28 http://ftpmaster.internal/ubuntu plucky/main s390x vim-tiny s390x 2:9.1.0861-1ubuntu1 [664 kB] 51s Get:29 http://ftpmaster.internal/ubuntu plucky/main s390x vim-common all 2:9.1.0861-1ubuntu1 [395 kB] 51s Get:30 http://ftpmaster.internal/ubuntu plucky/main s390x xxd s390x 2:9.1.0861-1ubuntu1 [66.6 kB] 51s Get:31 http://ftpmaster.internal/ubuntu plucky/main s390x libplymouth5 s390x 24.004.60-2ubuntu4 [150 kB] 51s Get:32 http://ftpmaster.internal/ubuntu plucky/main s390x plymouth-theme-ubuntu-text s390x 24.004.60-2ubuntu4 [10.1 kB] 51s Get:33 http://ftpmaster.internal/ubuntu plucky/main s390x plymouth s390x 24.004.60-2ubuntu4 [144 kB] 51s Get:34 http://ftpmaster.internal/ubuntu plucky/main s390x xz-utils s390x 5.6.3-1 [273 kB] 51s Get:35 http://ftpmaster.internal/ubuntu plucky/main s390x bpftrace s390x 0.21.2-2ubuntu3 [1718 kB] 51s Get:36 http://ftpmaster.internal/ubuntu plucky/main s390x curl s390x 8.11.0-1ubuntu2 [249 kB] 51s Get:37 http://ftpmaster.internal/ubuntu plucky/main s390x libcurl4t64 s390x 8.11.0-1ubuntu2 [390 kB] 51s Get:38 http://ftpmaster.internal/ubuntu plucky/main s390x dracut-install s390x 105-2ubuntu2 [36.0 kB] 51s Get:39 http://ftpmaster.internal/ubuntu plucky/main s390x libcurl3t64-gnutls s390x 8.11.0-1ubuntu2 [386 kB] 51s Get:40 http://ftpmaster.internal/ubuntu plucky/main s390x libsgutils2-1.48 s390x 1.48-0ubuntu1 [120 kB] 51s Get:41 http://ftpmaster.internal/ubuntu plucky/main s390x linux-base all 4.10.1ubuntu1 [34.8 kB] 51s Get:42 http://ftpmaster.internal/ubuntu plucky/main s390x lto-disabled-list all 54 [12.2 kB] 51s Get:43 http://ftpmaster.internal/ubuntu plucky/main s390x lxd-installer all 10 [5264 B] 51s Get:44 http://ftpmaster.internal/ubuntu plucky/main s390x pinentry-curses s390x 1.3.1-0ubuntu2 [42.3 kB] 51s Get:45 http://ftpmaster.internal/ubuntu plucky/main s390x python3-blinker all 1.9.0-1 [10.7 kB] 51s Get:46 http://ftpmaster.internal/ubuntu plucky/main s390x python3-rpds-py s390x 0.21.0-2ubuntu1 [368 kB] 51s Get:47 http://ftpmaster.internal/ubuntu plucky/main s390x python3-jsonschema-specifications all 2023.12.1-2 [9116 B] 51s Get:48 http://ftpmaster.internal/ubuntu plucky/main s390x sg3-utils s390x 1.48-0ubuntu1 [1027 kB] 51s Get:49 http://ftpmaster.internal/ubuntu plucky/main s390x sg3-utils-udev all 1.48-0ubuntu1 [6608 B] 51s Preconfiguring packages ... 51s Fetched 11.9 MB in 1s (11.2 MB/s) 52s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55541 files and directories currently installed.) 52s Preparing to unpack .../bash_5.2.32-1ubuntu2_s390x.deb ... 52s Unpacking bash (5.2.32-1ubuntu2) over (5.2.32-1ubuntu1) ... 52s Setting up bash (5.2.32-1ubuntu2) ... 52s update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode 52s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55541 files and directories currently installed.) 52s Preparing to unpack .../hostname_3.25_s390x.deb ... 52s Unpacking hostname (3.25) over (3.23+nmu2ubuntu2) ... 52s Setting up hostname (3.25) ... 52s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55541 files and directories currently installed.) 52s Preparing to unpack .../init-system-helpers_1.67ubuntu1_all.deb ... 52s Unpacking init-system-helpers (1.67ubuntu1) over (1.66ubuntu1) ... 52s Setting up init-system-helpers (1.67ubuntu1) ... 52s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55541 files and directories currently installed.) 52s Preparing to unpack .../libaudit-common_1%3a4.0.2-2ubuntu1_all.deb ... 52s Unpacking libaudit-common (1:4.0.2-2ubuntu1) over (1:4.0.1-1ubuntu2) ... 52s Setting up libaudit-common (1:4.0.2-2ubuntu1) ... 52s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55541 files and directories currently installed.) 52s Preparing to unpack .../libaudit1_1%3a4.0.2-2ubuntu1_s390x.deb ... 52s Unpacking libaudit1:s390x (1:4.0.2-2ubuntu1) over (1:4.0.1-1ubuntu2) ... 52s Setting up libaudit1:s390x (1:4.0.2-2ubuntu1) ... 52s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55541 files and directories currently installed.) 52s Preparing to unpack .../debconf-i18n_1.5.87ubuntu1_all.deb ... 52s Unpacking debconf-i18n (1.5.87ubuntu1) over (1.5.86ubuntu1) ... 52s Preparing to unpack .../python3-debconf_1.5.87ubuntu1_all.deb ... 52s Unpacking python3-debconf (1.5.87ubuntu1) over (1.5.86ubuntu1) ... 52s Preparing to unpack .../debconf_1.5.87ubuntu1_all.deb ... 52s Unpacking debconf (1.5.87ubuntu1) over (1.5.86ubuntu1) ... 52s Setting up debconf (1.5.87ubuntu1) ... 52s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55541 files and directories currently installed.) 52s Preparing to unpack .../libpam0g_1.5.3-7ubuntu4_s390x.deb ... 52s Unpacking libpam0g:s390x (1.5.3-7ubuntu4) over (1.5.3-7ubuntu2) ... 52s Setting up libpam0g:s390x (1.5.3-7ubuntu4) ... 52s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55541 files and directories currently installed.) 52s Preparing to unpack .../libselinux1_3.7-3ubuntu1_s390x.deb ... 52s Unpacking libselinux1:s390x (3.7-3ubuntu1) over (3.5-2ubuntu5) ... 52s Setting up libselinux1:s390x (3.7-3ubuntu1) ... 52s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55541 files and directories currently installed.) 52s Preparing to unpack .../libpam-modules-bin_1.5.3-7ubuntu4_s390x.deb ... 52s Unpacking libpam-modules-bin (1.5.3-7ubuntu4) over (1.5.3-7ubuntu2) ... 52s Setting up libpam-modules-bin (1.5.3-7ubuntu4) ... 52s pam_namespace.service is a disabled or a static unit not running, not starting it. 52s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55541 files and directories currently installed.) 52s Preparing to unpack .../libpam-modules_1.5.3-7ubuntu4_s390x.deb ... 52s Unpacking libpam-modules:s390x (1.5.3-7ubuntu4) over (1.5.3-7ubuntu2) ... 52s Setting up libpam-modules:s390x (1.5.3-7ubuntu4) ... 52s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55541 files and directories currently installed.) 52s Preparing to unpack .../init_1.67ubuntu1_s390x.deb ... 52s Unpacking init (1.67ubuntu1) over (1.66ubuntu1) ... 52s Preparing to unpack .../openssh-sftp-server_1%3a9.9p1-3ubuntu2_s390x.deb ... 52s Unpacking openssh-sftp-server (1:9.9p1-3ubuntu2) over (1:9.7p1-7ubuntu5) ... 52s Preparing to unpack .../openssh-server_1%3a9.9p1-3ubuntu2_s390x.deb ... 52s Unpacking openssh-server (1:9.9p1-3ubuntu2) over (1:9.7p1-7ubuntu5) ... 53s Preparing to unpack .../openssh-client_1%3a9.9p1-3ubuntu2_s390x.deb ... 53s Unpacking openssh-client (1:9.9p1-3ubuntu2) over (1:9.7p1-7ubuntu5) ... 53s Preparing to unpack .../libpam-runtime_1.5.3-7ubuntu4_all.deb ... 53s Unpacking libpam-runtime (1.5.3-7ubuntu4) over (1.5.3-7ubuntu2) ... 53s Setting up libpam-runtime (1.5.3-7ubuntu4) ... 53s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55543 files and directories currently installed.) 53s Preparing to unpack .../liblzma5_5.6.3-1_s390x.deb ... 53s Unpacking liblzma5:s390x (5.6.3-1) over (5.6.2-2) ... 53s Setting up liblzma5:s390x (5.6.3-1) ... 53s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55543 files and directories currently installed.) 53s Preparing to unpack .../libsemanage-common_3.7-2build1_all.deb ... 53s Unpacking libsemanage-common (3.7-2build1) over (3.5-1build6) ... 53s Setting up libsemanage-common (3.7-2build1) ... 53s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55542 files and directories currently installed.) 53s Preparing to unpack .../libsemanage2_3.7-2build1_s390x.deb ... 53s Unpacking libsemanage2:s390x (3.7-2build1) over (3.5-1build6) ... 53s Setting up libsemanage2:s390x (3.7-2build1) ... 53s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55542 files and directories currently installed.) 53s Preparing to unpack .../00-distro-info_1.12_s390x.deb ... 53s Unpacking distro-info (1.12) over (1.9) ... 53s Preparing to unpack .../01-gir1.2-girepository-2.0_1.82.0-2_s390x.deb ... 53s Unpacking gir1.2-girepository-2.0:s390x (1.82.0-2) over (1.80.1-4) ... 53s Preparing to unpack .../02-gir1.2-glib-2.0_2.82.2-3_s390x.deb ... 53s Unpacking gir1.2-glib-2.0:s390x (2.82.2-3) over (2.82.1-0ubuntu1) ... 53s Preparing to unpack .../03-libglib2.0-0t64_2.82.2-3_s390x.deb ... 53s Unpacking libglib2.0-0t64:s390x (2.82.2-3) over (2.82.1-0ubuntu1) ... 53s Preparing to unpack .../04-libgirepository-1.0-1_1.82.0-2_s390x.deb ... 53s Unpacking libgirepository-1.0-1:s390x (1.82.0-2) over (1.80.1-4) ... 53s Preparing to unpack .../05-libglib2.0-data_2.82.2-3_all.deb ... 53s Unpacking libglib2.0-data (2.82.2-3) over (2.82.1-0ubuntu1) ... 53s Preparing to unpack .../06-python3-yaml_6.0.2-1build1_s390x.deb ... 53s Unpacking python3-yaml (6.0.2-1build1) over (6.0.2-1) ... 53s Preparing to unpack .../07-vim-tiny_2%3a9.1.0861-1ubuntu1_s390x.deb ... 53s Unpacking vim-tiny (2:9.1.0861-1ubuntu1) over (2:9.1.0777-1ubuntu1) ... 53s Preparing to unpack .../08-vim-common_2%3a9.1.0861-1ubuntu1_all.deb ... 53s Unpacking vim-common (2:9.1.0861-1ubuntu1) over (2:9.1.0777-1ubuntu1) ... 53s Preparing to unpack .../09-xxd_2%3a9.1.0861-1ubuntu1_s390x.deb ... 53s Unpacking xxd (2:9.1.0861-1ubuntu1) over (2:9.1.0777-1ubuntu1) ... 53s Preparing to unpack .../10-libplymouth5_24.004.60-2ubuntu4_s390x.deb ... 53s Unpacking libplymouth5:s390x (24.004.60-2ubuntu4) over (24.004.60-1ubuntu11) ... 53s Preparing to unpack .../11-plymouth-theme-ubuntu-text_24.004.60-2ubuntu4_s390x.deb ... 53s Unpacking plymouth-theme-ubuntu-text (24.004.60-2ubuntu4) over (24.004.60-1ubuntu11) ... 53s Preparing to unpack .../12-plymouth_24.004.60-2ubuntu4_s390x.deb ... 53s Unpacking plymouth (24.004.60-2ubuntu4) over (24.004.60-1ubuntu11) ... 53s Preparing to unpack .../13-xz-utils_5.6.3-1_s390x.deb ... 53s Unpacking xz-utils (5.6.3-1) over (5.6.2-2) ... 53s Preparing to unpack .../14-bpftrace_0.21.2-2ubuntu3_s390x.deb ... 53s Unpacking bpftrace (0.21.2-2ubuntu3) over (0.21.2-2ubuntu2) ... 53s Preparing to unpack .../15-curl_8.11.0-1ubuntu2_s390x.deb ... 53s Unpacking curl (8.11.0-1ubuntu2) over (8.9.1-2ubuntu2) ... 53s Preparing to unpack .../16-libcurl4t64_8.11.0-1ubuntu2_s390x.deb ... 53s Unpacking libcurl4t64:s390x (8.11.0-1ubuntu2) over (8.9.1-2ubuntu2) ... 53s Preparing to unpack .../17-dracut-install_105-2ubuntu2_s390x.deb ... 53s Unpacking dracut-install (105-2ubuntu2) over (105-1ubuntu1) ... 53s Preparing to unpack .../18-libcurl3t64-gnutls_8.11.0-1ubuntu2_s390x.deb ... 53s Unpacking libcurl3t64-gnutls:s390x (8.11.0-1ubuntu2) over (8.9.1-2ubuntu2) ... 53s Selecting previously unselected package libsgutils2-1.48:s390x. 53s Preparing to unpack .../19-libsgutils2-1.48_1.48-0ubuntu1_s390x.deb ... 53s Unpacking libsgutils2-1.48:s390x (1.48-0ubuntu1) ... 53s Preparing to unpack .../20-linux-base_4.10.1ubuntu1_all.deb ... 53s Unpacking linux-base (4.10.1ubuntu1) over (4.5ubuntu9) ... 53s Preparing to unpack .../21-lto-disabled-list_54_all.deb ... 53s Unpacking lto-disabled-list (54) over (53) ... 53s Preparing to unpack .../22-lxd-installer_10_all.deb ... 53s Unpacking lxd-installer (10) over (9) ... 53s Preparing to unpack .../23-pinentry-curses_1.3.1-0ubuntu2_s390x.deb ... 53s Unpacking pinentry-curses (1.3.1-0ubuntu2) over (1.2.1-3ubuntu5) ... 53s Preparing to unpack .../24-python3-blinker_1.9.0-1_all.deb ... 53s Unpacking python3-blinker (1.9.0-1) over (1.8.2-1) ... 53s Preparing to unpack .../25-python3-rpds-py_0.21.0-2ubuntu1_s390x.deb ... 53s Unpacking python3-rpds-py (0.21.0-2ubuntu1) over (0.20.0-0ubuntu3) ... 53s Preparing to unpack .../26-python3-jsonschema-specifications_2023.12.1-2_all.deb ... 53s Unpacking python3-jsonschema-specifications (2023.12.1-2) over (2023.12.1-1ubuntu1) ... 53s Preparing to unpack .../27-sg3-utils_1.48-0ubuntu1_s390x.deb ... 53s Unpacking sg3-utils (1.48-0ubuntu1) over (1.46-3ubuntu5) ... 53s Preparing to unpack .../28-sg3-utils-udev_1.48-0ubuntu1_all.deb ... 53s Unpacking sg3-utils-udev (1.48-0ubuntu1) over (1.46-3ubuntu5) ... 53s Setting up pinentry-curses (1.3.1-0ubuntu2) ... 53s Setting up distro-info (1.12) ... 53s Setting up lto-disabled-list (54) ... 53s Setting up linux-base (4.10.1ubuntu1) ... 54s Setting up init (1.67ubuntu1) ... 54s Setting up libcurl4t64:s390x (8.11.0-1ubuntu2) ... 54s Setting up bpftrace (0.21.2-2ubuntu3) ... 54s Setting up openssh-client (1:9.9p1-3ubuntu2) ... 54s Setting up python3-debconf (1.5.87ubuntu1) ... 54s Setting up libcurl3t64-gnutls:s390x (8.11.0-1ubuntu2) ... 54s Setting up libsgutils2-1.48:s390x (1.48-0ubuntu1) ... 54s Setting up python3-yaml (6.0.2-1build1) ... 54s Setting up debconf-i18n (1.5.87ubuntu1) ... 54s Setting up xxd (2:9.1.0861-1ubuntu1) ... 54s Setting up libglib2.0-0t64:s390x (2.82.2-3) ... 54s No schema files found: doing nothing. 54s Setting up libglib2.0-data (2.82.2-3) ... 54s Setting up vim-common (2:9.1.0861-1ubuntu1) ... 54s Setting up xz-utils (5.6.3-1) ... 54s Setting up gir1.2-glib-2.0:s390x (2.82.2-3) ... 54s Setting up lxd-installer (10) ... 54s Setting up python3-rpds-py (0.21.0-2ubuntu1) ... 54s Setting up dracut-install (105-2ubuntu2) ... 54s Setting up libplymouth5:s390x (24.004.60-2ubuntu4) ... 54s Setting up libgirepository-1.0-1:s390x (1.82.0-2) ... 54s Setting up curl (8.11.0-1ubuntu2) ... 54s Setting up python3-jsonschema-specifications (2023.12.1-2) ... 54s Setting up sg3-utils (1.48-0ubuntu1) ... 54s Setting up python3-blinker (1.9.0-1) ... 54s Setting up openssh-sftp-server (1:9.9p1-3ubuntu2) ... 54s Setting up openssh-server (1:9.9p1-3ubuntu2) ... 54s Installing new version of config file /etc/ssh/moduli ... 54s Replacing config file /etc/ssh/sshd_config with new version 55s Setting up plymouth (24.004.60-2ubuntu4) ... 55s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 55s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 55s Setting up vim-tiny (2:9.1.0861-1ubuntu1) ... 55s Setting up sg3-utils-udev (1.48-0ubuntu1) ... 55s update-initramfs: deferring update (trigger activated) 55s Setting up gir1.2-girepository-2.0:s390x (1.82.0-2) ... 55s Processing triggers for debianutils (5.21) ... 55s Processing triggers for install-info (7.1.1-1) ... 55s Processing triggers for initramfs-tools (0.142ubuntu35) ... 55s update-initramfs: Generating /boot/initrd.img-6.11.0-8-generic 55s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 57s Using config file '/etc/zipl.conf' 57s Building bootmap in '/boot' 57s Adding IPL section 'ubuntu' (default) 57s Preparing boot device for LD-IPL: vda (0000). 57s Done. 57s Processing triggers for libc-bin (2.40-1ubuntu3) ... 57s Processing triggers for ufw (0.36.2-8) ... 57s Processing triggers for man-db (2.13.0-1) ... 58s Setting up plymouth-theme-ubuntu-text (24.004.60-2ubuntu4) ... 58s Processing triggers for initramfs-tools (0.142ubuntu35) ... 59s update-initramfs: Generating /boot/initrd.img-6.11.0-8-generic 59s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 60s Using config file '/etc/zipl.conf' 60s Building bootmap in '/boot' 60s Adding IPL section 'ubuntu' (default) 60s Preparing boot device for LD-IPL: vda (0000). 60s Done. 60s Reading package lists... 60s Building dependency tree... 60s Reading state information... 61s The following packages will be REMOVED: 61s libsgutils2-1.46-2* 61s 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. 61s After this operation, 294 kB disk space will be freed. 61s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55572 files and directories currently installed.) 61s Removing libsgutils2-1.46-2:s390x (1.46-3ubuntu5) ... 61s Processing triggers for libc-bin (2.40-1ubuntu3) ... 61s Hit:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease 61s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 61s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 61s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 62s Reading package lists... 62s Reading package lists... 62s Building dependency tree... 62s Reading state information... 62s Calculating upgrade... 62s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 62s Reading package lists... 62s Building dependency tree... 62s Reading state information... 63s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 63s autopkgtest [10:38:38]: rebooting testbed after setup commands that affected boot 67s autopkgtest-virt-ssh: WARNING: ssh connection failed. Retrying in 3 seconds... 81s autopkgtest [10:38:56]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP Mon Sep 16 12:49:35 UTC 2024 84s autopkgtest [10:38:59]: @@@@@@@@@@@@@@@@@@@@ apt-source tiktoken 85s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/universe tiktoken 0.8.0-1build1 (dsc) [2247 B] 85s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/universe tiktoken 0.8.0-1build1 (tar) [31.6 kB] 85s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/universe tiktoken 0.8.0-1build1 (diff) [3908 B] 85s gpgv: Signature made Mon Nov 18 15:38:19 2024 UTC 85s gpgv: using RSA key 25E3FF2D7F469DBE7D0D4E50AFCFEC8E669CE1C2 85s gpgv: Can't check signature: No public key 85s dpkg-source: warning: cannot verify inline signature for ./tiktoken_0.8.0-1build1.dsc: no acceptable signature found 85s autopkgtest [10:39:00]: testing package tiktoken version 0.8.0-1build1 86s autopkgtest [10:39:01]: build not needed 86s autopkgtest [10:39:01]: test pybuild-autopkgtest: preparing testbed 88s Reading package lists... 88s Building dependency tree... 88s Reading state information... 88s Starting pkgProblemResolver with broken count: 0 88s Starting 2 pkgProblemResolver with broken count: 0 88s Done 88s The following additional packages will be installed: 88s autoconf automake autopoint autotools-dev binutils-mingw-w64-i686 88s binutils-mingw-w64-x86-64 build-essential cargo cargo-1.80 cmake cmake-data 88s cpp cpp-14 cpp-14-s390x-linux-gnu cpp-s390x-linux-gnu debhelper debugedit 88s dh-autoreconf dh-python dh-strip-nondeterminism dwz fontconfig-config 88s fonts-dejavu-core fonts-dejavu-mono g++ g++-14 g++-14-s390x-linux-gnu 88s g++-s390x-linux-gnu gcc gcc-14 gcc-14-s390x-linux-gnu gcc-s390x-linux-gnu 88s gettext intltool-debian libarchive-zip-perl libasan8 libbrotli-dev 88s libbz2-dev libcc1-0 libdebhelper-perl libexpat1-dev 88s libfile-stripnondeterminism-perl libfontconfig-dev libfontconfig1 88s libfreetype-dev libfreetype6 libgcc-14-dev libgit2-1.7 libgomp1 88s libhttp-parser2.9 libisl23 libitm1 libjsoncpp25 libmpc3 libpfm4 libpkgconf3 88s libpng-dev libpython3-all-dev libpython3-dev libpython3.12-dev librhash0 88s librust-ab-glyph-dev librust-ab-glyph-rasterizer+libm-dev 88s librust-ab-glyph-rasterizer-dev librust-addr2line-dev librust-adler-dev 88s librust-ahash-dev librust-aho-corasick-dev librust-allocator-api2-dev 88s librust-anes-dev librust-anstream-dev librust-anstyle-dev 88s librust-anstyle-parse-dev librust-anstyle-query-dev librust-anyhow-dev 88s librust-approx-dev librust-arbitrary-dev librust-array-init-dev 88s librust-arrayvec-dev librust-async-attributes-dev librust-async-channel-dev 88s librust-async-executor-dev librust-async-fs-dev 88s librust-async-global-executor-dev librust-async-io-dev 88s librust-async-lock-dev librust-async-net-dev librust-async-process-dev 88s librust-async-signal-dev librust-async-std-dev librust-async-task-dev 88s librust-atomic-dev librust-atomic-waker-dev librust-autocfg-dev 88s librust-backtrace-dev librust-base64-dev librust-bit-set+std-dev 88s librust-bit-set-dev librust-bit-vec-dev librust-bitflags-1-dev 88s librust-bitflags-dev librust-bitvec-dev librust-blobby-dev 88s librust-block-buffer-dev librust-blocking-dev librust-bstr-dev 88s librust-bumpalo-dev librust-bytecheck-derive-dev librust-bytecheck-dev 88s librust-bytemuck-derive-dev librust-bytemuck-dev librust-byteorder-dev 88s librust-bytes-dev librust-cast-dev librust-cc-dev librust-cfg-if-0.1-dev 88s librust-cfg-if-dev librust-chrono-dev librust-chrono-tz-build-dev 88s librust-chrono-tz-dev librust-ciborium-dev librust-ciborium-io-dev 88s librust-ciborium-ll-dev librust-clap-builder-dev librust-clap-derive-dev 88s librust-clap-dev librust-clap-lex-dev librust-cmake-dev 88s librust-color-quant-dev librust-colorchoice-dev 88s librust-compiler-builtins+core-dev 88s librust-compiler-builtins+rustc-dep-of-std-dev librust-compiler-builtins-dev 88s librust-concurrent-queue-dev librust-const-cstr-dev librust-const-oid-dev 88s librust-const-random-dev librust-const-random-macro-dev 88s librust-convert-case-dev librust-core-maths-dev librust-cpp-demangle-dev 88s librust-cpufeatures-dev librust-crc32fast-dev librust-criterion-dev 88s librust-critical-section-dev librust-crossbeam-deque-dev 88s librust-crossbeam-epoch+std-dev librust-crossbeam-epoch-dev 88s librust-crossbeam-utils-dev librust-crunchy-dev librust-crypto-common-dev 88s librust-csv-core-dev librust-csv-dev librust-ctor-dev librust-deranged-dev 88s librust-derive-arbitrary-dev librust-derive-more-dev librust-digest-dev 88s librust-dirs-next-dev librust-dirs-sys-next-dev librust-dlib-dev 88s librust-either-dev librust-env-logger-dev librust-equivalent-dev 88s librust-erased-serde-dev librust-errno-dev librust-eui48-dev 88s librust-event-listener-dev librust-event-listener-strategy-dev 88s librust-eyre+default-dev librust-eyre-dev librust-fallible-iterator-dev 88s librust-fancy-regex-dev librust-fastrand-dev librust-flate2-dev 88s librust-float-ord-dev librust-fnv-dev librust-font-kit-dev 88s librust-freetype-dev librust-freetype-sys-dev librust-funty-dev 88s librust-futures-channel-dev librust-futures-core-dev librust-futures-dev 88s librust-futures-executor-dev librust-futures-io-dev librust-futures-lite-dev 88s librust-futures-macro-dev librust-futures-sink-dev librust-futures-task-dev 88s librust-futures-util-dev librust-generic-array-dev librust-geo-types-dev 88s librust-getrandom-dev librust-ghost-dev librust-gif-dev librust-gimli-dev 88s librust-half-dev librust-hashbrown-dev librust-heck-dev librust-hmac-dev 88s librust-humantime-dev librust-iana-time-zone-dev librust-image-dev 88s librust-indenter-dev librust-indexmap-dev librust-indoc-dev 88s librust-inventory-dev librust-is-terminal-dev librust-itertools-dev 88s librust-itoa-dev librust-jobserver-dev librust-jpeg-decoder-dev 88s librust-js-sys-dev librust-kv-log-macro-dev librust-lazy-static-dev 88s librust-libc-dev librust-libloading-dev librust-libm-dev 88s librust-libwebp-sys-dev librust-libz-sys-dev librust-linux-raw-sys-dev 88s librust-lock-api-dev librust-log-dev librust-md-5-dev librust-md5-asm-dev 88s librust-memchr-dev librust-memmap2-dev librust-memoffset-dev 88s librust-miniz-oxide-dev librust-mio-dev librust-no-panic-dev 88s librust-num-bigint-dev librust-num-complex-dev librust-num-conv-dev 88s librust-num-cpus-dev librust-num-integer-dev librust-num-rational-dev 88s librust-num-threads-dev librust-num-traits-dev librust-object-dev 88s librust-once-cell-dev librust-oorandom-dev librust-owned-ttf-parser-dev 88s librust-owning-ref-dev librust-parking-dev librust-parking-lot-core-dev 88s librust-parking-lot-dev librust-parse-zoneinfo-dev 88s librust-pathfinder-geometry-dev librust-pathfinder-simd-dev 88s librust-phf+uncased-dev librust-phf-codegen-dev librust-phf-dev 88s librust-phf-generator-dev librust-phf-shared+uncased-dev 88s librust-phf-shared-dev librust-pin-project-lite-dev librust-pin-utils-dev 88s librust-pkg-config-dev librust-plotters-backend-dev 88s librust-plotters-bitmap-dev librust-plotters-dev librust-plotters-svg-dev 88s librust-png-dev librust-polling-dev librust-portable-atomic-dev 88s librust-postgres-derive-dev librust-postgres-protocol-dev 88s librust-postgres-types-dev librust-powerfmt-dev librust-powerfmt-macros-dev 88s librust-ppv-lite86-dev librust-proc-macro2-dev librust-proptest-dev 88s librust-ptr-meta-derive-dev librust-ptr-meta-dev 88s librust-pure-rust-locales-dev librust-pyo3-build-config-dev librust-pyo3-dev 88s librust-pyo3-ffi-dev librust-pyo3-macros-backend-dev librust-pyo3-macros-dev 88s librust-python3-dll-a-dev librust-qoi-dev librust-quick-error-dev 88s librust-quickcheck-dev librust-quote-dev librust-radium-dev 88s librust-rand-chacha-dev librust-rand-core+getrandom-dev 88s librust-rand-core+serde-dev librust-rand-core+std-dev librust-rand-core-dev 88s librust-rand-dev librust-rand-xorshift-dev librust-rayon-core-dev 88s librust-rayon-dev librust-regex-automata-dev librust-regex-dev 88s librust-regex-syntax-dev librust-rend-dev librust-rkyv-derive-dev 88s librust-rkyv-dev librust-rust-decimal-dev librust-rustc-demangle-dev 88s librust-rustc-hash-dev librust-rustc-std-workspace-core-dev 88s librust-rustc-version-dev librust-rustix-dev 88s librust-rusty-fork+wait-timeout-dev librust-rusty-fork-dev 88s librust-ruzstd-dev librust-ryu-dev librust-same-file-dev 88s librust-scopeguard-dev librust-seahash-dev librust-semver-dev 88s librust-serde-derive-dev librust-serde-dev librust-serde-fmt-dev 88s librust-serde-json-dev librust-serde-test-dev librust-sha1-asm-dev 88s librust-sha1-dev librust-sha2-asm-dev librust-sha2-dev librust-shlex-dev 88s librust-signal-hook-registry-dev librust-simdutf8-dev librust-siphasher-dev 88s librust-slab-dev librust-slog-dev librust-smallvec-dev librust-smol-dev 88s librust-smol-str-dev librust-socket2-dev librust-spin-dev 88s librust-stable-deref-trait-dev librust-static-assertions-dev 88s librust-stringprep-dev librust-strsim-dev librust-subtle-dev 88s librust-sval-buffer-dev librust-sval-derive-dev librust-sval-dev 88s librust-sval-dynamic-dev librust-sval-fmt-dev librust-sval-ref-dev 88s librust-sval-serde-dev librust-syn-1-dev librust-syn-dev librust-tap-dev 88s librust-target-lexicon-dev librust-tempfile-dev librust-termcolor-dev 88s librust-terminal-size-dev librust-tiff-dev librust-time-core-dev 88s librust-time-dev librust-time-macros-dev librust-tiny-keccak-dev 88s librust-tinytemplate-dev librust-tinyvec+tinyvec-macros-dev 88s librust-tinyvec-dev librust-tinyvec-macros-dev librust-tokio-dev 88s librust-tokio-macros-dev librust-tracing-attributes-dev 88s librust-tracing-core-dev librust-tracing-dev librust-traitobject-dev 88s librust-ttf-parser-dev librust-twox-hash-dev librust-typemap-dev 88s librust-typenum-dev librust-unarray-dev librust-uncased-dev 88s librust-unicase-dev librust-unicode-bidi-dev librust-unicode-ident-dev 88s librust-unicode-normalization-dev librust-unicode-segmentation-dev 88s librust-unicode-width-dev librust-unindent-dev librust-unsafe-any-dev 88s librust-utf8parse-dev librust-uuid-dev librust-valuable-derive-dev 88s librust-valuable-dev librust-value-bag-dev librust-value-bag-serde1-dev 88s librust-value-bag-sval2-dev librust-version-check-dev 88s librust-wait-timeout-dev librust-walkdir-dev 88s librust-wasm-bindgen+default-dev librust-wasm-bindgen+spans-dev 88s librust-wasm-bindgen-backend-dev librust-wasm-bindgen-dev 88s librust-wasm-bindgen-macro+spans-dev librust-wasm-bindgen-macro-dev 88s librust-wasm-bindgen-macro-support+spans-dev 88s librust-wasm-bindgen-macro-support-dev librust-wasm-bindgen-shared-dev 88s librust-web-sys-dev librust-webp-dev librust-weezl-dev librust-winapi-dev 88s librust-winapi-i686-pc-windows-gnu-dev librust-winapi-util-dev 88s librust-winapi-x86-64-pc-windows-gnu-dev librust-wyz-dev 88s librust-yeslogic-fontconfig-sys-dev librust-zerocopy-derive-dev 88s librust-zerocopy-dev librust-zeroize-derive-dev librust-zeroize-dev 88s libsharpyuv-dev libsharpyuv0 libstd-rust-1.80 libstd-rust-1.80-dev 88s libstdc++-14-dev libtool libubsan1 libwebp-dev libwebp7 libwebpdecoder3 88s libwebpdemux2 libwebpmux3 llvm llvm-19 llvm-19-linker-tools llvm-19-runtime 88s llvm-runtime m4 pkg-config pkgconf pkgconf-bin po-debconf 88s pybuild-plugin-autopkgtest pybuild-plugin-pyproject python3-all 88s python3-build python3-dateutil python3-hypothesis python3-iniconfig 88s python3-installer python3-packaging python3-pluggy python3-pyproject-hooks 88s python3-pytest python3-regex python3-semantic-version 88s python3-setuptools-rust python3-sortedcontainers python3-tiktoken 88s python3-toml python3-wheel python3.12-dev rustc rustc-1.80 uuid-dev 88s zlib1g-dev 88s Suggested packages: 88s autoconf-archive gnu-standards autoconf-doc cargo-1.80-doc cmake-doc 88s cmake-format elpa-cmake-mode ninja-build cpp-doc gcc-14-locales cpp-14-doc 88s dh-make flit gcc-14-doc gcc-multilib manpages-dev flex bison gdb gcc-doc 88s gdb-s390x-linux-gnu gettext-doc libasprintf-dev libgettextpo-dev 88s freetype2-doc librust-adler+compiler-builtins-dev librust-adler+core-dev 88s librust-adler+rustc-dep-of-std-dev librust-backtrace+cpp-demangle-dev 88s librust-backtrace+rustc-serialize-dev librust-backtrace+serde-dev 88s librust-backtrace+verify-winapi-dev librust-backtrace+winapi-dev 88s librust-cfg-if-0.1+core-dev librust-cfg-if+core-dev 88s librust-compiler-builtins+c-dev gnuplot-nox librust-csv-core+libc-dev 88s librust-either+serde-dev librust-getrandom+compiler-builtins-dev 88s librust-getrandom+core-dev librust-getrandom+rustc-dep-of-std-dev 88s librust-phf+phf-macros-dev librust-phf+serde-dev librust-phf+unicase-dev 88s librust-phf-shared+unicase-dev librust-rand-xorshift+serde-dev 88s librust-rustc-demangle+compiler-builtins-dev librust-rustc-demangle+core-dev 88s librust-rustc-demangle+rustc-dep-of-std-dev librust-ryu+no-panic-dev 88s librust-slog+erased-serde-dev librust-tinyvec+arbitrary-dev 88s librust-tinyvec+serde-dev librust-uncased+serde-dev 88s librust-uncased+with-serde-alloc-dev 88s librust-wasm-bindgen-backend+extra-traits-dev librust-wasm-bindgen+serde-dev 88s librust-wasm-bindgen+serde-serialize-dev librust-wasm-bindgen+serde-json-dev 88s librust-wasm-bindgen+strict-macro-dev 88s librust-wasm-bindgen+xxx-debug-only-print-generated-code-dev 88s librust-wasm-bindgen-macro+strict-macro-dev 88s librust-wasm-bindgen-macro-support+extra-traits-dev librust-weezl+async-dev 88s librust-weezl+futures-dev libstdc++-14-doc libtool-doc gfortran 88s | fortran95-compiler gcj-jdk llvm-19-doc m4-doc libmail-box-perl python3-pip 88s python3-venv python-build-doc python-hypothesis-doc python-installer-doc 88s python-semantic-version-doc python-sortedcontainers-doc llvm-18 lld-18 88s clang-18 88s Recommended packages: 88s bzip2-doc libarchive-cpio-perl libpng-tools librust-phf+std-dev 88s librust-subtle+default-dev libltdl-dev llvm-19-dev libmail-sendmail-perl 88s python3-click 88s The following NEW packages will be installed: 88s autoconf automake autopkgtest-satdep autopoint autotools-dev 88s binutils-mingw-w64-i686 binutils-mingw-w64-x86-64 build-essential cargo 88s cargo-1.80 cmake cmake-data cpp cpp-14 cpp-14-s390x-linux-gnu 88s cpp-s390x-linux-gnu debhelper debugedit dh-autoreconf dh-python 88s dh-strip-nondeterminism dwz fontconfig-config fonts-dejavu-core 88s fonts-dejavu-mono g++ g++-14 g++-14-s390x-linux-gnu g++-s390x-linux-gnu gcc 88s gcc-14 gcc-14-s390x-linux-gnu gcc-s390x-linux-gnu gettext intltool-debian 88s libarchive-zip-perl libasan8 libbrotli-dev libbz2-dev libcc1-0 88s libdebhelper-perl libexpat1-dev libfile-stripnondeterminism-perl 88s libfontconfig-dev libfontconfig1 libfreetype-dev libfreetype6 libgcc-14-dev 88s libgit2-1.7 libgomp1 libhttp-parser2.9 libisl23 libitm1 libjsoncpp25 libmpc3 88s libpfm4 libpkgconf3 libpng-dev libpython3-all-dev libpython3-dev 88s libpython3.12-dev librhash0 librust-ab-glyph-dev 88s librust-ab-glyph-rasterizer+libm-dev librust-ab-glyph-rasterizer-dev 88s librust-addr2line-dev librust-adler-dev librust-ahash-dev 88s librust-aho-corasick-dev librust-allocator-api2-dev librust-anes-dev 88s librust-anstream-dev librust-anstyle-dev librust-anstyle-parse-dev 88s librust-anstyle-query-dev librust-anyhow-dev librust-approx-dev 88s librust-arbitrary-dev librust-array-init-dev librust-arrayvec-dev 88s librust-async-attributes-dev librust-async-channel-dev 88s librust-async-executor-dev librust-async-fs-dev 88s librust-async-global-executor-dev librust-async-io-dev 88s librust-async-lock-dev librust-async-net-dev librust-async-process-dev 88s librust-async-signal-dev librust-async-std-dev librust-async-task-dev 88s librust-atomic-dev librust-atomic-waker-dev librust-autocfg-dev 88s librust-backtrace-dev librust-base64-dev librust-bit-set+std-dev 88s librust-bit-set-dev librust-bit-vec-dev librust-bitflags-1-dev 88s librust-bitflags-dev librust-bitvec-dev librust-blobby-dev 88s librust-block-buffer-dev librust-blocking-dev librust-bstr-dev 88s librust-bumpalo-dev librust-bytecheck-derive-dev librust-bytecheck-dev 88s librust-bytemuck-derive-dev librust-bytemuck-dev librust-byteorder-dev 88s librust-bytes-dev librust-cast-dev librust-cc-dev librust-cfg-if-0.1-dev 88s librust-cfg-if-dev librust-chrono-dev librust-chrono-tz-build-dev 88s librust-chrono-tz-dev librust-ciborium-dev librust-ciborium-io-dev 88s librust-ciborium-ll-dev librust-clap-builder-dev librust-clap-derive-dev 88s librust-clap-dev librust-clap-lex-dev librust-cmake-dev 88s librust-color-quant-dev librust-colorchoice-dev 88s librust-compiler-builtins+core-dev 88s librust-compiler-builtins+rustc-dep-of-std-dev librust-compiler-builtins-dev 88s librust-concurrent-queue-dev librust-const-cstr-dev librust-const-oid-dev 88s librust-const-random-dev librust-const-random-macro-dev 88s librust-convert-case-dev librust-core-maths-dev librust-cpp-demangle-dev 88s librust-cpufeatures-dev librust-crc32fast-dev librust-criterion-dev 88s librust-critical-section-dev librust-crossbeam-deque-dev 88s librust-crossbeam-epoch+std-dev librust-crossbeam-epoch-dev 88s librust-crossbeam-utils-dev librust-crunchy-dev librust-crypto-common-dev 88s librust-csv-core-dev librust-csv-dev librust-ctor-dev librust-deranged-dev 88s librust-derive-arbitrary-dev librust-derive-more-dev librust-digest-dev 88s librust-dirs-next-dev librust-dirs-sys-next-dev librust-dlib-dev 88s librust-either-dev librust-env-logger-dev librust-equivalent-dev 88s librust-erased-serde-dev librust-errno-dev librust-eui48-dev 88s librust-event-listener-dev librust-event-listener-strategy-dev 88s librust-eyre+default-dev librust-eyre-dev librust-fallible-iterator-dev 88s librust-fancy-regex-dev librust-fastrand-dev librust-flate2-dev 88s librust-float-ord-dev librust-fnv-dev librust-font-kit-dev 88s librust-freetype-dev librust-freetype-sys-dev librust-funty-dev 88s librust-futures-channel-dev librust-futures-core-dev librust-futures-dev 88s librust-futures-executor-dev librust-futures-io-dev librust-futures-lite-dev 88s librust-futures-macro-dev librust-futures-sink-dev librust-futures-task-dev 88s librust-futures-util-dev librust-generic-array-dev librust-geo-types-dev 88s librust-getrandom-dev librust-ghost-dev librust-gif-dev librust-gimli-dev 88s librust-half-dev librust-hashbrown-dev librust-heck-dev librust-hmac-dev 88s librust-humantime-dev librust-iana-time-zone-dev librust-image-dev 88s librust-indenter-dev librust-indexmap-dev librust-indoc-dev 88s librust-inventory-dev librust-is-terminal-dev librust-itertools-dev 88s librust-itoa-dev librust-jobserver-dev librust-jpeg-decoder-dev 88s librust-js-sys-dev librust-kv-log-macro-dev librust-lazy-static-dev 88s librust-libc-dev librust-libloading-dev librust-libm-dev 88s librust-libwebp-sys-dev librust-libz-sys-dev librust-linux-raw-sys-dev 88s librust-lock-api-dev librust-log-dev librust-md-5-dev librust-md5-asm-dev 88s librust-memchr-dev librust-memmap2-dev librust-memoffset-dev 88s librust-miniz-oxide-dev librust-mio-dev librust-no-panic-dev 88s librust-num-bigint-dev librust-num-complex-dev librust-num-conv-dev 88s librust-num-cpus-dev librust-num-integer-dev librust-num-rational-dev 88s librust-num-threads-dev librust-num-traits-dev librust-object-dev 88s librust-once-cell-dev librust-oorandom-dev librust-owned-ttf-parser-dev 88s librust-owning-ref-dev librust-parking-dev librust-parking-lot-core-dev 88s librust-parking-lot-dev librust-parse-zoneinfo-dev 88s librust-pathfinder-geometry-dev librust-pathfinder-simd-dev 88s librust-phf+uncased-dev librust-phf-codegen-dev librust-phf-dev 88s librust-phf-generator-dev librust-phf-shared+uncased-dev 88s librust-phf-shared-dev librust-pin-project-lite-dev librust-pin-utils-dev 88s librust-pkg-config-dev librust-plotters-backend-dev 88s librust-plotters-bitmap-dev librust-plotters-dev librust-plotters-svg-dev 88s librust-png-dev librust-polling-dev librust-portable-atomic-dev 88s librust-postgres-derive-dev librust-postgres-protocol-dev 88s librust-postgres-types-dev librust-powerfmt-dev librust-powerfmt-macros-dev 88s librust-ppv-lite86-dev librust-proc-macro2-dev librust-proptest-dev 88s librust-ptr-meta-derive-dev librust-ptr-meta-dev 88s librust-pure-rust-locales-dev librust-pyo3-build-config-dev librust-pyo3-dev 88s librust-pyo3-ffi-dev librust-pyo3-macros-backend-dev librust-pyo3-macros-dev 88s librust-python3-dll-a-dev librust-qoi-dev librust-quick-error-dev 88s librust-quickcheck-dev librust-quote-dev librust-radium-dev 88s librust-rand-chacha-dev librust-rand-core+getrandom-dev 88s librust-rand-core+serde-dev librust-rand-core+std-dev librust-rand-core-dev 88s librust-rand-dev librust-rand-xorshift-dev librust-rayon-core-dev 88s librust-rayon-dev librust-regex-automata-dev librust-regex-dev 88s librust-regex-syntax-dev librust-rend-dev librust-rkyv-derive-dev 88s librust-rkyv-dev librust-rust-decimal-dev librust-rustc-demangle-dev 88s librust-rustc-hash-dev librust-rustc-std-workspace-core-dev 88s librust-rustc-version-dev librust-rustix-dev 88s librust-rusty-fork+wait-timeout-dev librust-rusty-fork-dev 88s librust-ruzstd-dev librust-ryu-dev librust-same-file-dev 88s librust-scopeguard-dev librust-seahash-dev librust-semver-dev 88s librust-serde-derive-dev librust-serde-dev librust-serde-fmt-dev 88s librust-serde-json-dev librust-serde-test-dev librust-sha1-asm-dev 88s librust-sha1-dev librust-sha2-asm-dev librust-sha2-dev librust-shlex-dev 88s librust-signal-hook-registry-dev librust-simdutf8-dev librust-siphasher-dev 88s librust-slab-dev librust-slog-dev librust-smallvec-dev librust-smol-dev 88s librust-smol-str-dev librust-socket2-dev librust-spin-dev 88s librust-stable-deref-trait-dev librust-static-assertions-dev 88s librust-stringprep-dev librust-strsim-dev librust-subtle-dev 88s librust-sval-buffer-dev librust-sval-derive-dev librust-sval-dev 88s librust-sval-dynamic-dev librust-sval-fmt-dev librust-sval-ref-dev 88s librust-sval-serde-dev librust-syn-1-dev librust-syn-dev librust-tap-dev 88s librust-target-lexicon-dev librust-tempfile-dev librust-termcolor-dev 88s librust-terminal-size-dev librust-tiff-dev librust-time-core-dev 88s librust-time-dev librust-time-macros-dev librust-tiny-keccak-dev 88s librust-tinytemplate-dev librust-tinyvec+tinyvec-macros-dev 88s librust-tinyvec-dev librust-tinyvec-macros-dev librust-tokio-dev 88s librust-tokio-macros-dev librust-tracing-attributes-dev 88s librust-tracing-core-dev librust-tracing-dev librust-traitobject-dev 88s librust-ttf-parser-dev librust-twox-hash-dev librust-typemap-dev 88s librust-typenum-dev librust-unarray-dev librust-uncased-dev 88s librust-unicase-dev librust-unicode-bidi-dev librust-unicode-ident-dev 88s librust-unicode-normalization-dev librust-unicode-segmentation-dev 88s librust-unicode-width-dev librust-unindent-dev librust-unsafe-any-dev 88s librust-utf8parse-dev librust-uuid-dev librust-valuable-derive-dev 88s librust-valuable-dev librust-value-bag-dev librust-value-bag-serde1-dev 88s librust-value-bag-sval2-dev librust-version-check-dev 88s librust-wait-timeout-dev librust-walkdir-dev 88s librust-wasm-bindgen+default-dev librust-wasm-bindgen+spans-dev 88s librust-wasm-bindgen-backend-dev librust-wasm-bindgen-dev 88s librust-wasm-bindgen-macro+spans-dev librust-wasm-bindgen-macro-dev 88s librust-wasm-bindgen-macro-support+spans-dev 88s librust-wasm-bindgen-macro-support-dev librust-wasm-bindgen-shared-dev 88s librust-web-sys-dev librust-webp-dev librust-weezl-dev librust-winapi-dev 88s librust-winapi-i686-pc-windows-gnu-dev librust-winapi-util-dev 88s librust-winapi-x86-64-pc-windows-gnu-dev librust-wyz-dev 88s librust-yeslogic-fontconfig-sys-dev librust-zerocopy-derive-dev 88s librust-zerocopy-dev librust-zeroize-derive-dev librust-zeroize-dev 88s libsharpyuv-dev libsharpyuv0 libstd-rust-1.80 libstd-rust-1.80-dev 88s libstdc++-14-dev libtool libubsan1 libwebp-dev libwebp7 libwebpdecoder3 88s libwebpdemux2 libwebpmux3 llvm llvm-19 llvm-19-linker-tools llvm-19-runtime 88s llvm-runtime m4 pkg-config pkgconf pkgconf-bin po-debconf 88s pybuild-plugin-autopkgtest pybuild-plugin-pyproject python3-all 88s python3-build python3-dateutil python3-hypothesis python3-iniconfig 88s python3-installer python3-packaging python3-pluggy python3-pyproject-hooks 88s python3-pytest python3-regex python3-semantic-version 88s python3-setuptools-rust python3-sortedcontainers python3-tiktoken 88s python3-toml python3-wheel python3.12-dev rustc rustc-1.80 uuid-dev 88s zlib1g-dev 88s 0 upgraded, 465 newly installed, 0 to remove and 0 not upgraded. 88s Need to get 216 MB/216 MB of archives. 88s After this operation, 925 MB of additional disk space will be used. 88s Get:1 /tmp/autopkgtest.IaXJxI/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [860 B] 88s Get:2 http://ftpmaster.internal/ubuntu plucky/main s390x m4 s390x 1.4.19-4build1 [256 kB] 89s Get:3 http://ftpmaster.internal/ubuntu plucky/main s390x autoconf all 2.72-3 [382 kB] 89s Get:4 http://ftpmaster.internal/ubuntu plucky/main s390x autotools-dev all 20220109.1 [44.9 kB] 89s Get:5 http://ftpmaster.internal/ubuntu plucky/main s390x automake all 1:1.16.5-1.3ubuntu1 [558 kB] 89s Get:6 http://ftpmaster.internal/ubuntu plucky/main s390x autopoint all 0.22.5-2 [616 kB] 89s Get:7 http://ftpmaster.internal/ubuntu plucky/main s390x libisl23 s390x 0.27-1 [704 kB] 89s Get:8 http://ftpmaster.internal/ubuntu plucky/main s390x libmpc3 s390x 1.3.1-1build2 [57.8 kB] 89s Get:9 http://ftpmaster.internal/ubuntu plucky/main s390x cpp-14-s390x-linux-gnu s390x 14.2.0-8ubuntu1 [9570 kB] 89s Get:10 http://ftpmaster.internal/ubuntu plucky/main s390x cpp-14 s390x 14.2.0-8ubuntu1 [1026 B] 89s Get:11 http://ftpmaster.internal/ubuntu plucky/main s390x cpp-s390x-linux-gnu s390x 4:14.1.0-2ubuntu1 [5452 B] 89s Get:12 http://ftpmaster.internal/ubuntu plucky/main s390x cpp s390x 4:14.1.0-2ubuntu1 [22.4 kB] 89s Get:13 http://ftpmaster.internal/ubuntu plucky/main s390x libcc1-0 s390x 14.2.0-8ubuntu1 [50.6 kB] 89s Get:14 http://ftpmaster.internal/ubuntu plucky/main s390x libgomp1 s390x 14.2.0-8ubuntu1 [151 kB] 90s Get:15 http://ftpmaster.internal/ubuntu plucky/main s390x libitm1 s390x 14.2.0-8ubuntu1 [30.9 kB] 90s Get:16 http://ftpmaster.internal/ubuntu plucky/main s390x libasan8 s390x 14.2.0-8ubuntu1 [2963 kB] 90s Get:17 http://ftpmaster.internal/ubuntu plucky/main s390x libubsan1 s390x 14.2.0-8ubuntu1 [1184 kB] 90s Get:18 http://ftpmaster.internal/ubuntu plucky/main s390x libgcc-14-dev s390x 14.2.0-8ubuntu1 [1037 kB] 90s Get:19 http://ftpmaster.internal/ubuntu plucky/main s390x gcc-14-s390x-linux-gnu s390x 14.2.0-8ubuntu1 [18.7 MB] 91s Get:20 http://ftpmaster.internal/ubuntu plucky/main s390x gcc-14 s390x 14.2.0-8ubuntu1 [518 kB] 91s Get:21 http://ftpmaster.internal/ubuntu plucky/main s390x gcc-s390x-linux-gnu s390x 4:14.1.0-2ubuntu1 [1204 B] 91s Get:22 http://ftpmaster.internal/ubuntu plucky/main s390x gcc s390x 4:14.1.0-2ubuntu1 [4996 B] 91s Get:23 http://ftpmaster.internal/ubuntu plucky/main s390x libstdc++-14-dev s390x 14.2.0-8ubuntu1 [2608 kB] 91s Get:24 http://ftpmaster.internal/ubuntu plucky/main s390x g++-14-s390x-linux-gnu s390x 14.2.0-8ubuntu1 [11.0 MB] 91s Get:25 http://ftpmaster.internal/ubuntu plucky/main s390x g++-14 s390x 14.2.0-8ubuntu1 [19.9 kB] 91s Get:26 http://ftpmaster.internal/ubuntu plucky/main s390x g++-s390x-linux-gnu s390x 4:14.1.0-2ubuntu1 [956 B] 91s Get:27 http://ftpmaster.internal/ubuntu plucky/main s390x g++ s390x 4:14.1.0-2ubuntu1 [1076 B] 91s Get:28 http://ftpmaster.internal/ubuntu plucky/main s390x build-essential s390x 12.10ubuntu1 [4930 B] 91s Get:29 http://ftpmaster.internal/ubuntu plucky/main s390x libhttp-parser2.9 s390x 2.9.4-6build1 [24.7 kB] 91s Get:30 http://ftpmaster.internal/ubuntu plucky/main s390x libgit2-1.7 s390x 1.7.2+ds-1ubuntu3 [553 kB] 91s Get:31 http://ftpmaster.internal/ubuntu plucky/main s390x libstd-rust-1.80 s390x 1.80.1+dfsg0ubuntu1-0ubuntu1 [26.1 MB] 93s Get:32 http://ftpmaster.internal/ubuntu plucky/main s390x libstd-rust-1.80-dev s390x 1.80.1+dfsg0ubuntu1-0ubuntu1 [43.6 MB] 95s Get:33 http://ftpmaster.internal/ubuntu plucky/main s390x rustc-1.80 s390x 1.80.1+dfsg0ubuntu1-0ubuntu1 [3730 kB] 95s Get:34 http://ftpmaster.internal/ubuntu plucky/main s390x cargo-1.80 s390x 1.80.1+dfsg0ubuntu1-0ubuntu1 [6792 kB] 96s Get:35 http://ftpmaster.internal/ubuntu plucky/main s390x libjsoncpp25 s390x 1.9.5-6build1 [82.5 kB] 96s Get:36 http://ftpmaster.internal/ubuntu plucky/main s390x librhash0 s390x 1.4.3-3build1 [133 kB] 96s Get:37 http://ftpmaster.internal/ubuntu plucky/main s390x cmake-data all 3.30.3-1 [2246 kB] 96s Get:38 http://ftpmaster.internal/ubuntu plucky/main s390x cmake s390x 3.30.3-1 [12.3 MB] 97s Get:39 http://ftpmaster.internal/ubuntu plucky/main s390x libdebhelper-perl all 13.20ubuntu1 [94.2 kB] 97s Get:40 http://ftpmaster.internal/ubuntu plucky/main s390x libtool all 2.4.7-8 [166 kB] 97s Get:41 http://ftpmaster.internal/ubuntu plucky/main s390x dh-autoreconf all 20 [16.1 kB] 97s Get:42 http://ftpmaster.internal/ubuntu plucky/main s390x libarchive-zip-perl all 1.68-1 [90.2 kB] 97s Get:43 http://ftpmaster.internal/ubuntu plucky/main s390x libfile-stripnondeterminism-perl all 1.14.0-1 [20.1 kB] 97s Get:44 http://ftpmaster.internal/ubuntu plucky/main s390x dh-strip-nondeterminism all 1.14.0-1 [5058 B] 97s Get:45 http://ftpmaster.internal/ubuntu plucky/main s390x debugedit s390x 1:5.1-1 [49.9 kB] 97s Get:46 http://ftpmaster.internal/ubuntu plucky/main s390x dwz s390x 0.15-1build6 [122 kB] 97s Get:47 http://ftpmaster.internal/ubuntu plucky/main s390x gettext s390x 0.22.5-2 [996 kB] 97s Get:48 http://ftpmaster.internal/ubuntu plucky/main s390x intltool-debian all 0.35.0+20060710.6 [23.2 kB] 97s Get:49 http://ftpmaster.internal/ubuntu plucky/main s390x po-debconf all 1.0.21+nmu1 [233 kB] 97s Get:50 http://ftpmaster.internal/ubuntu plucky/main s390x debhelper all 13.20ubuntu1 [893 kB] 97s Get:51 http://ftpmaster.internal/ubuntu plucky/universe s390x dh-python all 6.20241024 [112 kB] 97s Get:52 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-dejavu-mono all 2.37-8 [502 kB] 97s Get:53 http://ftpmaster.internal/ubuntu plucky/main s390x fonts-dejavu-core all 2.37-8 [835 kB] 97s Get:54 http://ftpmaster.internal/ubuntu plucky/main s390x fontconfig-config s390x 2.15.0-1.1ubuntu2 [37.4 kB] 97s Get:55 http://ftpmaster.internal/ubuntu plucky/main s390x libbrotli-dev s390x 1.1.0-2build3 [395 kB] 97s Get:56 http://ftpmaster.internal/ubuntu plucky/main s390x libbz2-dev s390x 1.0.8-6 [39.1 kB] 97s Get:57 http://ftpmaster.internal/ubuntu plucky/main s390x libexpat1-dev s390x 2.6.4-1 [146 kB] 97s Get:58 http://ftpmaster.internal/ubuntu plucky/main s390x libfreetype6 s390x 2.13.3+dfsg-1 [431 kB] 97s Get:59 http://ftpmaster.internal/ubuntu plucky/main s390x libfontconfig1 s390x 2.15.0-1.1ubuntu2 [150 kB] 97s Get:60 http://ftpmaster.internal/ubuntu plucky/main s390x zlib1g-dev s390x 1:1.3.dfsg+really1.3.1-1ubuntu1 [898 kB] 97s Get:61 http://ftpmaster.internal/ubuntu plucky/main s390x libpng-dev s390x 1.6.44-2 [279 kB] 97s Get:62 http://ftpmaster.internal/ubuntu plucky/main s390x libfreetype-dev s390x 2.13.3+dfsg-1 [605 kB] 97s Get:63 http://ftpmaster.internal/ubuntu plucky/main s390x uuid-dev s390x 2.40.2-1ubuntu1 [52.4 kB] 97s Get:64 http://ftpmaster.internal/ubuntu plucky/main s390x libpkgconf3 s390x 1.8.1-4 [31.2 kB] 97s Get:65 http://ftpmaster.internal/ubuntu plucky/main s390x pkgconf-bin s390x 1.8.1-4 [21.5 kB] 97s Get:66 http://ftpmaster.internal/ubuntu plucky/main s390x pkgconf s390x 1.8.1-4 [16.7 kB] 97s Get:67 http://ftpmaster.internal/ubuntu plucky/main s390x libfontconfig-dev s390x 2.15.0-1.1ubuntu2 [172 kB] 97s Get:68 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3.12-dev s390x 3.12.7-3 [5838 kB] 97s Get:69 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3-dev s390x 3.12.6-0ubuntu1 [10.2 kB] 97s Get:70 http://ftpmaster.internal/ubuntu plucky/main s390x libpython3-all-dev s390x 3.12.6-0ubuntu1 [918 B] 97s Get:71 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ab-glyph-rasterizer-dev s390x 0.1.7-1 [12.2 kB] 97s Get:72 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-libm-dev s390x 0.2.8-1 [101 kB] 97s Get:73 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ab-glyph-rasterizer+libm-dev s390x 0.1.7-1 [1064 B] 97s Get:74 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-core-maths-dev s390x 0.1.0-2 [7948 B] 97s Get:75 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ttf-parser-dev s390x 0.24.1-1 [148 kB] 97s Get:76 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-owned-ttf-parser-dev s390x 0.24.0-1 [129 kB] 97s Get:77 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ab-glyph-dev s390x 0.2.28-1 [20.7 kB] 97s Get:78 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-cfg-if-dev s390x 1.0.0-1 [10.5 kB] 97s Get:79 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-cpp-demangle-dev s390x 0.4.0-1 [66.1 kB] 97s Get:80 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-fallible-iterator-dev s390x 0.3.0-2 [20.3 kB] 97s Get:81 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-unicode-ident-dev s390x 1.0.13-1 [38.5 kB] 97s Get:82 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-proc-macro2-dev s390x 1.0.86-1 [44.8 kB] 97s Get:83 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-quote-dev s390x 1.0.37-1 [29.5 kB] 97s Get:84 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-syn-dev s390x 2.0.85-1 [219 kB] 97s Get:85 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-derive-arbitrary-dev s390x 1.3.2-1 [12.3 kB] 97s Get:86 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-arbitrary-dev s390x 1.3.2-1 [31.4 kB] 97s Get:87 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-equivalent-dev s390x 1.0.1-1 [8240 B] 97s Get:88 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-critical-section-dev s390x 1.1.3-1 [20.5 kB] 97s Get:89 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-serde-derive-dev s390x 1.0.210-1 [50.1 kB] 97s Get:90 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-serde-dev s390x 1.0.210-2 [66.4 kB] 97s Get:91 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-portable-atomic-dev s390x 1.9.0-4 [124 kB] 97s Get:92 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rustc-std-workspace-core-dev s390x 1.0.0-1 [3020 B] 97s Get:93 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-libc-dev s390x 0.2.161-1 [379 kB] 97s Get:94 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-getrandom-dev s390x 0.2.12-1 [36.4 kB] 97s Get:95 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-smallvec-dev s390x 1.13.2-1 [35.5 kB] 98s Get:96 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-parking-lot-core-dev s390x 0.9.10-1 [32.6 kB] 98s Get:97 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-once-cell-dev s390x 1.20.2-1 [31.9 kB] 98s Get:98 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-crunchy-dev s390x 0.2.2-1 [5340 B] 98s Get:99 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tiny-keccak-dev s390x 2.0.2-1 [20.9 kB] 98s Get:100 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-const-random-macro-dev s390x 0.1.16-2 [10.5 kB] 98s Get:101 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-const-random-dev s390x 0.1.17-2 [8590 B] 98s Get:102 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-version-check-dev s390x 0.9.5-1 [16.9 kB] 98s Get:103 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-byteorder-dev s390x 1.5.0-1 [22.4 kB] 98s Get:104 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-zerocopy-derive-dev s390x 0.7.32-2 [29.7 kB] 98s Get:105 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-zerocopy-dev s390x 0.7.32-1 [116 kB] 98s Get:106 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ahash-dev all 0.8.11-8 [37.9 kB] 98s Get:107 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-allocator-api2-dev s390x 0.2.16-1 [54.8 kB] 98s Get:108 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-compiler-builtins-dev s390x 0.1.101-1 [156 kB] 98s Get:109 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-either-dev s390x 1.13.0-1 [20.2 kB] 98s Get:110 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-crossbeam-utils-dev s390x 0.8.19-1 [41.1 kB] 98s Get:111 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-crossbeam-epoch-dev s390x 0.9.18-1 [42.3 kB] 98s Get:112 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-crossbeam-epoch+std-dev s390x 0.9.18-1 [1128 B] 98s Get:113 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-crossbeam-deque-dev s390x 0.8.5-1 [22.4 kB] 98s Get:114 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rayon-core-dev s390x 1.12.1-1 [63.7 kB] 98s Get:115 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rayon-dev s390x 1.10.0-1 [149 kB] 98s Get:116 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-hashbrown-dev s390x 0.14.5-5 [110 kB] 98s Get:117 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-indexmap-dev s390x 2.2.6-1 [66.7 kB] 98s Get:118 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-stable-deref-trait-dev s390x 1.2.0-1 [9794 B] 98s Get:119 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-gimli-dev s390x 0.28.1-2 [209 kB] 98s Get:120 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-memmap2-dev s390x 0.9.3-1 [30.8 kB] 98s Get:121 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-crc32fast-dev s390x 1.4.2-1 [39.8 kB] 98s Get:122 http://ftpmaster.internal/ubuntu plucky/main s390x pkg-config s390x 1.8.1-4 [7362 B] 98s Get:123 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-pkg-config-dev s390x 0.3.27-1 [21.5 kB] 98s Get:124 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-libz-sys-dev s390x 1.1.20-1 [19.7 kB] 98s Get:125 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-adler-dev s390x 1.0.2-2 [15.3 kB] 98s Get:126 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-miniz-oxide-dev s390x 0.7.1-1 [51.5 kB] 98s Get:127 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-flate2-dev s390x 1.0.34-1 [94.5 kB] 98s Get:128 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-sval-derive-dev s390x 2.6.1-2 [11.0 kB] 98s Get:129 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-sval-dev s390x 2.6.1-2 [28.0 kB] 98s Get:130 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-sval-ref-dev s390x 2.6.1-1 [8942 B] 98s Get:131 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-erased-serde-dev s390x 0.3.31-1 [22.7 kB] 98s Get:132 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-serde-fmt-dev all 1.0.3-3 [6956 B] 98s Get:133 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-syn-1-dev s390x 1.0.109-2 [188 kB] 98s Get:134 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-no-panic-dev s390x 0.1.13-1 [11.3 kB] 98s Get:135 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-itoa-dev s390x 1.0.9-1 [13.1 kB] 98s Get:136 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ryu-dev s390x 1.0.15-1 [41.7 kB] 98s Get:137 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-serde-json-dev s390x 1.0.128-1 [128 kB] 99s Get:138 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-serde-test-dev s390x 1.0.171-1 [20.6 kB] 99s Get:139 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-value-bag-serde1-dev s390x 1.9.0-1 [7820 B] 99s Get:140 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-sval-buffer-dev s390x 2.6.1-1 [16.8 kB] 99s Get:141 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-sval-dynamic-dev s390x 2.6.1-1 [9542 B] 99s Get:142 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-sval-fmt-dev s390x 2.6.1-1 [12.0 kB] 99s Get:143 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-sval-serde-dev s390x 2.6.1-1 [13.2 kB] 99s Get:144 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-value-bag-sval2-dev s390x 1.9.0-1 [7862 B] 99s Get:145 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-value-bag-dev s390x 1.9.0-1 [37.6 kB] 99s Get:146 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-log-dev s390x 0.4.22-1 [43.0 kB] 99s Get:147 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-memchr-dev s390x 2.7.4-1 [71.8 kB] 99s Get:148 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ppv-lite86-dev s390x 0.2.16-1 [21.9 kB] 99s Get:149 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rand-core-dev s390x 0.6.4-2 [23.8 kB] 99s Get:150 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rand-chacha-dev s390x 0.3.1-2 [16.9 kB] 99s Get:151 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rand-core+getrandom-dev s390x 0.6.4-2 [1054 B] 99s Get:152 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rand-core+serde-dev s390x 0.6.4-2 [1108 B] 99s Get:153 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rand-core+std-dev s390x 0.6.4-2 [1052 B] 99s Get:154 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rand-dev s390x 0.8.5-1 [77.5 kB] 99s Get:155 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-unicode-segmentation-dev s390x 1.11.0-1 [74.2 kB] 99s Get:156 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-convert-case-dev s390x 0.6.0-2 [19.4 kB] 99s Get:157 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-semver-dev s390x 1.0.23-1 [30.6 kB] 99s Get:158 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rustc-version-dev s390x 0.4.0-1 [13.8 kB] 99s Get:159 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-derive-more-dev s390x 0.99.17-1 [50.0 kB] 99s Get:160 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-cfg-if-0.1-dev s390x 0.1.10-2 [10.2 kB] 99s Get:161 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-blobby-dev s390x 0.3.1-1 [11.3 kB] 99s Get:162 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-typenum-dev s390x 1.17.0-2 [41.2 kB] 99s Get:163 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-zeroize-derive-dev s390x 1.4.2-1 [12.7 kB] 99s Get:164 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-zeroize-dev s390x 1.8.1-1 [21.6 kB] 99s Get:165 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-generic-array-dev s390x 0.14.7-1 [16.9 kB] 99s Get:166 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-block-buffer-dev s390x 0.10.2-2 [12.2 kB] 99s Get:167 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-const-oid-dev s390x 0.9.3-1 [40.9 kB] 99s Get:168 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-crypto-common-dev s390x 0.1.6-1 [10.5 kB] 99s Get:169 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-subtle-dev s390x 2.6.1-1 [16.1 kB] 99s Get:170 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-digest-dev s390x 0.10.7-2 [20.9 kB] 99s Get:171 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-static-assertions-dev s390x 1.1.0-1 [19.0 kB] 99s Get:172 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-twox-hash-dev s390x 1.6.3-1 [21.6 kB] 99s Get:173 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ruzstd-dev s390x 0.5.0-1 [44.6 kB] 99s Get:174 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-object-dev s390x 0.32.2-1 [228 kB] 99s Get:175 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rustc-demangle-dev s390x 0.1.21-1 [27.7 kB] 99s Get:176 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-addr2line-dev s390x 0.21.0-2 [36.4 kB] 99s Get:177 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-aho-corasick-dev s390x 1.1.3-1 [146 kB] 99s Get:178 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bitflags-1-dev s390x 1.3.2-5 [25.3 kB] 99s Get:179 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-anes-dev s390x 0.1.6-1 [21.1 kB] 99s Get:180 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-anstyle-dev s390x 1.0.8-1 [16.7 kB] 99s Get:181 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-arrayvec-dev s390x 0.7.4-2 [29.9 kB] 99s Get:182 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-utf8parse-dev s390x 0.2.1-1 [15.0 kB] 99s Get:183 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-anstyle-parse-dev s390x 0.2.1-1 [17.1 kB] 99s Get:184 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-anstyle-query-dev s390x 1.0.0-1 [9768 B] 99s Get:185 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-colorchoice-dev s390x 1.0.0-1 [8338 B] 99s Get:186 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-anstream-dev s390x 0.6.15-1 [25.7 kB] 99s Get:187 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-jobserver-dev s390x 0.1.32-1 [29.1 kB] 99s Get:188 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-shlex-dev s390x 1.3.0-1 [20.1 kB] 99s Get:189 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-cc-dev s390x 1.1.14-1 [73.6 kB] 99s Get:190 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-backtrace-dev s390x 0.3.69-2 [69.9 kB] 99s Get:191 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-anyhow-dev s390x 1.0.86-1 [44.3 kB] 99s Get:192 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bytecheck-derive-dev s390x 0.6.12-1 [7086 B] 99s Get:193 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ptr-meta-derive-dev s390x 0.1.4-1 [3964 B] 99s Get:194 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ptr-meta-dev s390x 0.1.4-1 [7344 B] 99s Get:195 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-simdutf8-dev s390x 0.1.4-4 [27.2 kB] 99s Get:196 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bytemuck-derive-dev s390x 1.5.0-2 [18.7 kB] 99s Get:197 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bytemuck-dev s390x 1.14.0-1 [42.7 kB] 99s Get:198 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-atomic-dev s390x 0.6.0-1 [15.5 kB] 99s Get:199 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-md5-asm-dev s390x 0.5.0-2 [7516 B] 99s Get:200 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-md-5-dev s390x 0.10.6-1 [17.5 kB] 99s Get:201 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-cpufeatures-dev s390x 0.2.11-1 [14.9 kB] 99s Get:202 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-sha1-asm-dev s390x 0.5.1-2 [8060 B] 99s Get:203 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-sha1-dev s390x 0.10.6-1 [16.0 kB] 100s Get:204 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-slog-dev s390x 2.7.0-1 [44.0 kB] 100s Get:205 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-uuid-dev s390x 1.10.0-1 [44.2 kB] 100s Get:206 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bytecheck-dev s390x 0.6.12-1 [10.2 kB] 100s Get:207 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-autocfg-dev s390x 1.1.0-1 [15.2 kB] 100s Get:208 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-num-traits-dev s390x 0.2.19-2 [46.2 kB] 100s Get:209 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-funty-dev s390x 2.0.0-1 [13.8 kB] 100s Get:210 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-radium-dev s390x 1.1.0-1 [14.9 kB] 100s Get:211 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tap-dev s390x 1.0.1-1 [12.7 kB] 100s Get:212 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-traitobject-dev s390x 0.1.0-1 [4540 B] 100s Get:213 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-unsafe-any-dev s390x 0.4.2-2 [4626 B] 100s Get:214 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-typemap-dev s390x 0.3.3-2 [6724 B] 100s Get:215 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-wyz-dev s390x 0.5.1-1 [19.7 kB] 100s Get:216 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bitvec-dev s390x 1.0.1-1 [179 kB] 100s Get:217 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bytes-dev s390x 1.8.0-1 [56.9 kB] 100s Get:218 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rend-dev s390x 0.4.0-1 [10.3 kB] 100s Get:219 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rkyv-derive-dev s390x 0.7.44-1 [17.5 kB] 100s Get:220 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-seahash-dev s390x 4.1.0-1 [25.1 kB] 100s Get:221 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-smol-str-dev s390x 0.2.0-1 [15.2 kB] 100s Get:222 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tinyvec-dev s390x 1.6.0-2 [37.7 kB] 100s Get:223 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tinyvec-macros-dev s390x 0.1.0-1 [3852 B] 100s Get:224 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tinyvec+tinyvec-macros-dev s390x 1.6.0-2 [1126 B] 100s Get:225 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rkyv-dev s390x 0.7.44-1 [94.4 kB] 100s Get:226 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-num-complex-dev s390x 0.4.6-2 [30.8 kB] 100s Get:227 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-approx-dev s390x 0.5.1-1 [16.0 kB] 100s Get:228 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-array-init-dev s390x 2.0.1-1 [12.3 kB] 100s Get:229 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-async-attributes-dev all 1.1.2-6 [6756 B] 100s Get:230 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-concurrent-queue-dev s390x 2.5.0-4 [23.9 kB] 100s Get:231 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-parking-dev s390x 2.2.0-1 [11.6 kB] 100s Get:232 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-pin-project-lite-dev s390x 0.2.13-1 [30.2 kB] 100s Get:233 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-event-listener-dev all 5.3.1-8 [29.6 kB] 100s Get:234 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-event-listener-strategy-dev s390x 0.5.2-3 [12.6 kB] 100s Get:235 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-futures-core-dev s390x 0.3.30-1 [16.7 kB] 100s Get:236 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-async-channel-dev all 2.3.1-8 [13.1 kB] 100s Get:237 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-async-task-dev all 4.7.1-3 [29.4 kB] 100s Get:238 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-fastrand-dev s390x 2.1.1-1 [17.8 kB] 100s Get:239 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-futures-io-dev s390x 0.3.31-1 [11.2 kB] 100s Get:240 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-futures-lite-dev s390x 2.3.0-2 [38.6 kB] 100s Get:241 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-slab-dev s390x 0.4.9-1 [21.2 kB] 100s Get:242 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-async-executor-dev all 1.13.1-1 [18.7 kB] 100s Get:243 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-async-lock-dev all 3.4.0-4 [29.3 kB] 100s Get:244 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-atomic-waker-dev s390x 1.1.2-1 [14.3 kB] 100s Get:245 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tracing-attributes-dev s390x 0.1.27-1 [33.3 kB] 100s Get:246 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-valuable-derive-dev s390x 0.1.0-1 [5942 B] 100s Get:247 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-valuable-dev s390x 0.1.0-4 [23.5 kB] 100s Get:248 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tracing-core-dev s390x 0.1.32-1 [53.8 kB] 100s Get:249 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tracing-dev s390x 0.1.40-1 [69.5 kB] 100s Get:250 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-blocking-dev all 1.6.1-5 [17.5 kB] 100s Get:251 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-async-fs-dev all 2.1.2-4 [15.3 kB] 100s Get:252 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bitflags-dev s390x 2.6.0-1 [41.1 kB] 100s Get:253 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-compiler-builtins+core-dev s390x 0.1.101-1 [1092 B] 100s Get:254 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-compiler-builtins+rustc-dep-of-std-dev s390x 0.1.101-1 [1104 B] 100s Get:255 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-errno-dev s390x 0.3.8-1 [13.0 kB] 100s Get:256 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-linux-raw-sys-dev s390x 0.4.14-1 [138 kB] 100s Get:257 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rustix-dev s390x 0.38.32-1 [274 kB] 100s Get:258 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-polling-dev s390x 3.4.0-1 [47.8 kB] 100s Get:259 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-async-io-dev s390x 2.3.3-4 [41.0 kB] 101s Get:260 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-mio-dev s390x 1.0.2-2 [87.6 kB] 101s Get:261 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-owning-ref-dev s390x 0.4.1-1 [13.7 kB] 101s Get:262 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-scopeguard-dev s390x 1.2.0-1 [13.3 kB] 101s Get:263 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-lock-api-dev s390x 0.4.12-1 [22.9 kB] 101s Get:264 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-parking-lot-dev s390x 0.12.3-1 [38.7 kB] 101s Get:265 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-signal-hook-registry-dev s390x 1.4.0-1 [19.2 kB] 101s Get:266 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-socket2-dev s390x 0.5.7-1 [48.3 kB] 101s Get:267 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tokio-macros-dev s390x 2.4.0-2 [14.0 kB] 101s Get:268 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tokio-dev s390x 1.39.3-3 [561 kB] 101s Get:269 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-async-global-executor-dev s390x 2.4.1-5 [14.6 kB] 101s Get:270 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-async-net-dev all 2.0.0-4 [14.6 kB] 101s Get:271 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-async-signal-dev s390x 0.2.10-1 [16.0 kB] 101s Get:272 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-async-process-dev all 2.3.0-1 [21.2 kB] 101s Get:273 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-kv-log-macro-dev all 1.0.8-4 [7290 B] 101s Get:274 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-pin-utils-dev s390x 0.1.0-1 [9340 B] 101s Get:275 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-async-std-dev all 1.13.0-1 [170 kB] 101s Get:276 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-base64-dev s390x 0.21.7-1 [65.1 kB] 101s Get:277 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bit-vec-dev s390x 0.6.3-1 [21.1 kB] 101s Get:278 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bit-set-dev s390x 0.5.2-1 [15.7 kB] 101s Get:279 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bit-set+std-dev s390x 0.5.2-1 [1086 B] 101s Get:280 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-regex-syntax-dev s390x 0.8.2-1 [200 kB] 101s Get:281 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-regex-automata-dev s390x 0.4.7-1 [424 kB] 101s Get:282 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bstr-dev s390x 1.7.0-2build1 [271 kB] 101s Get:283 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-bumpalo-dev s390x 3.16.0-1 [75.7 kB] 101s Get:284 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-cast-dev s390x 0.3.0-1 [13.1 kB] 101s Get:285 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-iana-time-zone-dev s390x 0.1.60-1 [25.1 kB] 101s Get:286 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-wasm-bindgen-shared-dev s390x 0.2.87-1 [9088 B] 101s Get:287 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-wasm-bindgen-backend-dev s390x 0.2.87-1 [27.0 kB] 101s Get:288 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-wasm-bindgen-macro-support-dev s390x 0.2.87-1 [21.2 kB] 101s Get:289 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-wasm-bindgen-macro-dev s390x 0.2.87-1 [16.6 kB] 101s Get:290 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-wasm-bindgen-dev s390x 0.2.87-1 [157 kB] 101s Get:291 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-wasm-bindgen-macro-support+spans-dev s390x 0.2.87-1 [1074 B] 101s Get:292 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-wasm-bindgen-macro+spans-dev s390x 0.2.87-1 [1058 B] 101s Get:293 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-wasm-bindgen+spans-dev s390x 0.2.87-1 [1040 B] 101s Get:294 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-wasm-bindgen+default-dev s390x 0.2.87-1 [1048 B] 101s Get:295 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-js-sys-dev s390x 0.3.64-1 [71.9 kB] 101s Get:296 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-pure-rust-locales-dev s390x 0.8.1-1 [112 kB] 101s Get:297 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-chrono-dev s390x 0.4.38-2 [172 kB] 101s Get:298 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-regex-dev s390x 1.10.6-1 [199 kB] 101s Get:299 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-parse-zoneinfo-dev s390x 0.3.0-1 [71.0 kB] 101s Get:300 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-siphasher-dev s390x 0.3.10-1 [12.0 kB] 101s Get:301 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-phf-shared-dev s390x 0.11.2-1 [15.6 kB] 101s Get:302 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-phf-dev s390x 0.11.2-1 [21.6 kB] 101s Get:303 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-uncased-dev s390x 0.9.6-2 [12.2 kB] 101s Get:304 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-phf-shared+uncased-dev s390x 0.11.2-1 [1030 B] 101s Get:305 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-phf+uncased-dev s390x 0.11.2-1 [1030 B] 101s Get:306 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ciborium-io-dev s390x 0.2.2-1 [8180 B] 101s Get:307 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-half-dev s390x 1.8.2-4 [34.8 kB] 102s Get:308 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ciborium-ll-dev s390x 0.2.2-1 [15.8 kB] 102s Get:309 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ciborium-dev s390x 0.2.2-2 [32.6 kB] 102s Get:310 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-clap-lex-dev s390x 0.7.2-2 [14.3 kB] 102s Get:311 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-strsim-dev s390x 0.11.1-1 [15.9 kB] 102s Get:312 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-terminal-size-dev s390x 0.3.0-2 [12.6 kB] 102s Get:313 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-unicase-dev s390x 2.7.0-1 [19.4 kB] 102s Get:314 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-unicode-width-dev s390x 0.1.14-1 [196 kB] 102s Get:315 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-clap-builder-dev s390x 4.5.15-2 [135 kB] 102s Get:316 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-heck-dev s390x 0.4.1-1 [13.3 kB] 102s Get:317 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-clap-derive-dev s390x 4.5.13-2 [29.3 kB] 102s Get:318 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-clap-dev s390x 4.5.16-1 [52.3 kB] 102s Get:319 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-csv-core-dev s390x 0.1.11-1 [25.9 kB] 102s Get:320 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-csv-dev s390x 1.3.0-1 [729 kB] 102s Get:321 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-futures-sink-dev s390x 0.3.31-1 [10.1 kB] 102s Get:322 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-futures-channel-dev s390x 0.3.30-1 [31.8 kB] 102s Get:323 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-futures-task-dev s390x 0.3.30-1 [13.5 kB] 102s Get:324 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-futures-macro-dev s390x 0.3.30-1 [13.3 kB] 102s Get:325 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-futures-util-dev s390x 0.3.30-2 [127 kB] 102s Get:326 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-num-cpus-dev s390x 1.16.0-1 [18.1 kB] 102s Get:327 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-futures-executor-dev s390x 0.3.30-1 [19.8 kB] 102s Get:328 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-futures-dev s390x 0.3.30-2 [53.2 kB] 102s Get:329 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-is-terminal-dev s390x 0.4.13-1 [8266 B] 102s Get:330 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-itertools-dev s390x 0.10.5-1 [101 kB] 102s Get:331 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-oorandom-dev s390x 11.1.3-1 [11.3 kB] 102s Get:332 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-winapi-i686-pc-windows-gnu-dev s390x 0.4.0-1 [3652 B] 102s Get:333 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-winapi-x86-64-pc-windows-gnu-dev s390x 0.4.0-1 [3660 B] 102s Get:334 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-winapi-dev s390x 0.3.9-1 [953 kB] 102s Get:335 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-dirs-sys-next-dev s390x 0.1.1-1 [12.1 kB] 102s Get:336 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-dirs-next-dev s390x 2.0.0-1 [13.1 kB] 102s Get:337 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-float-ord-dev s390x 0.3.2-1 [9400 B] 102s Get:338 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-cmake-dev s390x 0.1.45-1 [16.0 kB] 102s Get:339 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-freetype-sys-dev s390x 0.13.1-1 [11.8 kB] 102s Get:340 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-freetype-dev s390x 0.7.0-4 [20.4 kB] 102s Get:341 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-spin-dev s390x 0.9.8-4 [33.4 kB] 102s Get:342 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-lazy-static-dev s390x 1.5.0-1 [14.2 kB] 102s Get:343 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-pathfinder-simd-dev s390x 0.5.2-1 [20.1 kB] 102s Get:344 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-pathfinder-geometry-dev s390x 0.5.1-1 [13.2 kB] 102s Get:345 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-winapi-util-dev s390x 0.1.6-1 [14.0 kB] 102s Get:346 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-same-file-dev s390x 1.0.6-1 [11.5 kB] 102s Get:347 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-walkdir-dev s390x 2.5.0-1 [24.5 kB] 102s Get:348 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-const-cstr-dev s390x 0.3.0-1 [9070 B] 102s Get:349 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-libloading-dev s390x 0.8.5-1 [29.2 kB] 102s Get:350 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-dlib-dev s390x 0.5.2-2 [7974 B] 102s Get:351 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-yeslogic-fontconfig-sys-dev s390x 3.0.1-1 [8110 B] 102s Get:352 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-font-kit-dev s390x 0.11.0-2 [56.2 kB] 102s Get:353 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-color-quant-dev s390x 1.1.0-1 [8464 B] 102s Get:354 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-weezl-dev s390x 0.1.5-1 [30.3 kB] 102s Get:355 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-gif-dev s390x 0.11.3-1 [31.9 kB] 102s Get:356 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-jpeg-decoder-dev s390x 0.3.0-1 [717 kB] 102s Get:357 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-num-integer-dev s390x 0.1.46-1 [22.6 kB] 102s Get:358 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-humantime-dev s390x 2.1.0-1 [18.2 kB] 102s Get:359 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-termcolor-dev s390x 1.4.1-1 [19.7 kB] 102s Get:360 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-env-logger-dev s390x 0.10.2-2 [34.4 kB] 102s Get:361 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-quickcheck-dev s390x 1.0.3-3 [27.9 kB] 102s Get:362 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-num-bigint-dev s390x 0.4.6-1 [84.9 kB] 102s Get:363 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-num-rational-dev s390x 0.4.2-1 [28.7 kB] 102s Get:364 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-png-dev s390x 0.17.7-3 [63.4 kB] 102s Get:365 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-qoi-dev s390x 0.4.1-2 [56.7 kB] 103s Get:366 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tiff-dev s390x 0.9.0-1 [1413 kB] 103s Get:367 http://ftpmaster.internal/ubuntu plucky/main s390x libsharpyuv0 s390x 1.4.0-0.1 [16.2 kB] 103s Get:368 http://ftpmaster.internal/ubuntu plucky/main s390x libwebp7 s390x 1.4.0-0.1 [204 kB] 103s Get:369 http://ftpmaster.internal/ubuntu plucky/main s390x libwebpdemux2 s390x 1.4.0-0.1 [12.2 kB] 103s Get:370 http://ftpmaster.internal/ubuntu plucky/main s390x libwebpmux3 s390x 1.4.0-0.1 [25.3 kB] 103s Get:371 http://ftpmaster.internal/ubuntu plucky/main s390x libwebpdecoder3 s390x 1.4.0-0.1 [89.8 kB] 103s Get:372 http://ftpmaster.internal/ubuntu plucky/main s390x libsharpyuv-dev s390x 1.4.0-0.1 [16.9 kB] 103s Get:373 http://ftpmaster.internal/ubuntu plucky/main s390x libwebp-dev s390x 1.4.0-0.1 [335 kB] 103s Get:374 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-libwebp-sys-dev s390x 0.9.5-1build1 [1357 kB] 103s Get:375 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-webp-dev s390x 0.2.6-1 [1846 kB] 103s Get:376 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-image-dev s390x 0.24.7-2 [229 kB] 103s Get:377 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-plotters-backend-dev s390x 0.3.7-1 [15.7 kB] 103s Get:378 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-plotters-bitmap-dev s390x 0.3.3-3 [17.1 kB] 103s Get:379 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-plotters-svg-dev s390x 0.3.5-1 [9260 B] 103s Get:380 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-web-sys-dev s390x 0.3.64-2 [581 kB] 103s Get:381 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-plotters-dev s390x 0.3.5-4 [118 kB] 103s Get:382 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-smol-dev all 2.0.2-1 [205 kB] 103s Get:383 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tinytemplate-dev s390x 1.2.1-1 [26.8 kB] 103s Get:384 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-criterion-dev all 0.5.1-6 [104 kB] 103s Get:385 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-phf-generator-dev s390x 0.11.2-2 [12.3 kB] 103s Get:386 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-phf-codegen-dev s390x 0.11.2-1 [14.3 kB] 103s Get:387 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-chrono-tz-build-dev s390x 0.2.1-1 [12.1 kB] 103s Get:388 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-chrono-tz-dev s390x 0.8.6-2 [513 kB] 103s Get:389 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ctor-dev s390x 0.1.26-1 [12.0 kB] 103s Get:390 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-powerfmt-macros-dev s390x 0.1.0-1 [10.5 kB] 103s Get:391 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-powerfmt-dev s390x 0.2.0-1 [16.5 kB] 103s Get:392 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-deranged-dev s390x 0.3.11-1 [18.4 kB] 103s Get:393 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-eui48-dev s390x 1.1.0-2 [16.1 kB] 103s Get:394 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-indenter-dev s390x 0.3.3-1 [8642 B] 103s Get:395 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-eyre-dev s390x 0.6.12-1 [38.0 kB] 103s Get:396 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-eyre+default-dev s390x 0.6.12-1 [1050 B] 103s Get:397 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-fancy-regex-dev s390x 0.11.0-2 [54.7 kB] 103s Get:398 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-fnv-dev s390x 1.0.7-1 [12.8 kB] 103s Get:399 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-geo-types-dev s390x 0.7.11-2 [32.8 kB] 103s Get:400 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-ghost-dev s390x 0.1.5-1 [16.1 kB] 103s Get:401 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-hmac-dev s390x 0.12.1-1 [43.9 kB] 103s Get:402 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-indoc-dev s390x 2.0.5-1 [16.7 kB] 103s Get:403 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-inventory-dev s390x 0.3.2-1 [13.5 kB] 103s Get:404 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-memoffset-dev s390x 0.8.0-1 [10.9 kB] 103s Get:405 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-num-conv-dev s390x 0.1.0-1 [8990 B] 104s Get:406 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-num-threads-dev s390x 0.1.7-1 [9154 B] 104s Get:407 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-postgres-derive-dev s390x 0.4.5-1 [13.4 kB] 104s Get:408 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-sha2-asm-dev s390x 0.6.2-2 [14.4 kB] 104s Get:409 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-sha2-dev s390x 0.10.8-1 [25.6 kB] 104s Get:410 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-unicode-bidi-dev s390x 0.3.13-1 [39.8 kB] 104s Get:411 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-unicode-normalization-dev s390x 0.1.22-1 [104 kB] 104s Get:412 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-stringprep-dev s390x 0.1.2-1 [16.5 kB] 104s Get:413 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-postgres-protocol-dev s390x 0.6.6-2 [25.9 kB] 104s Get:414 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-time-core-dev s390x 0.1.2-1 [9136 B] 104s Get:415 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-time-macros-dev s390x 0.2.16-1 [25.1 kB] 104s Get:416 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-time-dev s390x 0.3.36-2 [99.4 kB] 104s Get:417 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-postgres-types-dev s390x 0.2.6-2 [30.1 kB] 104s Get:418 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rand-xorshift-dev s390x 0.3.0-2 [10.9 kB] 104s Get:419 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-quick-error-dev s390x 2.0.1-1 [15.6 kB] 104s Get:420 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-tempfile-dev s390x 3.10.1-1 [33.7 kB] 104s Get:421 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rusty-fork-dev s390x 0.3.0-1 [20.4 kB] 104s Get:422 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-wait-timeout-dev s390x 0.2.0-1 [14.1 kB] 104s Get:423 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rusty-fork+wait-timeout-dev s390x 0.3.0-1 [1136 B] 104s Get:424 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-unarray-dev s390x 0.1.4-1 [14.6 kB] 104s Get:425 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-proptest-dev s390x 1.5.0-2 [171 kB] 104s Get:426 http://ftpmaster.internal/ubuntu plucky/universe s390x llvm-19-runtime s390x 1:19.1.2-1ubuntu1 [623 kB] 104s Get:427 http://ftpmaster.internal/ubuntu plucky/universe s390x llvm-runtime s390x 1:19.0-60~exp1 [5608 B] 104s Get:428 http://ftpmaster.internal/ubuntu plucky/universe s390x llvm-19-linker-tools s390x 1:19.1.2-1ubuntu1 [1529 kB] 104s Get:429 http://ftpmaster.internal/ubuntu plucky/universe s390x libpfm4 s390x 4.13.0+git83-g91970fe-1 [37.3 kB] 104s Get:430 http://ftpmaster.internal/ubuntu plucky/universe s390x llvm-19 s390x 1:19.1.2-1ubuntu1 [21.1 MB] 108s Get:431 http://ftpmaster.internal/ubuntu plucky/universe s390x llvm s390x 1:19.0-60~exp1 [4144 B] 108s Get:432 http://ftpmaster.internal/ubuntu plucky/universe s390x binutils-mingw-w64-x86-64 s390x 2.43.1-4ubuntu1+12 [3502 kB] 108s Get:433 http://ftpmaster.internal/ubuntu plucky/universe s390x binutils-mingw-w64-i686 s390x 2.43.1-4ubuntu1+12 [3215 kB] 109s Get:434 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-python3-dll-a-dev s390x 0.2.10-1 [31.6 kB] 109s Get:435 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-target-lexicon-dev s390x 0.12.14-1 [25.1 kB] 109s Get:436 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-pyo3-build-config-dev s390x 0.22.6-1 [30.8 kB] 109s Get:437 http://ftpmaster.internal/ubuntu plucky/main s390x python3.12-dev s390x 3.12.7-3 [505 kB] 109s Get:438 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-pyo3-ffi-dev s390x 0.22.6-1build1 [62.6 kB] 109s Get:439 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-pyo3-macros-backend-dev s390x 0.22.6-1 [58.5 kB] 109s Get:440 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-pyo3-macros-dev s390x 0.22.6-1 [10.4 kB] 109s Get:441 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rust-decimal-dev s390x 1.36.0-1 [114 kB] 109s Get:442 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-unindent-dev s390x 0.2.3-1 [9186 B] 109s Get:443 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-pyo3-dev s390x 0.22.6-1 [415 kB] 109s Get:444 http://ftpmaster.internal/ubuntu plucky/universe s390x librust-rustc-hash-dev s390x 1.1.0-1 [10.8 kB] 109s Get:445 http://ftpmaster.internal/ubuntu plucky/universe s390x pybuild-plugin-autopkgtest all 6.20241024 [1746 B] 109s Get:446 http://ftpmaster.internal/ubuntu plucky/main s390x python3-packaging all 24.2-1 [51.5 kB] 109s Get:447 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 109s Get:448 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-toml all 0.10.2-1 [16.5 kB] 109s Get:449 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-wheel all 0.45.1-1 [57.7 kB] 109s Get:450 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-build all 1.2.2-1 [31.0 kB] 109s Get:451 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 109s Get:452 http://ftpmaster.internal/ubuntu plucky/universe s390x pybuild-plugin-pyproject all 6.20241024 [1728 B] 109s Get:453 http://ftpmaster.internal/ubuntu plucky/main s390x python3-all s390x 3.12.6-0ubuntu1 [890 B] 109s Get:454 http://ftpmaster.internal/ubuntu plucky/main s390x python3-dateutil all 2.9.0-3 [80.2 kB] 109s Get:455 http://ftpmaster.internal/ubuntu plucky/main s390x python3-sortedcontainers all 2.4.0-2 [27.6 kB] 109s Get:456 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-hypothesis all 6.119.3-1 [329 kB] 109s Get:457 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 109s Get:458 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pluggy all 1.5.0-1 [21.0 kB] 109s Get:459 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-pytest all 8.3.3-1 [251 kB] 109s Get:460 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-regex s390x 0.1.20240724-1build1 [310 kB] 109s Get:461 http://ftpmaster.internal/ubuntu plucky/main s390x python3-semantic-version all 2.10.0-2 [15.1 kB] 109s Get:462 http://ftpmaster.internal/ubuntu plucky/main s390x rustc s390x 1.80.1ubuntu2 [2754 B] 109s Get:463 http://ftpmaster.internal/ubuntu plucky/main s390x cargo s390x 1.80.1ubuntu2 [2246 B] 109s Get:464 http://ftpmaster.internal/ubuntu plucky/universe s390x python3-setuptools-rust all 1.9.0+dfsg-2 [23.1 kB] 109s Get:465 http://ftpmaster.internal/ubuntu plucky-proposed/universe s390x python3-tiktoken s390x 0.8.0-1build1 [787 kB] 111s Fetched 216 MB in 21s (10.5 MB/s) 111s Selecting previously unselected package m4. 111s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 55567 files and directories currently installed.) 111s Preparing to unpack .../000-m4_1.4.19-4build1_s390x.deb ... 111s Unpacking m4 (1.4.19-4build1) ... 111s Selecting previously unselected package autoconf. 111s Preparing to unpack .../001-autoconf_2.72-3_all.deb ... 111s Unpacking autoconf (2.72-3) ... 111s Selecting previously unselected package autotools-dev. 111s Preparing to unpack .../002-autotools-dev_20220109.1_all.deb ... 111s Unpacking autotools-dev (20220109.1) ... 111s Selecting previously unselected package automake. 111s Preparing to unpack .../003-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 111s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 111s Selecting previously unselected package autopoint. 111s Preparing to unpack .../004-autopoint_0.22.5-2_all.deb ... 111s Unpacking autopoint (0.22.5-2) ... 111s Selecting previously unselected package libisl23:s390x. 111s Preparing to unpack .../005-libisl23_0.27-1_s390x.deb ... 111s Unpacking libisl23:s390x (0.27-1) ... 111s Selecting previously unselected package libmpc3:s390x. 111s Preparing to unpack .../006-libmpc3_1.3.1-1build2_s390x.deb ... 111s Unpacking libmpc3:s390x (1.3.1-1build2) ... 111s Selecting previously unselected package cpp-14-s390x-linux-gnu. 111s Preparing to unpack .../007-cpp-14-s390x-linux-gnu_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking cpp-14-s390x-linux-gnu (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package cpp-14. 111s Preparing to unpack .../008-cpp-14_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking cpp-14 (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package cpp-s390x-linux-gnu. 111s Preparing to unpack .../009-cpp-s390x-linux-gnu_4%3a14.1.0-2ubuntu1_s390x.deb ... 111s Unpacking cpp-s390x-linux-gnu (4:14.1.0-2ubuntu1) ... 111s Selecting previously unselected package cpp. 111s Preparing to unpack .../010-cpp_4%3a14.1.0-2ubuntu1_s390x.deb ... 111s Unpacking cpp (4:14.1.0-2ubuntu1) ... 111s Selecting previously unselected package libcc1-0:s390x. 111s Preparing to unpack .../011-libcc1-0_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking libcc1-0:s390x (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package libgomp1:s390x. 111s Preparing to unpack .../012-libgomp1_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking libgomp1:s390x (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package libitm1:s390x. 111s Preparing to unpack .../013-libitm1_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking libitm1:s390x (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package libasan8:s390x. 111s Preparing to unpack .../014-libasan8_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking libasan8:s390x (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package libubsan1:s390x. 111s Preparing to unpack .../015-libubsan1_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking libubsan1:s390x (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package libgcc-14-dev:s390x. 111s Preparing to unpack .../016-libgcc-14-dev_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking libgcc-14-dev:s390x (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package gcc-14-s390x-linux-gnu. 111s Preparing to unpack .../017-gcc-14-s390x-linux-gnu_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking gcc-14-s390x-linux-gnu (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package gcc-14. 111s Preparing to unpack .../018-gcc-14_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking gcc-14 (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package gcc-s390x-linux-gnu. 111s Preparing to unpack .../019-gcc-s390x-linux-gnu_4%3a14.1.0-2ubuntu1_s390x.deb ... 111s Unpacking gcc-s390x-linux-gnu (4:14.1.0-2ubuntu1) ... 111s Selecting previously unselected package gcc. 111s Preparing to unpack .../020-gcc_4%3a14.1.0-2ubuntu1_s390x.deb ... 111s Unpacking gcc (4:14.1.0-2ubuntu1) ... 111s Selecting previously unselected package libstdc++-14-dev:s390x. 111s Preparing to unpack .../021-libstdc++-14-dev_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking libstdc++-14-dev:s390x (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package g++-14-s390x-linux-gnu. 111s Preparing to unpack .../022-g++-14-s390x-linux-gnu_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking g++-14-s390x-linux-gnu (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package g++-14. 111s Preparing to unpack .../023-g++-14_14.2.0-8ubuntu1_s390x.deb ... 111s Unpacking g++-14 (14.2.0-8ubuntu1) ... 111s Selecting previously unselected package g++-s390x-linux-gnu. 111s Preparing to unpack .../024-g++-s390x-linux-gnu_4%3a14.1.0-2ubuntu1_s390x.deb ... 111s Unpacking g++-s390x-linux-gnu (4:14.1.0-2ubuntu1) ... 111s Selecting previously unselected package g++. 111s Preparing to unpack .../025-g++_4%3a14.1.0-2ubuntu1_s390x.deb ... 111s Unpacking g++ (4:14.1.0-2ubuntu1) ... 111s Selecting previously unselected package build-essential. 111s Preparing to unpack .../026-build-essential_12.10ubuntu1_s390x.deb ... 111s Unpacking build-essential (12.10ubuntu1) ... 111s Selecting previously unselected package libhttp-parser2.9:s390x. 111s Preparing to unpack .../027-libhttp-parser2.9_2.9.4-6build1_s390x.deb ... 111s Unpacking libhttp-parser2.9:s390x (2.9.4-6build1) ... 111s Selecting previously unselected package libgit2-1.7:s390x. 111s Preparing to unpack .../028-libgit2-1.7_1.7.2+ds-1ubuntu3_s390x.deb ... 111s Unpacking libgit2-1.7:s390x (1.7.2+ds-1ubuntu3) ... 111s Selecting previously unselected package libstd-rust-1.80:s390x. 111s Preparing to unpack .../029-libstd-rust-1.80_1.80.1+dfsg0ubuntu1-0ubuntu1_s390x.deb ... 111s Unpacking libstd-rust-1.80:s390x (1.80.1+dfsg0ubuntu1-0ubuntu1) ... 111s Selecting previously unselected package libstd-rust-1.80-dev:s390x. 111s Preparing to unpack .../030-libstd-rust-1.80-dev_1.80.1+dfsg0ubuntu1-0ubuntu1_s390x.deb ... 111s Unpacking libstd-rust-1.80-dev:s390x (1.80.1+dfsg0ubuntu1-0ubuntu1) ... 112s Selecting previously unselected package rustc-1.80. 112s Preparing to unpack .../031-rustc-1.80_1.80.1+dfsg0ubuntu1-0ubuntu1_s390x.deb ... 112s Unpacking rustc-1.80 (1.80.1+dfsg0ubuntu1-0ubuntu1) ... 112s Selecting previously unselected package cargo-1.80. 112s Preparing to unpack .../032-cargo-1.80_1.80.1+dfsg0ubuntu1-0ubuntu1_s390x.deb ... 112s Unpacking cargo-1.80 (1.80.1+dfsg0ubuntu1-0ubuntu1) ... 112s Selecting previously unselected package libjsoncpp25:s390x. 112s Preparing to unpack .../033-libjsoncpp25_1.9.5-6build1_s390x.deb ... 112s Unpacking libjsoncpp25:s390x (1.9.5-6build1) ... 112s Selecting previously unselected package librhash0:s390x. 112s Preparing to unpack .../034-librhash0_1.4.3-3build1_s390x.deb ... 112s Unpacking librhash0:s390x (1.4.3-3build1) ... 112s Selecting previously unselected package cmake-data. 112s Preparing to unpack .../035-cmake-data_3.30.3-1_all.deb ... 112s Unpacking cmake-data (3.30.3-1) ... 112s Selecting previously unselected package cmake. 112s Preparing to unpack .../036-cmake_3.30.3-1_s390x.deb ... 112s Unpacking cmake (3.30.3-1) ... 113s Selecting previously unselected package libdebhelper-perl. 113s Preparing to unpack .../037-libdebhelper-perl_13.20ubuntu1_all.deb ... 113s Unpacking libdebhelper-perl (13.20ubuntu1) ... 113s Selecting previously unselected package libtool. 113s Preparing to unpack .../038-libtool_2.4.7-8_all.deb ... 113s Unpacking libtool (2.4.7-8) ... 113s Selecting previously unselected package dh-autoreconf. 113s Preparing to unpack .../039-dh-autoreconf_20_all.deb ... 113s Unpacking dh-autoreconf (20) ... 113s Selecting previously unselected package libarchive-zip-perl. 113s Preparing to unpack .../040-libarchive-zip-perl_1.68-1_all.deb ... 113s Unpacking libarchive-zip-perl (1.68-1) ... 113s Selecting previously unselected package libfile-stripnondeterminism-perl. 113s Preparing to unpack .../041-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... 113s Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... 113s Selecting previously unselected package dh-strip-nondeterminism. 113s Preparing to unpack .../042-dh-strip-nondeterminism_1.14.0-1_all.deb ... 113s Unpacking dh-strip-nondeterminism (1.14.0-1) ... 113s Selecting previously unselected package debugedit. 113s Preparing to unpack .../043-debugedit_1%3a5.1-1_s390x.deb ... 113s Unpacking debugedit (1:5.1-1) ... 113s Selecting previously unselected package dwz. 113s Preparing to unpack .../044-dwz_0.15-1build6_s390x.deb ... 113s Unpacking dwz (0.15-1build6) ... 113s Selecting previously unselected package gettext. 113s Preparing to unpack .../045-gettext_0.22.5-2_s390x.deb ... 113s Unpacking gettext (0.22.5-2) ... 113s Selecting previously unselected package intltool-debian. 113s Preparing to unpack .../046-intltool-debian_0.35.0+20060710.6_all.deb ... 113s Unpacking intltool-debian (0.35.0+20060710.6) ... 113s Selecting previously unselected package po-debconf. 113s Preparing to unpack .../047-po-debconf_1.0.21+nmu1_all.deb ... 113s Unpacking po-debconf (1.0.21+nmu1) ... 113s Selecting previously unselected package debhelper. 113s Preparing to unpack .../048-debhelper_13.20ubuntu1_all.deb ... 113s Unpacking debhelper (13.20ubuntu1) ... 113s Selecting previously unselected package dh-python. 113s Preparing to unpack .../049-dh-python_6.20241024_all.deb ... 113s Unpacking dh-python (6.20241024) ... 113s Selecting previously unselected package fonts-dejavu-mono. 113s Preparing to unpack .../050-fonts-dejavu-mono_2.37-8_all.deb ... 113s Unpacking fonts-dejavu-mono (2.37-8) ... 113s Selecting previously unselected package fonts-dejavu-core. 113s Preparing to unpack .../051-fonts-dejavu-core_2.37-8_all.deb ... 113s Unpacking fonts-dejavu-core (2.37-8) ... 113s Selecting previously unselected package fontconfig-config. 113s Preparing to unpack .../052-fontconfig-config_2.15.0-1.1ubuntu2_s390x.deb ... 113s Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... 113s Selecting previously unselected package libbrotli-dev:s390x. 113s Preparing to unpack .../053-libbrotli-dev_1.1.0-2build3_s390x.deb ... 113s Unpacking libbrotli-dev:s390x (1.1.0-2build3) ... 113s Selecting previously unselected package libbz2-dev:s390x. 113s Preparing to unpack .../054-libbz2-dev_1.0.8-6_s390x.deb ... 113s Unpacking libbz2-dev:s390x (1.0.8-6) ... 113s Selecting previously unselected package libexpat1-dev:s390x. 113s Preparing to unpack .../055-libexpat1-dev_2.6.4-1_s390x.deb ... 113s Unpacking libexpat1-dev:s390x (2.6.4-1) ... 113s Selecting previously unselected package libfreetype6:s390x. 113s Preparing to unpack .../056-libfreetype6_2.13.3+dfsg-1_s390x.deb ... 113s Unpacking libfreetype6:s390x (2.13.3+dfsg-1) ... 113s Selecting previously unselected package libfontconfig1:s390x. 113s Preparing to unpack .../057-libfontconfig1_2.15.0-1.1ubuntu2_s390x.deb ... 113s Unpacking libfontconfig1:s390x (2.15.0-1.1ubuntu2) ... 113s Selecting previously unselected package zlib1g-dev:s390x. 113s Preparing to unpack .../058-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu1_s390x.deb ... 113s Unpacking zlib1g-dev:s390x (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 113s Selecting previously unselected package libpng-dev:s390x. 113s Preparing to unpack .../059-libpng-dev_1.6.44-2_s390x.deb ... 113s Unpacking libpng-dev:s390x (1.6.44-2) ... 113s Selecting previously unselected package libfreetype-dev:s390x. 113s Preparing to unpack .../060-libfreetype-dev_2.13.3+dfsg-1_s390x.deb ... 113s Unpacking libfreetype-dev:s390x (2.13.3+dfsg-1) ... 113s Selecting previously unselected package uuid-dev:s390x. 113s Preparing to unpack .../061-uuid-dev_2.40.2-1ubuntu1_s390x.deb ... 113s Unpacking uuid-dev:s390x (2.40.2-1ubuntu1) ... 113s Selecting previously unselected package libpkgconf3:s390x. 113s Preparing to unpack .../062-libpkgconf3_1.8.1-4_s390x.deb ... 113s Unpacking libpkgconf3:s390x (1.8.1-4) ... 113s Selecting previously unselected package pkgconf-bin. 113s Preparing to unpack .../063-pkgconf-bin_1.8.1-4_s390x.deb ... 113s Unpacking pkgconf-bin (1.8.1-4) ... 113s Selecting previously unselected package pkgconf:s390x. 113s Preparing to unpack .../064-pkgconf_1.8.1-4_s390x.deb ... 113s Unpacking pkgconf:s390x (1.8.1-4) ... 113s Selecting previously unselected package libfontconfig-dev:s390x. 113s Preparing to unpack .../065-libfontconfig-dev_2.15.0-1.1ubuntu2_s390x.deb ... 113s Unpacking libfontconfig-dev:s390x (2.15.0-1.1ubuntu2) ... 113s Selecting previously unselected package libpython3.12-dev:s390x. 113s Preparing to unpack .../066-libpython3.12-dev_3.12.7-3_s390x.deb ... 113s Unpacking libpython3.12-dev:s390x (3.12.7-3) ... 113s Selecting previously unselected package libpython3-dev:s390x. 113s Preparing to unpack .../067-libpython3-dev_3.12.6-0ubuntu1_s390x.deb ... 113s Unpacking libpython3-dev:s390x (3.12.6-0ubuntu1) ... 113s Selecting previously unselected package libpython3-all-dev:s390x. 113s Preparing to unpack .../068-libpython3-all-dev_3.12.6-0ubuntu1_s390x.deb ... 113s Unpacking libpython3-all-dev:s390x (3.12.6-0ubuntu1) ... 113s Selecting previously unselected package librust-ab-glyph-rasterizer-dev:s390x. 113s Preparing to unpack .../069-librust-ab-glyph-rasterizer-dev_0.1.7-1_s390x.deb ... 113s Unpacking librust-ab-glyph-rasterizer-dev:s390x (0.1.7-1) ... 113s Selecting previously unselected package librust-libm-dev:s390x. 113s Preparing to unpack .../070-librust-libm-dev_0.2.8-1_s390x.deb ... 113s Unpacking librust-libm-dev:s390x (0.2.8-1) ... 113s Selecting previously unselected package librust-ab-glyph-rasterizer+libm-dev:s390x. 113s Preparing to unpack .../071-librust-ab-glyph-rasterizer+libm-dev_0.1.7-1_s390x.deb ... 113s Unpacking librust-ab-glyph-rasterizer+libm-dev:s390x (0.1.7-1) ... 113s Selecting previously unselected package librust-core-maths-dev:s390x. 113s Preparing to unpack .../072-librust-core-maths-dev_0.1.0-2_s390x.deb ... 113s Unpacking librust-core-maths-dev:s390x (0.1.0-2) ... 113s Selecting previously unselected package librust-ttf-parser-dev:s390x. 113s Preparing to unpack .../073-librust-ttf-parser-dev_0.24.1-1_s390x.deb ... 113s Unpacking librust-ttf-parser-dev:s390x (0.24.1-1) ... 113s Selecting previously unselected package librust-owned-ttf-parser-dev:s390x. 113s Preparing to unpack .../074-librust-owned-ttf-parser-dev_0.24.0-1_s390x.deb ... 113s Unpacking librust-owned-ttf-parser-dev:s390x (0.24.0-1) ... 113s Selecting previously unselected package librust-ab-glyph-dev:s390x. 113s Preparing to unpack .../075-librust-ab-glyph-dev_0.2.28-1_s390x.deb ... 113s Unpacking librust-ab-glyph-dev:s390x (0.2.28-1) ... 113s Selecting previously unselected package librust-cfg-if-dev:s390x. 113s Preparing to unpack .../076-librust-cfg-if-dev_1.0.0-1_s390x.deb ... 113s Unpacking librust-cfg-if-dev:s390x (1.0.0-1) ... 113s Selecting previously unselected package librust-cpp-demangle-dev:s390x. 113s Preparing to unpack .../077-librust-cpp-demangle-dev_0.4.0-1_s390x.deb ... 113s Unpacking librust-cpp-demangle-dev:s390x (0.4.0-1) ... 113s Selecting previously unselected package librust-fallible-iterator-dev:s390x. 113s Preparing to unpack .../078-librust-fallible-iterator-dev_0.3.0-2_s390x.deb ... 113s Unpacking librust-fallible-iterator-dev:s390x (0.3.0-2) ... 113s Selecting previously unselected package librust-unicode-ident-dev:s390x. 113s Preparing to unpack .../079-librust-unicode-ident-dev_1.0.13-1_s390x.deb ... 113s Unpacking librust-unicode-ident-dev:s390x (1.0.13-1) ... 114s Selecting previously unselected package librust-proc-macro2-dev:s390x. 114s Preparing to unpack .../080-librust-proc-macro2-dev_1.0.86-1_s390x.deb ... 114s Unpacking librust-proc-macro2-dev:s390x (1.0.86-1) ... 114s Selecting previously unselected package librust-quote-dev:s390x. 114s Preparing to unpack .../081-librust-quote-dev_1.0.37-1_s390x.deb ... 114s Unpacking librust-quote-dev:s390x (1.0.37-1) ... 114s Selecting previously unselected package librust-syn-dev:s390x. 114s Preparing to unpack .../082-librust-syn-dev_2.0.85-1_s390x.deb ... 114s Unpacking librust-syn-dev:s390x (2.0.85-1) ... 114s Selecting previously unselected package librust-derive-arbitrary-dev:s390x. 114s Preparing to unpack .../083-librust-derive-arbitrary-dev_1.3.2-1_s390x.deb ... 114s Unpacking librust-derive-arbitrary-dev:s390x (1.3.2-1) ... 114s Selecting previously unselected package librust-arbitrary-dev:s390x. 114s Preparing to unpack .../084-librust-arbitrary-dev_1.3.2-1_s390x.deb ... 114s Unpacking librust-arbitrary-dev:s390x (1.3.2-1) ... 114s Selecting previously unselected package librust-equivalent-dev:s390x. 114s Preparing to unpack .../085-librust-equivalent-dev_1.0.1-1_s390x.deb ... 114s Unpacking librust-equivalent-dev:s390x (1.0.1-1) ... 114s Selecting previously unselected package librust-critical-section-dev:s390x. 114s Preparing to unpack .../086-librust-critical-section-dev_1.1.3-1_s390x.deb ... 114s Unpacking librust-critical-section-dev:s390x (1.1.3-1) ... 114s Selecting previously unselected package librust-serde-derive-dev:s390x. 114s Preparing to unpack .../087-librust-serde-derive-dev_1.0.210-1_s390x.deb ... 114s Unpacking librust-serde-derive-dev:s390x (1.0.210-1) ... 114s Selecting previously unselected package librust-serde-dev:s390x. 114s Preparing to unpack .../088-librust-serde-dev_1.0.210-2_s390x.deb ... 114s Unpacking librust-serde-dev:s390x (1.0.210-2) ... 114s Selecting previously unselected package librust-portable-atomic-dev:s390x. 114s Preparing to unpack .../089-librust-portable-atomic-dev_1.9.0-4_s390x.deb ... 114s Unpacking librust-portable-atomic-dev:s390x (1.9.0-4) ... 114s Selecting previously unselected package librust-rustc-std-workspace-core-dev:s390x. 114s Preparing to unpack .../090-librust-rustc-std-workspace-core-dev_1.0.0-1_s390x.deb ... 114s Unpacking librust-rustc-std-workspace-core-dev:s390x (1.0.0-1) ... 114s Selecting previously unselected package librust-libc-dev:s390x. 114s Preparing to unpack .../091-librust-libc-dev_0.2.161-1_s390x.deb ... 114s Unpacking librust-libc-dev:s390x (0.2.161-1) ... 114s Selecting previously unselected package librust-getrandom-dev:s390x. 114s Preparing to unpack .../092-librust-getrandom-dev_0.2.12-1_s390x.deb ... 114s Unpacking librust-getrandom-dev:s390x (0.2.12-1) ... 114s Selecting previously unselected package librust-smallvec-dev:s390x. 114s Preparing to unpack .../093-librust-smallvec-dev_1.13.2-1_s390x.deb ... 114s Unpacking librust-smallvec-dev:s390x (1.13.2-1) ... 114s Selecting previously unselected package librust-parking-lot-core-dev:s390x. 114s Preparing to unpack .../094-librust-parking-lot-core-dev_0.9.10-1_s390x.deb ... 114s Unpacking librust-parking-lot-core-dev:s390x (0.9.10-1) ... 114s Selecting previously unselected package librust-once-cell-dev:s390x. 114s Preparing to unpack .../095-librust-once-cell-dev_1.20.2-1_s390x.deb ... 114s Unpacking librust-once-cell-dev:s390x (1.20.2-1) ... 114s Selecting previously unselected package librust-crunchy-dev:s390x. 114s Preparing to unpack .../096-librust-crunchy-dev_0.2.2-1_s390x.deb ... 114s Unpacking librust-crunchy-dev:s390x (0.2.2-1) ... 114s Selecting previously unselected package librust-tiny-keccak-dev:s390x. 114s Preparing to unpack .../097-librust-tiny-keccak-dev_2.0.2-1_s390x.deb ... 114s Unpacking librust-tiny-keccak-dev:s390x (2.0.2-1) ... 114s Selecting previously unselected package librust-const-random-macro-dev:s390x. 114s Preparing to unpack .../098-librust-const-random-macro-dev_0.1.16-2_s390x.deb ... 114s Unpacking librust-const-random-macro-dev:s390x (0.1.16-2) ... 114s Selecting previously unselected package librust-const-random-dev:s390x. 114s Preparing to unpack .../099-librust-const-random-dev_0.1.17-2_s390x.deb ... 114s Unpacking librust-const-random-dev:s390x (0.1.17-2) ... 114s Selecting previously unselected package librust-version-check-dev:s390x. 114s Preparing to unpack .../100-librust-version-check-dev_0.9.5-1_s390x.deb ... 114s Unpacking librust-version-check-dev:s390x (0.9.5-1) ... 114s Selecting previously unselected package librust-byteorder-dev:s390x. 114s Preparing to unpack .../101-librust-byteorder-dev_1.5.0-1_s390x.deb ... 114s Unpacking librust-byteorder-dev:s390x (1.5.0-1) ... 114s Selecting previously unselected package librust-zerocopy-derive-dev:s390x. 114s Preparing to unpack .../102-librust-zerocopy-derive-dev_0.7.32-2_s390x.deb ... 114s Unpacking librust-zerocopy-derive-dev:s390x (0.7.32-2) ... 114s Selecting previously unselected package librust-zerocopy-dev:s390x. 114s Preparing to unpack .../103-librust-zerocopy-dev_0.7.32-1_s390x.deb ... 114s Unpacking librust-zerocopy-dev:s390x (0.7.32-1) ... 114s Selecting previously unselected package librust-ahash-dev. 114s Preparing to unpack .../104-librust-ahash-dev_0.8.11-8_all.deb ... 114s Unpacking librust-ahash-dev (0.8.11-8) ... 114s Selecting previously unselected package librust-allocator-api2-dev:s390x. 114s Preparing to unpack .../105-librust-allocator-api2-dev_0.2.16-1_s390x.deb ... 114s Unpacking librust-allocator-api2-dev:s390x (0.2.16-1) ... 114s Selecting previously unselected package librust-compiler-builtins-dev:s390x. 114s Preparing to unpack .../106-librust-compiler-builtins-dev_0.1.101-1_s390x.deb ... 114s Unpacking librust-compiler-builtins-dev:s390x (0.1.101-1) ... 114s Selecting previously unselected package librust-either-dev:s390x. 114s Preparing to unpack .../107-librust-either-dev_1.13.0-1_s390x.deb ... 114s Unpacking librust-either-dev:s390x (1.13.0-1) ... 114s Selecting previously unselected package librust-crossbeam-utils-dev:s390x. 114s Preparing to unpack .../108-librust-crossbeam-utils-dev_0.8.19-1_s390x.deb ... 114s Unpacking librust-crossbeam-utils-dev:s390x (0.8.19-1) ... 114s Selecting previously unselected package librust-crossbeam-epoch-dev:s390x. 114s Preparing to unpack .../109-librust-crossbeam-epoch-dev_0.9.18-1_s390x.deb ... 114s Unpacking librust-crossbeam-epoch-dev:s390x (0.9.18-1) ... 114s Selecting previously unselected package librust-crossbeam-epoch+std-dev:s390x. 114s Preparing to unpack .../110-librust-crossbeam-epoch+std-dev_0.9.18-1_s390x.deb ... 114s Unpacking librust-crossbeam-epoch+std-dev:s390x (0.9.18-1) ... 114s Selecting previously unselected package librust-crossbeam-deque-dev:s390x. 114s Preparing to unpack .../111-librust-crossbeam-deque-dev_0.8.5-1_s390x.deb ... 114s Unpacking librust-crossbeam-deque-dev:s390x (0.8.5-1) ... 114s Selecting previously unselected package librust-rayon-core-dev:s390x. 114s Preparing to unpack .../112-librust-rayon-core-dev_1.12.1-1_s390x.deb ... 114s Unpacking librust-rayon-core-dev:s390x (1.12.1-1) ... 114s Selecting previously unselected package librust-rayon-dev:s390x. 114s Preparing to unpack .../113-librust-rayon-dev_1.10.0-1_s390x.deb ... 114s Unpacking librust-rayon-dev:s390x (1.10.0-1) ... 114s Selecting previously unselected package librust-hashbrown-dev:s390x. 114s Preparing to unpack .../114-librust-hashbrown-dev_0.14.5-5_s390x.deb ... 114s Unpacking librust-hashbrown-dev:s390x (0.14.5-5) ... 114s Selecting previously unselected package librust-indexmap-dev:s390x. 114s Preparing to unpack .../115-librust-indexmap-dev_2.2.6-1_s390x.deb ... 114s Unpacking librust-indexmap-dev:s390x (2.2.6-1) ... 114s Selecting previously unselected package librust-stable-deref-trait-dev:s390x. 114s Preparing to unpack .../116-librust-stable-deref-trait-dev_1.2.0-1_s390x.deb ... 114s Unpacking librust-stable-deref-trait-dev:s390x (1.2.0-1) ... 114s Selecting previously unselected package librust-gimli-dev:s390x. 114s Preparing to unpack .../117-librust-gimli-dev_0.28.1-2_s390x.deb ... 114s Unpacking librust-gimli-dev:s390x (0.28.1-2) ... 114s Selecting previously unselected package librust-memmap2-dev:s390x. 114s Preparing to unpack .../118-librust-memmap2-dev_0.9.3-1_s390x.deb ... 114s Unpacking librust-memmap2-dev:s390x (0.9.3-1) ... 114s Selecting previously unselected package librust-crc32fast-dev:s390x. 114s Preparing to unpack .../119-librust-crc32fast-dev_1.4.2-1_s390x.deb ... 114s Unpacking librust-crc32fast-dev:s390x (1.4.2-1) ... 114s Selecting previously unselected package pkg-config:s390x. 114s Preparing to unpack .../120-pkg-config_1.8.1-4_s390x.deb ... 114s Unpacking pkg-config:s390x (1.8.1-4) ... 114s Selecting previously unselected package librust-pkg-config-dev:s390x. 114s Preparing to unpack .../121-librust-pkg-config-dev_0.3.27-1_s390x.deb ... 114s Unpacking librust-pkg-config-dev:s390x (0.3.27-1) ... 114s Selecting previously unselected package librust-libz-sys-dev:s390x. 114s Preparing to unpack .../122-librust-libz-sys-dev_1.1.20-1_s390x.deb ... 114s Unpacking librust-libz-sys-dev:s390x (1.1.20-1) ... 114s Selecting previously unselected package librust-adler-dev:s390x. 114s Preparing to unpack .../123-librust-adler-dev_1.0.2-2_s390x.deb ... 114s Unpacking librust-adler-dev:s390x (1.0.2-2) ... 114s Selecting previously unselected package librust-miniz-oxide-dev:s390x. 114s Preparing to unpack .../124-librust-miniz-oxide-dev_0.7.1-1_s390x.deb ... 114s Unpacking librust-miniz-oxide-dev:s390x (0.7.1-1) ... 114s Selecting previously unselected package librust-flate2-dev:s390x. 114s Preparing to unpack .../125-librust-flate2-dev_1.0.34-1_s390x.deb ... 114s Unpacking librust-flate2-dev:s390x (1.0.34-1) ... 114s Selecting previously unselected package librust-sval-derive-dev:s390x. 114s Preparing to unpack .../126-librust-sval-derive-dev_2.6.1-2_s390x.deb ... 114s Unpacking librust-sval-derive-dev:s390x (2.6.1-2) ... 114s Selecting previously unselected package librust-sval-dev:s390x. 114s Preparing to unpack .../127-librust-sval-dev_2.6.1-2_s390x.deb ... 114s Unpacking librust-sval-dev:s390x (2.6.1-2) ... 114s Selecting previously unselected package librust-sval-ref-dev:s390x. 114s Preparing to unpack .../128-librust-sval-ref-dev_2.6.1-1_s390x.deb ... 114s Unpacking librust-sval-ref-dev:s390x (2.6.1-1) ... 114s Selecting previously unselected package librust-erased-serde-dev:s390x. 114s Preparing to unpack .../129-librust-erased-serde-dev_0.3.31-1_s390x.deb ... 114s Unpacking librust-erased-serde-dev:s390x (0.3.31-1) ... 114s Selecting previously unselected package librust-serde-fmt-dev. 114s Preparing to unpack .../130-librust-serde-fmt-dev_1.0.3-3_all.deb ... 114s Unpacking librust-serde-fmt-dev (1.0.3-3) ... 114s Selecting previously unselected package librust-syn-1-dev:s390x. 114s Preparing to unpack .../131-librust-syn-1-dev_1.0.109-2_s390x.deb ... 114s Unpacking librust-syn-1-dev:s390x (1.0.109-2) ... 114s Selecting previously unselected package librust-no-panic-dev:s390x. 114s Preparing to unpack .../132-librust-no-panic-dev_0.1.13-1_s390x.deb ... 114s Unpacking librust-no-panic-dev:s390x (0.1.13-1) ... 114s Selecting previously unselected package librust-itoa-dev:s390x. 114s Preparing to unpack .../133-librust-itoa-dev_1.0.9-1_s390x.deb ... 114s Unpacking librust-itoa-dev:s390x (1.0.9-1) ... 114s Selecting previously unselected package librust-ryu-dev:s390x. 114s Preparing to unpack .../134-librust-ryu-dev_1.0.15-1_s390x.deb ... 114s Unpacking librust-ryu-dev:s390x (1.0.15-1) ... 114s Selecting previously unselected package librust-serde-json-dev:s390x. 114s Preparing to unpack .../135-librust-serde-json-dev_1.0.128-1_s390x.deb ... 114s Unpacking librust-serde-json-dev:s390x (1.0.128-1) ... 114s Selecting previously unselected package librust-serde-test-dev:s390x. 114s Preparing to unpack .../136-librust-serde-test-dev_1.0.171-1_s390x.deb ... 114s Unpacking librust-serde-test-dev:s390x (1.0.171-1) ... 114s Selecting previously unselected package librust-value-bag-serde1-dev:s390x. 114s Preparing to unpack .../137-librust-value-bag-serde1-dev_1.9.0-1_s390x.deb ... 114s Unpacking librust-value-bag-serde1-dev:s390x (1.9.0-1) ... 114s Selecting previously unselected package librust-sval-buffer-dev:s390x. 114s Preparing to unpack .../138-librust-sval-buffer-dev_2.6.1-1_s390x.deb ... 114s Unpacking librust-sval-buffer-dev:s390x (2.6.1-1) ... 114s Selecting previously unselected package librust-sval-dynamic-dev:s390x. 114s Preparing to unpack .../139-librust-sval-dynamic-dev_2.6.1-1_s390x.deb ... 114s Unpacking librust-sval-dynamic-dev:s390x (2.6.1-1) ... 114s Selecting previously unselected package librust-sval-fmt-dev:s390x. 114s Preparing to unpack .../140-librust-sval-fmt-dev_2.6.1-1_s390x.deb ... 114s Unpacking librust-sval-fmt-dev:s390x (2.6.1-1) ... 114s Selecting previously unselected package librust-sval-serde-dev:s390x. 114s Preparing to unpack .../141-librust-sval-serde-dev_2.6.1-1_s390x.deb ... 114s Unpacking librust-sval-serde-dev:s390x (2.6.1-1) ... 114s Selecting previously unselected package librust-value-bag-sval2-dev:s390x. 114s Preparing to unpack .../142-librust-value-bag-sval2-dev_1.9.0-1_s390x.deb ... 114s Unpacking librust-value-bag-sval2-dev:s390x (1.9.0-1) ... 114s Selecting previously unselected package librust-value-bag-dev:s390x. 114s Preparing to unpack .../143-librust-value-bag-dev_1.9.0-1_s390x.deb ... 114s Unpacking librust-value-bag-dev:s390x (1.9.0-1) ... 114s Selecting previously unselected package librust-log-dev:s390x. 114s Preparing to unpack .../144-librust-log-dev_0.4.22-1_s390x.deb ... 114s Unpacking librust-log-dev:s390x (0.4.22-1) ... 114s Selecting previously unselected package librust-memchr-dev:s390x. 114s Preparing to unpack .../145-librust-memchr-dev_2.7.4-1_s390x.deb ... 114s Unpacking librust-memchr-dev:s390x (2.7.4-1) ... 114s Selecting previously unselected package librust-ppv-lite86-dev:s390x. 114s Preparing to unpack .../146-librust-ppv-lite86-dev_0.2.16-1_s390x.deb ... 114s Unpacking librust-ppv-lite86-dev:s390x (0.2.16-1) ... 114s Selecting previously unselected package librust-rand-core-dev:s390x. 114s Preparing to unpack .../147-librust-rand-core-dev_0.6.4-2_s390x.deb ... 114s Unpacking librust-rand-core-dev:s390x (0.6.4-2) ... 114s Selecting previously unselected package librust-rand-chacha-dev:s390x. 114s Preparing to unpack .../148-librust-rand-chacha-dev_0.3.1-2_s390x.deb ... 114s Unpacking librust-rand-chacha-dev:s390x (0.3.1-2) ... 114s Selecting previously unselected package librust-rand-core+getrandom-dev:s390x. 114s Preparing to unpack .../149-librust-rand-core+getrandom-dev_0.6.4-2_s390x.deb ... 114s Unpacking librust-rand-core+getrandom-dev:s390x (0.6.4-2) ... 114s Selecting previously unselected package librust-rand-core+serde-dev:s390x. 114s Preparing to unpack .../150-librust-rand-core+serde-dev_0.6.4-2_s390x.deb ... 114s Unpacking librust-rand-core+serde-dev:s390x (0.6.4-2) ... 114s Selecting previously unselected package librust-rand-core+std-dev:s390x. 114s Preparing to unpack .../151-librust-rand-core+std-dev_0.6.4-2_s390x.deb ... 114s Unpacking librust-rand-core+std-dev:s390x (0.6.4-2) ... 114s Selecting previously unselected package librust-rand-dev:s390x. 114s Preparing to unpack .../152-librust-rand-dev_0.8.5-1_s390x.deb ... 114s Unpacking librust-rand-dev:s390x (0.8.5-1) ... 114s Selecting previously unselected package librust-unicode-segmentation-dev:s390x. 114s Preparing to unpack .../153-librust-unicode-segmentation-dev_1.11.0-1_s390x.deb ... 114s Unpacking librust-unicode-segmentation-dev:s390x (1.11.0-1) ... 114s Selecting previously unselected package librust-convert-case-dev:s390x. 114s Preparing to unpack .../154-librust-convert-case-dev_0.6.0-2_s390x.deb ... 114s Unpacking librust-convert-case-dev:s390x (0.6.0-2) ... 114s Selecting previously unselected package librust-semver-dev:s390x. 114s Preparing to unpack .../155-librust-semver-dev_1.0.23-1_s390x.deb ... 114s Unpacking librust-semver-dev:s390x (1.0.23-1) ... 114s Selecting previously unselected package librust-rustc-version-dev:s390x. 114s Preparing to unpack .../156-librust-rustc-version-dev_0.4.0-1_s390x.deb ... 114s Unpacking librust-rustc-version-dev:s390x (0.4.0-1) ... 114s Selecting previously unselected package librust-derive-more-dev:s390x. 114s Preparing to unpack .../157-librust-derive-more-dev_0.99.17-1_s390x.deb ... 114s Unpacking librust-derive-more-dev:s390x (0.99.17-1) ... 114s Selecting previously unselected package librust-cfg-if-0.1-dev:s390x. 114s Preparing to unpack .../158-librust-cfg-if-0.1-dev_0.1.10-2_s390x.deb ... 114s Unpacking librust-cfg-if-0.1-dev:s390x (0.1.10-2) ... 114s Selecting previously unselected package librust-blobby-dev:s390x. 114s Preparing to unpack .../159-librust-blobby-dev_0.3.1-1_s390x.deb ... 114s Unpacking librust-blobby-dev:s390x (0.3.1-1) ... 114s Selecting previously unselected package librust-typenum-dev:s390x. 114s Preparing to unpack .../160-librust-typenum-dev_1.17.0-2_s390x.deb ... 114s Unpacking librust-typenum-dev:s390x (1.17.0-2) ... 114s Selecting previously unselected package librust-zeroize-derive-dev:s390x. 114s Preparing to unpack .../161-librust-zeroize-derive-dev_1.4.2-1_s390x.deb ... 114s Unpacking librust-zeroize-derive-dev:s390x (1.4.2-1) ... 114s Selecting previously unselected package librust-zeroize-dev:s390x. 114s Preparing to unpack .../162-librust-zeroize-dev_1.8.1-1_s390x.deb ... 114s Unpacking librust-zeroize-dev:s390x (1.8.1-1) ... 114s Selecting previously unselected package librust-generic-array-dev:s390x. 114s Preparing to unpack .../163-librust-generic-array-dev_0.14.7-1_s390x.deb ... 114s Unpacking librust-generic-array-dev:s390x (0.14.7-1) ... 114s Selecting previously unselected package librust-block-buffer-dev:s390x. 114s Preparing to unpack .../164-librust-block-buffer-dev_0.10.2-2_s390x.deb ... 114s Unpacking librust-block-buffer-dev:s390x (0.10.2-2) ... 115s Selecting previously unselected package librust-const-oid-dev:s390x. 115s Preparing to unpack .../165-librust-const-oid-dev_0.9.3-1_s390x.deb ... 115s Unpacking librust-const-oid-dev:s390x (0.9.3-1) ... 115s Selecting previously unselected package librust-crypto-common-dev:s390x. 115s Preparing to unpack .../166-librust-crypto-common-dev_0.1.6-1_s390x.deb ... 115s Unpacking librust-crypto-common-dev:s390x (0.1.6-1) ... 115s Selecting previously unselected package librust-subtle-dev:s390x. 115s Preparing to unpack .../167-librust-subtle-dev_2.6.1-1_s390x.deb ... 115s Unpacking librust-subtle-dev:s390x (2.6.1-1) ... 115s Selecting previously unselected package librust-digest-dev:s390x. 115s Preparing to unpack .../168-librust-digest-dev_0.10.7-2_s390x.deb ... 115s Unpacking librust-digest-dev:s390x (0.10.7-2) ... 115s Selecting previously unselected package librust-static-assertions-dev:s390x. 115s Preparing to unpack .../169-librust-static-assertions-dev_1.1.0-1_s390x.deb ... 115s Unpacking librust-static-assertions-dev:s390x (1.1.0-1) ... 115s Selecting previously unselected package librust-twox-hash-dev:s390x. 115s Preparing to unpack .../170-librust-twox-hash-dev_1.6.3-1_s390x.deb ... 115s Unpacking librust-twox-hash-dev:s390x (1.6.3-1) ... 115s Selecting previously unselected package librust-ruzstd-dev:s390x. 115s Preparing to unpack .../171-librust-ruzstd-dev_0.5.0-1_s390x.deb ... 115s Unpacking librust-ruzstd-dev:s390x (0.5.0-1) ... 115s Selecting previously unselected package librust-object-dev:s390x. 115s Preparing to unpack .../172-librust-object-dev_0.32.2-1_s390x.deb ... 115s Unpacking librust-object-dev:s390x (0.32.2-1) ... 115s Selecting previously unselected package librust-rustc-demangle-dev:s390x. 115s Preparing to unpack .../173-librust-rustc-demangle-dev_0.1.21-1_s390x.deb ... 115s Unpacking librust-rustc-demangle-dev:s390x (0.1.21-1) ... 115s Selecting previously unselected package librust-addr2line-dev:s390x. 115s Preparing to unpack .../174-librust-addr2line-dev_0.21.0-2_s390x.deb ... 115s Unpacking librust-addr2line-dev:s390x (0.21.0-2) ... 115s Selecting previously unselected package librust-aho-corasick-dev:s390x. 115s Preparing to unpack .../175-librust-aho-corasick-dev_1.1.3-1_s390x.deb ... 115s Unpacking librust-aho-corasick-dev:s390x (1.1.3-1) ... 115s Selecting previously unselected package librust-bitflags-1-dev:s390x. 115s Preparing to unpack .../176-librust-bitflags-1-dev_1.3.2-5_s390x.deb ... 115s Unpacking librust-bitflags-1-dev:s390x (1.3.2-5) ... 115s Selecting previously unselected package librust-anes-dev:s390x. 115s Preparing to unpack .../177-librust-anes-dev_0.1.6-1_s390x.deb ... 115s Unpacking librust-anes-dev:s390x (0.1.6-1) ... 115s Selecting previously unselected package librust-anstyle-dev:s390x. 115s Preparing to unpack .../178-librust-anstyle-dev_1.0.8-1_s390x.deb ... 115s Unpacking librust-anstyle-dev:s390x (1.0.8-1) ... 115s Selecting previously unselected package librust-arrayvec-dev:s390x. 115s Preparing to unpack .../179-librust-arrayvec-dev_0.7.4-2_s390x.deb ... 115s Unpacking librust-arrayvec-dev:s390x (0.7.4-2) ... 115s Selecting previously unselected package librust-utf8parse-dev:s390x. 115s Preparing to unpack .../180-librust-utf8parse-dev_0.2.1-1_s390x.deb ... 115s Unpacking librust-utf8parse-dev:s390x (0.2.1-1) ... 115s Selecting previously unselected package librust-anstyle-parse-dev:s390x. 115s Preparing to unpack .../181-librust-anstyle-parse-dev_0.2.1-1_s390x.deb ... 115s Unpacking librust-anstyle-parse-dev:s390x (0.2.1-1) ... 115s Selecting previously unselected package librust-anstyle-query-dev:s390x. 115s Preparing to unpack .../182-librust-anstyle-query-dev_1.0.0-1_s390x.deb ... 115s Unpacking librust-anstyle-query-dev:s390x (1.0.0-1) ... 115s Selecting previously unselected package librust-colorchoice-dev:s390x. 115s Preparing to unpack .../183-librust-colorchoice-dev_1.0.0-1_s390x.deb ... 115s Unpacking librust-colorchoice-dev:s390x (1.0.0-1) ... 115s Selecting previously unselected package librust-anstream-dev:s390x. 115s Preparing to unpack .../184-librust-anstream-dev_0.6.15-1_s390x.deb ... 115s Unpacking librust-anstream-dev:s390x (0.6.15-1) ... 115s Selecting previously unselected package librust-jobserver-dev:s390x. 115s Preparing to unpack .../185-librust-jobserver-dev_0.1.32-1_s390x.deb ... 115s Unpacking librust-jobserver-dev:s390x (0.1.32-1) ... 115s Selecting previously unselected package librust-shlex-dev:s390x. 115s Preparing to unpack .../186-librust-shlex-dev_1.3.0-1_s390x.deb ... 115s Unpacking librust-shlex-dev:s390x (1.3.0-1) ... 115s Selecting previously unselected package librust-cc-dev:s390x. 115s Preparing to unpack .../187-librust-cc-dev_1.1.14-1_s390x.deb ... 115s Unpacking librust-cc-dev:s390x (1.1.14-1) ... 115s Selecting previously unselected package librust-backtrace-dev:s390x. 115s Preparing to unpack .../188-librust-backtrace-dev_0.3.69-2_s390x.deb ... 115s Unpacking librust-backtrace-dev:s390x (0.3.69-2) ... 115s Selecting previously unselected package librust-anyhow-dev:s390x. 115s Preparing to unpack .../189-librust-anyhow-dev_1.0.86-1_s390x.deb ... 115s Unpacking librust-anyhow-dev:s390x (1.0.86-1) ... 115s Selecting previously unselected package librust-bytecheck-derive-dev:s390x. 115s Preparing to unpack .../190-librust-bytecheck-derive-dev_0.6.12-1_s390x.deb ... 115s Unpacking librust-bytecheck-derive-dev:s390x (0.6.12-1) ... 115s Selecting previously unselected package librust-ptr-meta-derive-dev:s390x. 115s Preparing to unpack .../191-librust-ptr-meta-derive-dev_0.1.4-1_s390x.deb ... 115s Unpacking librust-ptr-meta-derive-dev:s390x (0.1.4-1) ... 115s Selecting previously unselected package librust-ptr-meta-dev:s390x. 115s Preparing to unpack .../192-librust-ptr-meta-dev_0.1.4-1_s390x.deb ... 115s Unpacking librust-ptr-meta-dev:s390x (0.1.4-1) ... 115s Selecting previously unselected package librust-simdutf8-dev:s390x. 115s Preparing to unpack .../193-librust-simdutf8-dev_0.1.4-4_s390x.deb ... 115s Unpacking librust-simdutf8-dev:s390x (0.1.4-4) ... 115s Selecting previously unselected package librust-bytemuck-derive-dev:s390x. 115s Preparing to unpack .../194-librust-bytemuck-derive-dev_1.5.0-2_s390x.deb ... 115s Unpacking librust-bytemuck-derive-dev:s390x (1.5.0-2) ... 115s Selecting previously unselected package librust-bytemuck-dev:s390x. 115s Preparing to unpack .../195-librust-bytemuck-dev_1.14.0-1_s390x.deb ... 115s Unpacking librust-bytemuck-dev:s390x (1.14.0-1) ... 115s Selecting previously unselected package librust-atomic-dev:s390x. 115s Preparing to unpack .../196-librust-atomic-dev_0.6.0-1_s390x.deb ... 115s Unpacking librust-atomic-dev:s390x (0.6.0-1) ... 115s Selecting previously unselected package librust-md5-asm-dev:s390x. 115s Preparing to unpack .../197-librust-md5-asm-dev_0.5.0-2_s390x.deb ... 115s Unpacking librust-md5-asm-dev:s390x (0.5.0-2) ... 115s Selecting previously unselected package librust-md-5-dev:s390x. 115s Preparing to unpack .../198-librust-md-5-dev_0.10.6-1_s390x.deb ... 115s Unpacking librust-md-5-dev:s390x (0.10.6-1) ... 115s Selecting previously unselected package librust-cpufeatures-dev:s390x. 115s Preparing to unpack .../199-librust-cpufeatures-dev_0.2.11-1_s390x.deb ... 115s Unpacking librust-cpufeatures-dev:s390x (0.2.11-1) ... 115s Selecting previously unselected package librust-sha1-asm-dev:s390x. 115s Preparing to unpack .../200-librust-sha1-asm-dev_0.5.1-2_s390x.deb ... 115s Unpacking librust-sha1-asm-dev:s390x (0.5.1-2) ... 115s Selecting previously unselected package librust-sha1-dev:s390x. 115s Preparing to unpack .../201-librust-sha1-dev_0.10.6-1_s390x.deb ... 115s Unpacking librust-sha1-dev:s390x (0.10.6-1) ... 115s Selecting previously unselected package librust-slog-dev:s390x. 115s Preparing to unpack .../202-librust-slog-dev_2.7.0-1_s390x.deb ... 115s Unpacking librust-slog-dev:s390x (2.7.0-1) ... 115s Selecting previously unselected package librust-uuid-dev:s390x. 115s Preparing to unpack .../203-librust-uuid-dev_1.10.0-1_s390x.deb ... 115s Unpacking librust-uuid-dev:s390x (1.10.0-1) ... 115s Selecting previously unselected package librust-bytecheck-dev:s390x. 115s Preparing to unpack .../204-librust-bytecheck-dev_0.6.12-1_s390x.deb ... 115s Unpacking librust-bytecheck-dev:s390x (0.6.12-1) ... 115s Selecting previously unselected package librust-autocfg-dev:s390x. 115s Preparing to unpack .../205-librust-autocfg-dev_1.1.0-1_s390x.deb ... 115s Unpacking librust-autocfg-dev:s390x (1.1.0-1) ... 115s Selecting previously unselected package librust-num-traits-dev:s390x. 115s Preparing to unpack .../206-librust-num-traits-dev_0.2.19-2_s390x.deb ... 115s Unpacking librust-num-traits-dev:s390x (0.2.19-2) ... 115s Selecting previously unselected package librust-funty-dev:s390x. 115s Preparing to unpack .../207-librust-funty-dev_2.0.0-1_s390x.deb ... 115s Unpacking librust-funty-dev:s390x (2.0.0-1) ... 115s Selecting previously unselected package librust-radium-dev:s390x. 115s Preparing to unpack .../208-librust-radium-dev_1.1.0-1_s390x.deb ... 115s Unpacking librust-radium-dev:s390x (1.1.0-1) ... 115s Selecting previously unselected package librust-tap-dev:s390x. 115s Preparing to unpack .../209-librust-tap-dev_1.0.1-1_s390x.deb ... 115s Unpacking librust-tap-dev:s390x (1.0.1-1) ... 115s Selecting previously unselected package librust-traitobject-dev:s390x. 115s Preparing to unpack .../210-librust-traitobject-dev_0.1.0-1_s390x.deb ... 115s Unpacking librust-traitobject-dev:s390x (0.1.0-1) ... 115s Selecting previously unselected package librust-unsafe-any-dev:s390x. 115s Preparing to unpack .../211-librust-unsafe-any-dev_0.4.2-2_s390x.deb ... 115s Unpacking librust-unsafe-any-dev:s390x (0.4.2-2) ... 115s Selecting previously unselected package librust-typemap-dev:s390x. 115s Preparing to unpack .../212-librust-typemap-dev_0.3.3-2_s390x.deb ... 115s Unpacking librust-typemap-dev:s390x (0.3.3-2) ... 115s Selecting previously unselected package librust-wyz-dev:s390x. 115s Preparing to unpack .../213-librust-wyz-dev_0.5.1-1_s390x.deb ... 115s Unpacking librust-wyz-dev:s390x (0.5.1-1) ... 115s Selecting previously unselected package librust-bitvec-dev:s390x. 115s Preparing to unpack .../214-librust-bitvec-dev_1.0.1-1_s390x.deb ... 115s Unpacking librust-bitvec-dev:s390x (1.0.1-1) ... 115s Selecting previously unselected package librust-bytes-dev:s390x. 115s Preparing to unpack .../215-librust-bytes-dev_1.8.0-1_s390x.deb ... 115s Unpacking librust-bytes-dev:s390x (1.8.0-1) ... 115s Selecting previously unselected package librust-rend-dev:s390x. 115s Preparing to unpack .../216-librust-rend-dev_0.4.0-1_s390x.deb ... 115s Unpacking librust-rend-dev:s390x (0.4.0-1) ... 115s Selecting previously unselected package librust-rkyv-derive-dev:s390x. 115s Preparing to unpack .../217-librust-rkyv-derive-dev_0.7.44-1_s390x.deb ... 115s Unpacking librust-rkyv-derive-dev:s390x (0.7.44-1) ... 115s Selecting previously unselected package librust-seahash-dev:s390x. 115s Preparing to unpack .../218-librust-seahash-dev_4.1.0-1_s390x.deb ... 115s Unpacking librust-seahash-dev:s390x (4.1.0-1) ... 115s Selecting previously unselected package librust-smol-str-dev:s390x. 115s Preparing to unpack .../219-librust-smol-str-dev_0.2.0-1_s390x.deb ... 115s Unpacking librust-smol-str-dev:s390x (0.2.0-1) ... 115s Selecting previously unselected package librust-tinyvec-dev:s390x. 115s Preparing to unpack .../220-librust-tinyvec-dev_1.6.0-2_s390x.deb ... 115s Unpacking librust-tinyvec-dev:s390x (1.6.0-2) ... 115s Selecting previously unselected package librust-tinyvec-macros-dev:s390x. 115s Preparing to unpack .../221-librust-tinyvec-macros-dev_0.1.0-1_s390x.deb ... 115s Unpacking librust-tinyvec-macros-dev:s390x (0.1.0-1) ... 115s Selecting previously unselected package librust-tinyvec+tinyvec-macros-dev:s390x. 115s Preparing to unpack .../222-librust-tinyvec+tinyvec-macros-dev_1.6.0-2_s390x.deb ... 115s Unpacking librust-tinyvec+tinyvec-macros-dev:s390x (1.6.0-2) ... 115s Selecting previously unselected package librust-rkyv-dev:s390x. 115s Preparing to unpack .../223-librust-rkyv-dev_0.7.44-1_s390x.deb ... 115s Unpacking librust-rkyv-dev:s390x (0.7.44-1) ... 115s Selecting previously unselected package librust-num-complex-dev:s390x. 115s Preparing to unpack .../224-librust-num-complex-dev_0.4.6-2_s390x.deb ... 115s Unpacking librust-num-complex-dev:s390x (0.4.6-2) ... 115s Selecting previously unselected package librust-approx-dev:s390x. 115s Preparing to unpack .../225-librust-approx-dev_0.5.1-1_s390x.deb ... 115s Unpacking librust-approx-dev:s390x (0.5.1-1) ... 115s Selecting previously unselected package librust-array-init-dev:s390x. 115s Preparing to unpack .../226-librust-array-init-dev_2.0.1-1_s390x.deb ... 115s Unpacking librust-array-init-dev:s390x (2.0.1-1) ... 115s Selecting previously unselected package librust-async-attributes-dev. 115s Preparing to unpack .../227-librust-async-attributes-dev_1.1.2-6_all.deb ... 115s Unpacking librust-async-attributes-dev (1.1.2-6) ... 115s Selecting previously unselected package librust-concurrent-queue-dev:s390x. 115s Preparing to unpack .../228-librust-concurrent-queue-dev_2.5.0-4_s390x.deb ... 115s Unpacking librust-concurrent-queue-dev:s390x (2.5.0-4) ... 115s Selecting previously unselected package librust-parking-dev:s390x. 115s Preparing to unpack .../229-librust-parking-dev_2.2.0-1_s390x.deb ... 115s Unpacking librust-parking-dev:s390x (2.2.0-1) ... 115s Selecting previously unselected package librust-pin-project-lite-dev:s390x. 115s Preparing to unpack .../230-librust-pin-project-lite-dev_0.2.13-1_s390x.deb ... 115s Unpacking librust-pin-project-lite-dev:s390x (0.2.13-1) ... 115s Selecting previously unselected package librust-event-listener-dev. 115s Preparing to unpack .../231-librust-event-listener-dev_5.3.1-8_all.deb ... 115s Unpacking librust-event-listener-dev (5.3.1-8) ... 115s Selecting previously unselected package librust-event-listener-strategy-dev:s390x. 115s Preparing to unpack .../232-librust-event-listener-strategy-dev_0.5.2-3_s390x.deb ... 115s Unpacking librust-event-listener-strategy-dev:s390x (0.5.2-3) ... 115s Selecting previously unselected package librust-futures-core-dev:s390x. 115s Preparing to unpack .../233-librust-futures-core-dev_0.3.30-1_s390x.deb ... 115s Unpacking librust-futures-core-dev:s390x (0.3.30-1) ... 115s Selecting previously unselected package librust-async-channel-dev. 115s Preparing to unpack .../234-librust-async-channel-dev_2.3.1-8_all.deb ... 115s Unpacking librust-async-channel-dev (2.3.1-8) ... 115s Selecting previously unselected package librust-async-task-dev. 115s Preparing to unpack .../235-librust-async-task-dev_4.7.1-3_all.deb ... 115s Unpacking librust-async-task-dev (4.7.1-3) ... 115s Selecting previously unselected package librust-fastrand-dev:s390x. 115s Preparing to unpack .../236-librust-fastrand-dev_2.1.1-1_s390x.deb ... 115s Unpacking librust-fastrand-dev:s390x (2.1.1-1) ... 115s Selecting previously unselected package librust-futures-io-dev:s390x. 115s Preparing to unpack .../237-librust-futures-io-dev_0.3.31-1_s390x.deb ... 115s Unpacking librust-futures-io-dev:s390x (0.3.31-1) ... 115s Selecting previously unselected package librust-futures-lite-dev:s390x. 115s Preparing to unpack .../238-librust-futures-lite-dev_2.3.0-2_s390x.deb ... 115s Unpacking librust-futures-lite-dev:s390x (2.3.0-2) ... 115s Selecting previously unselected package librust-slab-dev:s390x. 115s Preparing to unpack .../239-librust-slab-dev_0.4.9-1_s390x.deb ... 115s Unpacking librust-slab-dev:s390x (0.4.9-1) ... 115s Selecting previously unselected package librust-async-executor-dev. 115s Preparing to unpack .../240-librust-async-executor-dev_1.13.1-1_all.deb ... 115s Unpacking librust-async-executor-dev (1.13.1-1) ... 115s Selecting previously unselected package librust-async-lock-dev. 115s Preparing to unpack .../241-librust-async-lock-dev_3.4.0-4_all.deb ... 115s Unpacking librust-async-lock-dev (3.4.0-4) ... 115s Selecting previously unselected package librust-atomic-waker-dev:s390x. 115s Preparing to unpack .../242-librust-atomic-waker-dev_1.1.2-1_s390x.deb ... 115s Unpacking librust-atomic-waker-dev:s390x (1.1.2-1) ... 115s Selecting previously unselected package librust-tracing-attributes-dev:s390x. 115s Preparing to unpack .../243-librust-tracing-attributes-dev_0.1.27-1_s390x.deb ... 115s Unpacking librust-tracing-attributes-dev:s390x (0.1.27-1) ... 115s Selecting previously unselected package librust-valuable-derive-dev:s390x. 115s Preparing to unpack .../244-librust-valuable-derive-dev_0.1.0-1_s390x.deb ... 115s Unpacking librust-valuable-derive-dev:s390x (0.1.0-1) ... 115s Selecting previously unselected package librust-valuable-dev:s390x. 115s Preparing to unpack .../245-librust-valuable-dev_0.1.0-4_s390x.deb ... 115s Unpacking librust-valuable-dev:s390x (0.1.0-4) ... 115s Selecting previously unselected package librust-tracing-core-dev:s390x. 115s Preparing to unpack .../246-librust-tracing-core-dev_0.1.32-1_s390x.deb ... 115s Unpacking librust-tracing-core-dev:s390x (0.1.32-1) ... 115s Selecting previously unselected package librust-tracing-dev:s390x. 115s Preparing to unpack .../247-librust-tracing-dev_0.1.40-1_s390x.deb ... 115s Unpacking librust-tracing-dev:s390x (0.1.40-1) ... 115s Selecting previously unselected package librust-blocking-dev. 115s Preparing to unpack .../248-librust-blocking-dev_1.6.1-5_all.deb ... 115s Unpacking librust-blocking-dev (1.6.1-5) ... 115s Selecting previously unselected package librust-async-fs-dev. 115s Preparing to unpack .../249-librust-async-fs-dev_2.1.2-4_all.deb ... 115s Unpacking librust-async-fs-dev (2.1.2-4) ... 115s Selecting previously unselected package librust-bitflags-dev:s390x. 115s Preparing to unpack .../250-librust-bitflags-dev_2.6.0-1_s390x.deb ... 115s Unpacking librust-bitflags-dev:s390x (2.6.0-1) ... 116s Selecting previously unselected package librust-compiler-builtins+core-dev:s390x. 116s Preparing to unpack .../251-librust-compiler-builtins+core-dev_0.1.101-1_s390x.deb ... 116s Unpacking librust-compiler-builtins+core-dev:s390x (0.1.101-1) ... 116s Selecting previously unselected package librust-compiler-builtins+rustc-dep-of-std-dev:s390x. 116s Preparing to unpack .../252-librust-compiler-builtins+rustc-dep-of-std-dev_0.1.101-1_s390x.deb ... 116s Unpacking librust-compiler-builtins+rustc-dep-of-std-dev:s390x (0.1.101-1) ... 116s Selecting previously unselected package librust-errno-dev:s390x. 116s Preparing to unpack .../253-librust-errno-dev_0.3.8-1_s390x.deb ... 116s Unpacking librust-errno-dev:s390x (0.3.8-1) ... 116s Selecting previously unselected package librust-linux-raw-sys-dev:s390x. 116s Preparing to unpack .../254-librust-linux-raw-sys-dev_0.4.14-1_s390x.deb ... 116s Unpacking librust-linux-raw-sys-dev:s390x (0.4.14-1) ... 116s Selecting previously unselected package librust-rustix-dev:s390x. 116s Preparing to unpack .../255-librust-rustix-dev_0.38.32-1_s390x.deb ... 116s Unpacking librust-rustix-dev:s390x (0.38.32-1) ... 116s Selecting previously unselected package librust-polling-dev:s390x. 116s Preparing to unpack .../256-librust-polling-dev_3.4.0-1_s390x.deb ... 116s Unpacking librust-polling-dev:s390x (3.4.0-1) ... 116s Selecting previously unselected package librust-async-io-dev:s390x. 116s Preparing to unpack .../257-librust-async-io-dev_2.3.3-4_s390x.deb ... 116s Unpacking librust-async-io-dev:s390x (2.3.3-4) ... 116s Selecting previously unselected package librust-mio-dev:s390x. 116s Preparing to unpack .../258-librust-mio-dev_1.0.2-2_s390x.deb ... 116s Unpacking librust-mio-dev:s390x (1.0.2-2) ... 116s Selecting previously unselected package librust-owning-ref-dev:s390x. 116s Preparing to unpack .../259-librust-owning-ref-dev_0.4.1-1_s390x.deb ... 116s Unpacking librust-owning-ref-dev:s390x (0.4.1-1) ... 116s Selecting previously unselected package librust-scopeguard-dev:s390x. 116s Preparing to unpack .../260-librust-scopeguard-dev_1.2.0-1_s390x.deb ... 116s Unpacking librust-scopeguard-dev:s390x (1.2.0-1) ... 116s Selecting previously unselected package librust-lock-api-dev:s390x. 116s Preparing to unpack .../261-librust-lock-api-dev_0.4.12-1_s390x.deb ... 116s Unpacking librust-lock-api-dev:s390x (0.4.12-1) ... 116s Selecting previously unselected package librust-parking-lot-dev:s390x. 116s Preparing to unpack .../262-librust-parking-lot-dev_0.12.3-1_s390x.deb ... 116s Unpacking librust-parking-lot-dev:s390x (0.12.3-1) ... 116s Selecting previously unselected package librust-signal-hook-registry-dev:s390x. 116s Preparing to unpack .../263-librust-signal-hook-registry-dev_1.4.0-1_s390x.deb ... 116s Unpacking librust-signal-hook-registry-dev:s390x (1.4.0-1) ... 116s Selecting previously unselected package librust-socket2-dev:s390x. 116s Preparing to unpack .../264-librust-socket2-dev_0.5.7-1_s390x.deb ... 116s Unpacking librust-socket2-dev:s390x (0.5.7-1) ... 116s Selecting previously unselected package librust-tokio-macros-dev:s390x. 116s Preparing to unpack .../265-librust-tokio-macros-dev_2.4.0-2_s390x.deb ... 116s Unpacking librust-tokio-macros-dev:s390x (2.4.0-2) ... 116s Selecting previously unselected package librust-tokio-dev:s390x. 116s Preparing to unpack .../266-librust-tokio-dev_1.39.3-3_s390x.deb ... 116s Unpacking librust-tokio-dev:s390x (1.39.3-3) ... 116s Selecting previously unselected package librust-async-global-executor-dev:s390x. 116s Preparing to unpack .../267-librust-async-global-executor-dev_2.4.1-5_s390x.deb ... 116s Unpacking librust-async-global-executor-dev:s390x (2.4.1-5) ... 116s Selecting previously unselected package librust-async-net-dev. 116s Preparing to unpack .../268-librust-async-net-dev_2.0.0-4_all.deb ... 116s Unpacking librust-async-net-dev (2.0.0-4) ... 116s Selecting previously unselected package librust-async-signal-dev:s390x. 116s Preparing to unpack .../269-librust-async-signal-dev_0.2.10-1_s390x.deb ... 116s Unpacking librust-async-signal-dev:s390x (0.2.10-1) ... 116s Selecting previously unselected package librust-async-process-dev. 116s Preparing to unpack .../270-librust-async-process-dev_2.3.0-1_all.deb ... 116s Unpacking librust-async-process-dev (2.3.0-1) ... 116s Selecting previously unselected package librust-kv-log-macro-dev. 116s Preparing to unpack .../271-librust-kv-log-macro-dev_1.0.8-4_all.deb ... 116s Unpacking librust-kv-log-macro-dev (1.0.8-4) ... 116s Selecting previously unselected package librust-pin-utils-dev:s390x. 116s Preparing to unpack .../272-librust-pin-utils-dev_0.1.0-1_s390x.deb ... 116s Unpacking librust-pin-utils-dev:s390x (0.1.0-1) ... 116s Selecting previously unselected package librust-async-std-dev. 116s Preparing to unpack .../273-librust-async-std-dev_1.13.0-1_all.deb ... 116s Unpacking librust-async-std-dev (1.13.0-1) ... 116s Selecting previously unselected package librust-base64-dev:s390x. 116s Preparing to unpack .../274-librust-base64-dev_0.21.7-1_s390x.deb ... 116s Unpacking librust-base64-dev:s390x (0.21.7-1) ... 116s Selecting previously unselected package librust-bit-vec-dev:s390x. 116s Preparing to unpack .../275-librust-bit-vec-dev_0.6.3-1_s390x.deb ... 116s Unpacking librust-bit-vec-dev:s390x (0.6.3-1) ... 116s Selecting previously unselected package librust-bit-set-dev:s390x. 116s Preparing to unpack .../276-librust-bit-set-dev_0.5.2-1_s390x.deb ... 116s Unpacking librust-bit-set-dev:s390x (0.5.2-1) ... 116s Selecting previously unselected package librust-bit-set+std-dev:s390x. 116s Preparing to unpack .../277-librust-bit-set+std-dev_0.5.2-1_s390x.deb ... 116s Unpacking librust-bit-set+std-dev:s390x (0.5.2-1) ... 116s Selecting previously unselected package librust-regex-syntax-dev:s390x. 116s Preparing to unpack .../278-librust-regex-syntax-dev_0.8.2-1_s390x.deb ... 116s Unpacking librust-regex-syntax-dev:s390x (0.8.2-1) ... 116s Selecting previously unselected package librust-regex-automata-dev:s390x. 116s Preparing to unpack .../279-librust-regex-automata-dev_0.4.7-1_s390x.deb ... 116s Unpacking librust-regex-automata-dev:s390x (0.4.7-1) ... 116s Selecting previously unselected package librust-bstr-dev:s390x. 116s Preparing to unpack .../280-librust-bstr-dev_1.7.0-2build1_s390x.deb ... 116s Unpacking librust-bstr-dev:s390x (1.7.0-2build1) ... 116s Selecting previously unselected package librust-bumpalo-dev:s390x. 116s Preparing to unpack .../281-librust-bumpalo-dev_3.16.0-1_s390x.deb ... 116s Unpacking librust-bumpalo-dev:s390x (3.16.0-1) ... 116s Selecting previously unselected package librust-cast-dev:s390x. 116s Preparing to unpack .../282-librust-cast-dev_0.3.0-1_s390x.deb ... 116s Unpacking librust-cast-dev:s390x (0.3.0-1) ... 116s Selecting previously unselected package librust-iana-time-zone-dev:s390x. 116s Preparing to unpack .../283-librust-iana-time-zone-dev_0.1.60-1_s390x.deb ... 116s Unpacking librust-iana-time-zone-dev:s390x (0.1.60-1) ... 116s Selecting previously unselected package librust-wasm-bindgen-shared-dev:s390x. 116s Preparing to unpack .../284-librust-wasm-bindgen-shared-dev_0.2.87-1_s390x.deb ... 116s Unpacking librust-wasm-bindgen-shared-dev:s390x (0.2.87-1) ... 116s Selecting previously unselected package librust-wasm-bindgen-backend-dev:s390x. 116s Preparing to unpack .../285-librust-wasm-bindgen-backend-dev_0.2.87-1_s390x.deb ... 116s Unpacking librust-wasm-bindgen-backend-dev:s390x (0.2.87-1) ... 116s Selecting previously unselected package librust-wasm-bindgen-macro-support-dev:s390x. 116s Preparing to unpack .../286-librust-wasm-bindgen-macro-support-dev_0.2.87-1_s390x.deb ... 116s Unpacking librust-wasm-bindgen-macro-support-dev:s390x (0.2.87-1) ... 116s Selecting previously unselected package librust-wasm-bindgen-macro-dev:s390x. 116s Preparing to unpack .../287-librust-wasm-bindgen-macro-dev_0.2.87-1_s390x.deb ... 116s Unpacking librust-wasm-bindgen-macro-dev:s390x (0.2.87-1) ... 116s Selecting previously unselected package librust-wasm-bindgen-dev:s390x. 116s Preparing to unpack .../288-librust-wasm-bindgen-dev_0.2.87-1_s390x.deb ... 116s Unpacking librust-wasm-bindgen-dev:s390x (0.2.87-1) ... 116s Selecting previously unselected package librust-wasm-bindgen-macro-support+spans-dev:s390x. 116s Preparing to unpack .../289-librust-wasm-bindgen-macro-support+spans-dev_0.2.87-1_s390x.deb ... 116s Unpacking librust-wasm-bindgen-macro-support+spans-dev:s390x (0.2.87-1) ... 116s Selecting previously unselected package librust-wasm-bindgen-macro+spans-dev:s390x. 116s Preparing to unpack .../290-librust-wasm-bindgen-macro+spans-dev_0.2.87-1_s390x.deb ... 116s Unpacking librust-wasm-bindgen-macro+spans-dev:s390x (0.2.87-1) ... 116s Selecting previously unselected package librust-wasm-bindgen+spans-dev:s390x. 116s Preparing to unpack .../291-librust-wasm-bindgen+spans-dev_0.2.87-1_s390x.deb ... 116s Unpacking librust-wasm-bindgen+spans-dev:s390x (0.2.87-1) ... 116s Selecting previously unselected package librust-wasm-bindgen+default-dev:s390x. 116s Preparing to unpack .../292-librust-wasm-bindgen+default-dev_0.2.87-1_s390x.deb ... 116s Unpacking librust-wasm-bindgen+default-dev:s390x (0.2.87-1) ... 116s Selecting previously unselected package librust-js-sys-dev:s390x. 116s Preparing to unpack .../293-librust-js-sys-dev_0.3.64-1_s390x.deb ... 116s Unpacking librust-js-sys-dev:s390x (0.3.64-1) ... 116s Selecting previously unselected package librust-pure-rust-locales-dev:s390x. 116s Preparing to unpack .../294-librust-pure-rust-locales-dev_0.8.1-1_s390x.deb ... 116s Unpacking librust-pure-rust-locales-dev:s390x (0.8.1-1) ... 116s Selecting previously unselected package librust-chrono-dev:s390x. 116s Preparing to unpack .../295-librust-chrono-dev_0.4.38-2_s390x.deb ... 116s Unpacking librust-chrono-dev:s390x (0.4.38-2) ... 116s Selecting previously unselected package librust-regex-dev:s390x. 116s Preparing to unpack .../296-librust-regex-dev_1.10.6-1_s390x.deb ... 116s Unpacking librust-regex-dev:s390x (1.10.6-1) ... 116s Selecting previously unselected package librust-parse-zoneinfo-dev:s390x. 116s Preparing to unpack .../297-librust-parse-zoneinfo-dev_0.3.0-1_s390x.deb ... 116s Unpacking librust-parse-zoneinfo-dev:s390x (0.3.0-1) ... 116s Selecting previously unselected package librust-siphasher-dev:s390x. 116s Preparing to unpack .../298-librust-siphasher-dev_0.3.10-1_s390x.deb ... 116s Unpacking librust-siphasher-dev:s390x (0.3.10-1) ... 116s Selecting previously unselected package librust-phf-shared-dev:s390x. 116s Preparing to unpack .../299-librust-phf-shared-dev_0.11.2-1_s390x.deb ... 116s Unpacking librust-phf-shared-dev:s390x (0.11.2-1) ... 116s Selecting previously unselected package librust-phf-dev:s390x. 116s Preparing to unpack .../300-librust-phf-dev_0.11.2-1_s390x.deb ... 116s Unpacking librust-phf-dev:s390x (0.11.2-1) ... 116s Selecting previously unselected package librust-uncased-dev:s390x. 116s Preparing to unpack .../301-librust-uncased-dev_0.9.6-2_s390x.deb ... 116s Unpacking librust-uncased-dev:s390x (0.9.6-2) ... 116s Selecting previously unselected package librust-phf-shared+uncased-dev:s390x. 116s Preparing to unpack .../302-librust-phf-shared+uncased-dev_0.11.2-1_s390x.deb ... 116s Unpacking librust-phf-shared+uncased-dev:s390x (0.11.2-1) ... 116s Selecting previously unselected package librust-phf+uncased-dev:s390x. 116s Preparing to unpack .../303-librust-phf+uncased-dev_0.11.2-1_s390x.deb ... 116s Unpacking librust-phf+uncased-dev:s390x (0.11.2-1) ... 116s Selecting previously unselected package librust-ciborium-io-dev:s390x. 116s Preparing to unpack .../304-librust-ciborium-io-dev_0.2.2-1_s390x.deb ... 116s Unpacking librust-ciborium-io-dev:s390x (0.2.2-1) ... 116s Selecting previously unselected package librust-half-dev:s390x. 116s Preparing to unpack .../305-librust-half-dev_1.8.2-4_s390x.deb ... 116s Unpacking librust-half-dev:s390x (1.8.2-4) ... 116s Selecting previously unselected package librust-ciborium-ll-dev:s390x. 116s Preparing to unpack .../306-librust-ciborium-ll-dev_0.2.2-1_s390x.deb ... 116s Unpacking librust-ciborium-ll-dev:s390x (0.2.2-1) ... 116s Selecting previously unselected package librust-ciborium-dev:s390x. 116s Preparing to unpack .../307-librust-ciborium-dev_0.2.2-2_s390x.deb ... 116s Unpacking librust-ciborium-dev:s390x (0.2.2-2) ... 116s Selecting previously unselected package librust-clap-lex-dev:s390x. 116s Preparing to unpack .../308-librust-clap-lex-dev_0.7.2-2_s390x.deb ... 116s Unpacking librust-clap-lex-dev:s390x (0.7.2-2) ... 116s Selecting previously unselected package librust-strsim-dev:s390x. 116s Preparing to unpack .../309-librust-strsim-dev_0.11.1-1_s390x.deb ... 116s Unpacking librust-strsim-dev:s390x (0.11.1-1) ... 116s Selecting previously unselected package librust-terminal-size-dev:s390x. 116s Preparing to unpack .../310-librust-terminal-size-dev_0.3.0-2_s390x.deb ... 116s Unpacking librust-terminal-size-dev:s390x (0.3.0-2) ... 116s Selecting previously unselected package librust-unicase-dev:s390x. 116s Preparing to unpack .../311-librust-unicase-dev_2.7.0-1_s390x.deb ... 116s Unpacking librust-unicase-dev:s390x (2.7.0-1) ... 116s Selecting previously unselected package librust-unicode-width-dev:s390x. 116s Preparing to unpack .../312-librust-unicode-width-dev_0.1.14-1_s390x.deb ... 116s Unpacking librust-unicode-width-dev:s390x (0.1.14-1) ... 116s Selecting previously unselected package librust-clap-builder-dev:s390x. 116s Preparing to unpack .../313-librust-clap-builder-dev_4.5.15-2_s390x.deb ... 116s Unpacking librust-clap-builder-dev:s390x (4.5.15-2) ... 116s Selecting previously unselected package librust-heck-dev:s390x. 116s Preparing to unpack .../314-librust-heck-dev_0.4.1-1_s390x.deb ... 116s Unpacking librust-heck-dev:s390x (0.4.1-1) ... 116s Selecting previously unselected package librust-clap-derive-dev:s390x. 116s Preparing to unpack .../315-librust-clap-derive-dev_4.5.13-2_s390x.deb ... 116s Unpacking librust-clap-derive-dev:s390x (4.5.13-2) ... 116s Selecting previously unselected package librust-clap-dev:s390x. 116s Preparing to unpack .../316-librust-clap-dev_4.5.16-1_s390x.deb ... 116s Unpacking librust-clap-dev:s390x (4.5.16-1) ... 116s Selecting previously unselected package librust-csv-core-dev:s390x. 116s Preparing to unpack .../317-librust-csv-core-dev_0.1.11-1_s390x.deb ... 116s Unpacking librust-csv-core-dev:s390x (0.1.11-1) ... 116s Selecting previously unselected package librust-csv-dev:s390x. 116s Preparing to unpack .../318-librust-csv-dev_1.3.0-1_s390x.deb ... 116s Unpacking librust-csv-dev:s390x (1.3.0-1) ... 117s Selecting previously unselected package librust-futures-sink-dev:s390x. 117s Preparing to unpack .../319-librust-futures-sink-dev_0.3.31-1_s390x.deb ... 117s Unpacking librust-futures-sink-dev:s390x (0.3.31-1) ... 117s Selecting previously unselected package librust-futures-channel-dev:s390x. 117s Preparing to unpack .../320-librust-futures-channel-dev_0.3.30-1_s390x.deb ... 117s Unpacking librust-futures-channel-dev:s390x (0.3.30-1) ... 117s Selecting previously unselected package librust-futures-task-dev:s390x. 117s Preparing to unpack .../321-librust-futures-task-dev_0.3.30-1_s390x.deb ... 117s Unpacking librust-futures-task-dev:s390x (0.3.30-1) ... 117s Selecting previously unselected package librust-futures-macro-dev:s390x. 117s Preparing to unpack .../322-librust-futures-macro-dev_0.3.30-1_s390x.deb ... 117s Unpacking librust-futures-macro-dev:s390x (0.3.30-1) ... 117s Selecting previously unselected package librust-futures-util-dev:s390x. 117s Preparing to unpack .../323-librust-futures-util-dev_0.3.30-2_s390x.deb ... 117s Unpacking librust-futures-util-dev:s390x (0.3.30-2) ... 117s Selecting previously unselected package librust-num-cpus-dev:s390x. 117s Preparing to unpack .../324-librust-num-cpus-dev_1.16.0-1_s390x.deb ... 117s Unpacking librust-num-cpus-dev:s390x (1.16.0-1) ... 117s Selecting previously unselected package librust-futures-executor-dev:s390x. 117s Preparing to unpack .../325-librust-futures-executor-dev_0.3.30-1_s390x.deb ... 117s Unpacking librust-futures-executor-dev:s390x (0.3.30-1) ... 117s Selecting previously unselected package librust-futures-dev:s390x. 117s Preparing to unpack .../326-librust-futures-dev_0.3.30-2_s390x.deb ... 117s Unpacking librust-futures-dev:s390x (0.3.30-2) ... 117s Selecting previously unselected package librust-is-terminal-dev:s390x. 117s Preparing to unpack .../327-librust-is-terminal-dev_0.4.13-1_s390x.deb ... 117s Unpacking librust-is-terminal-dev:s390x (0.4.13-1) ... 117s Selecting previously unselected package librust-itertools-dev:s390x. 117s Preparing to unpack .../328-librust-itertools-dev_0.10.5-1_s390x.deb ... 117s Unpacking librust-itertools-dev:s390x (0.10.5-1) ... 117s Selecting previously unselected package librust-oorandom-dev:s390x. 117s Preparing to unpack .../329-librust-oorandom-dev_11.1.3-1_s390x.deb ... 117s Unpacking librust-oorandom-dev:s390x (11.1.3-1) ... 117s Selecting previously unselected package librust-winapi-i686-pc-windows-gnu-dev:s390x. 117s Preparing to unpack .../330-librust-winapi-i686-pc-windows-gnu-dev_0.4.0-1_s390x.deb ... 117s Unpacking librust-winapi-i686-pc-windows-gnu-dev:s390x (0.4.0-1) ... 117s Selecting previously unselected package librust-winapi-x86-64-pc-windows-gnu-dev:s390x. 117s Preparing to unpack .../331-librust-winapi-x86-64-pc-windows-gnu-dev_0.4.0-1_s390x.deb ... 117s Unpacking librust-winapi-x86-64-pc-windows-gnu-dev:s390x (0.4.0-1) ... 117s Selecting previously unselected package librust-winapi-dev:s390x. 117s Preparing to unpack .../332-librust-winapi-dev_0.3.9-1_s390x.deb ... 117s Unpacking librust-winapi-dev:s390x (0.3.9-1) ... 117s Selecting previously unselected package librust-dirs-sys-next-dev:s390x. 117s Preparing to unpack .../333-librust-dirs-sys-next-dev_0.1.1-1_s390x.deb ... 117s Unpacking librust-dirs-sys-next-dev:s390x (0.1.1-1) ... 117s Selecting previously unselected package librust-dirs-next-dev:s390x. 117s Preparing to unpack .../334-librust-dirs-next-dev_2.0.0-1_s390x.deb ... 117s Unpacking librust-dirs-next-dev:s390x (2.0.0-1) ... 117s Selecting previously unselected package librust-float-ord-dev:s390x. 117s Preparing to unpack .../335-librust-float-ord-dev_0.3.2-1_s390x.deb ... 117s Unpacking librust-float-ord-dev:s390x (0.3.2-1) ... 117s Selecting previously unselected package librust-cmake-dev:s390x. 117s Preparing to unpack .../336-librust-cmake-dev_0.1.45-1_s390x.deb ... 117s Unpacking librust-cmake-dev:s390x (0.1.45-1) ... 117s Selecting previously unselected package librust-freetype-sys-dev:s390x. 117s Preparing to unpack .../337-librust-freetype-sys-dev_0.13.1-1_s390x.deb ... 117s Unpacking librust-freetype-sys-dev:s390x (0.13.1-1) ... 117s Selecting previously unselected package librust-freetype-dev:s390x. 117s Preparing to unpack .../338-librust-freetype-dev_0.7.0-4_s390x.deb ... 117s Unpacking librust-freetype-dev:s390x (0.7.0-4) ... 117s Selecting previously unselected package librust-spin-dev:s390x. 117s Preparing to unpack .../339-librust-spin-dev_0.9.8-4_s390x.deb ... 117s Unpacking librust-spin-dev:s390x (0.9.8-4) ... 117s Selecting previously unselected package librust-lazy-static-dev:s390x. 117s Preparing to unpack .../340-librust-lazy-static-dev_1.5.0-1_s390x.deb ... 117s Unpacking librust-lazy-static-dev:s390x (1.5.0-1) ... 117s Selecting previously unselected package librust-pathfinder-simd-dev:s390x. 117s Preparing to unpack .../341-librust-pathfinder-simd-dev_0.5.2-1_s390x.deb ... 117s Unpacking librust-pathfinder-simd-dev:s390x (0.5.2-1) ... 117s Selecting previously unselected package librust-pathfinder-geometry-dev:s390x. 117s Preparing to unpack .../342-librust-pathfinder-geometry-dev_0.5.1-1_s390x.deb ... 117s Unpacking librust-pathfinder-geometry-dev:s390x (0.5.1-1) ... 117s Selecting previously unselected package librust-winapi-util-dev:s390x. 117s Preparing to unpack .../343-librust-winapi-util-dev_0.1.6-1_s390x.deb ... 117s Unpacking librust-winapi-util-dev:s390x (0.1.6-1) ... 117s Selecting previously unselected package librust-same-file-dev:s390x. 117s Preparing to unpack .../344-librust-same-file-dev_1.0.6-1_s390x.deb ... 117s Unpacking librust-same-file-dev:s390x (1.0.6-1) ... 117s Selecting previously unselected package librust-walkdir-dev:s390x. 117s Preparing to unpack .../345-librust-walkdir-dev_2.5.0-1_s390x.deb ... 117s Unpacking librust-walkdir-dev:s390x (2.5.0-1) ... 117s Selecting previously unselected package librust-const-cstr-dev:s390x. 117s Preparing to unpack .../346-librust-const-cstr-dev_0.3.0-1_s390x.deb ... 117s Unpacking librust-const-cstr-dev:s390x (0.3.0-1) ... 117s Selecting previously unselected package librust-libloading-dev:s390x. 117s Preparing to unpack .../347-librust-libloading-dev_0.8.5-1_s390x.deb ... 117s Unpacking librust-libloading-dev:s390x (0.8.5-1) ... 117s Selecting previously unselected package librust-dlib-dev:s390x. 117s Preparing to unpack .../348-librust-dlib-dev_0.5.2-2_s390x.deb ... 117s Unpacking librust-dlib-dev:s390x (0.5.2-2) ... 117s Selecting previously unselected package librust-yeslogic-fontconfig-sys-dev:s390x. 117s Preparing to unpack .../349-librust-yeslogic-fontconfig-sys-dev_3.0.1-1_s390x.deb ... 117s Unpacking librust-yeslogic-fontconfig-sys-dev:s390x (3.0.1-1) ... 117s Selecting previously unselected package librust-font-kit-dev:s390x. 117s Preparing to unpack .../350-librust-font-kit-dev_0.11.0-2_s390x.deb ... 117s Unpacking librust-font-kit-dev:s390x (0.11.0-2) ... 117s Selecting previously unselected package librust-color-quant-dev:s390x. 117s Preparing to unpack .../351-librust-color-quant-dev_1.1.0-1_s390x.deb ... 117s Unpacking librust-color-quant-dev:s390x (1.1.0-1) ... 117s Selecting previously unselected package librust-weezl-dev:s390x. 117s Preparing to unpack .../352-librust-weezl-dev_0.1.5-1_s390x.deb ... 117s Unpacking librust-weezl-dev:s390x (0.1.5-1) ... 117s Selecting previously unselected package librust-gif-dev:s390x. 117s Preparing to unpack .../353-librust-gif-dev_0.11.3-1_s390x.deb ... 117s Unpacking librust-gif-dev:s390x (0.11.3-1) ... 117s Selecting previously unselected package librust-jpeg-decoder-dev:s390x. 117s Preparing to unpack .../354-librust-jpeg-decoder-dev_0.3.0-1_s390x.deb ... 117s Unpacking librust-jpeg-decoder-dev:s390x (0.3.0-1) ... 117s Selecting previously unselected package librust-num-integer-dev:s390x. 117s Preparing to unpack .../355-librust-num-integer-dev_0.1.46-1_s390x.deb ... 117s Unpacking librust-num-integer-dev:s390x (0.1.46-1) ... 117s Selecting previously unselected package librust-humantime-dev:s390x. 117s Preparing to unpack .../356-librust-humantime-dev_2.1.0-1_s390x.deb ... 117s Unpacking librust-humantime-dev:s390x (2.1.0-1) ... 117s Selecting previously unselected package librust-termcolor-dev:s390x. 117s Preparing to unpack .../357-librust-termcolor-dev_1.4.1-1_s390x.deb ... 117s Unpacking librust-termcolor-dev:s390x (1.4.1-1) ... 117s Selecting previously unselected package librust-env-logger-dev:s390x. 117s Preparing to unpack .../358-librust-env-logger-dev_0.10.2-2_s390x.deb ... 117s Unpacking librust-env-logger-dev:s390x (0.10.2-2) ... 117s Selecting previously unselected package librust-quickcheck-dev:s390x. 117s Preparing to unpack .../359-librust-quickcheck-dev_1.0.3-3_s390x.deb ... 117s Unpacking librust-quickcheck-dev:s390x (1.0.3-3) ... 117s Selecting previously unselected package librust-num-bigint-dev:s390x. 117s Preparing to unpack .../360-librust-num-bigint-dev_0.4.6-1_s390x.deb ... 117s Unpacking librust-num-bigint-dev:s390x (0.4.6-1) ... 117s Selecting previously unselected package librust-num-rational-dev:s390x. 117s Preparing to unpack .../361-librust-num-rational-dev_0.4.2-1_s390x.deb ... 117s Unpacking librust-num-rational-dev:s390x (0.4.2-1) ... 117s Selecting previously unselected package librust-png-dev:s390x. 117s Preparing to unpack .../362-librust-png-dev_0.17.7-3_s390x.deb ... 117s Unpacking librust-png-dev:s390x (0.17.7-3) ... 117s Selecting previously unselected package librust-qoi-dev:s390x. 117s Preparing to unpack .../363-librust-qoi-dev_0.4.1-2_s390x.deb ... 117s Unpacking librust-qoi-dev:s390x (0.4.1-2) ... 117s Selecting previously unselected package librust-tiff-dev:s390x. 117s Preparing to unpack .../364-librust-tiff-dev_0.9.0-1_s390x.deb ... 117s Unpacking librust-tiff-dev:s390x (0.9.0-1) ... 117s Selecting previously unselected package libsharpyuv0:s390x. 117s Preparing to unpack .../365-libsharpyuv0_1.4.0-0.1_s390x.deb ... 117s Unpacking libsharpyuv0:s390x (1.4.0-0.1) ... 117s Selecting previously unselected package libwebp7:s390x. 117s Preparing to unpack .../366-libwebp7_1.4.0-0.1_s390x.deb ... 117s Unpacking libwebp7:s390x (1.4.0-0.1) ... 117s Selecting previously unselected package libwebpdemux2:s390x. 117s Preparing to unpack .../367-libwebpdemux2_1.4.0-0.1_s390x.deb ... 117s Unpacking libwebpdemux2:s390x (1.4.0-0.1) ... 117s Selecting previously unselected package libwebpmux3:s390x. 117s Preparing to unpack .../368-libwebpmux3_1.4.0-0.1_s390x.deb ... 117s Unpacking libwebpmux3:s390x (1.4.0-0.1) ... 117s Selecting previously unselected package libwebpdecoder3:s390x. 117s Preparing to unpack .../369-libwebpdecoder3_1.4.0-0.1_s390x.deb ... 117s Unpacking libwebpdecoder3:s390x (1.4.0-0.1) ... 117s Selecting previously unselected package libsharpyuv-dev:s390x. 117s Preparing to unpack .../370-libsharpyuv-dev_1.4.0-0.1_s390x.deb ... 117s Unpacking libsharpyuv-dev:s390x (1.4.0-0.1) ... 117s Selecting previously unselected package libwebp-dev:s390x. 117s Preparing to unpack .../371-libwebp-dev_1.4.0-0.1_s390x.deb ... 117s Unpacking libwebp-dev:s390x (1.4.0-0.1) ... 117s Selecting previously unselected package librust-libwebp-sys-dev:s390x. 117s Preparing to unpack .../372-librust-libwebp-sys-dev_0.9.5-1build1_s390x.deb ... 117s Unpacking librust-libwebp-sys-dev:s390x (0.9.5-1build1) ... 117s Selecting previously unselected package librust-webp-dev:s390x. 117s Preparing to unpack .../373-librust-webp-dev_0.2.6-1_s390x.deb ... 117s Unpacking librust-webp-dev:s390x (0.2.6-1) ... 117s Selecting previously unselected package librust-image-dev:s390x. 117s Preparing to unpack .../374-librust-image-dev_0.24.7-2_s390x.deb ... 117s Unpacking librust-image-dev:s390x (0.24.7-2) ... 117s Selecting previously unselected package librust-plotters-backend-dev:s390x. 117s Preparing to unpack .../375-librust-plotters-backend-dev_0.3.7-1_s390x.deb ... 117s Unpacking librust-plotters-backend-dev:s390x (0.3.7-1) ... 117s Selecting previously unselected package librust-plotters-bitmap-dev:s390x. 117s Preparing to unpack .../376-librust-plotters-bitmap-dev_0.3.3-3_s390x.deb ... 117s Unpacking librust-plotters-bitmap-dev:s390x (0.3.3-3) ... 117s Selecting previously unselected package librust-plotters-svg-dev:s390x. 117s Preparing to unpack .../377-librust-plotters-svg-dev_0.3.5-1_s390x.deb ... 117s Unpacking librust-plotters-svg-dev:s390x (0.3.5-1) ... 117s Selecting previously unselected package librust-web-sys-dev:s390x. 117s Preparing to unpack .../378-librust-web-sys-dev_0.3.64-2_s390x.deb ... 117s Unpacking librust-web-sys-dev:s390x (0.3.64-2) ... 117s Selecting previously unselected package librust-plotters-dev:s390x. 117s Preparing to unpack .../379-librust-plotters-dev_0.3.5-4_s390x.deb ... 117s Unpacking librust-plotters-dev:s390x (0.3.5-4) ... 118s Selecting previously unselected package librust-smol-dev. 118s Preparing to unpack .../380-librust-smol-dev_2.0.2-1_all.deb ... 118s Unpacking librust-smol-dev (2.0.2-1) ... 118s Selecting previously unselected package librust-tinytemplate-dev:s390x. 118s Preparing to unpack .../381-librust-tinytemplate-dev_1.2.1-1_s390x.deb ... 118s Unpacking librust-tinytemplate-dev:s390x (1.2.1-1) ... 118s Selecting previously unselected package librust-criterion-dev. 118s Preparing to unpack .../382-librust-criterion-dev_0.5.1-6_all.deb ... 118s Unpacking librust-criterion-dev (0.5.1-6) ... 118s Selecting previously unselected package librust-phf-generator-dev:s390x. 118s Preparing to unpack .../383-librust-phf-generator-dev_0.11.2-2_s390x.deb ... 118s Unpacking librust-phf-generator-dev:s390x (0.11.2-2) ... 118s Selecting previously unselected package librust-phf-codegen-dev:s390x. 118s Preparing to unpack .../384-librust-phf-codegen-dev_0.11.2-1_s390x.deb ... 118s Unpacking librust-phf-codegen-dev:s390x (0.11.2-1) ... 118s Selecting previously unselected package librust-chrono-tz-build-dev:s390x. 118s Preparing to unpack .../385-librust-chrono-tz-build-dev_0.2.1-1_s390x.deb ... 118s Unpacking librust-chrono-tz-build-dev:s390x (0.2.1-1) ... 118s Selecting previously unselected package librust-chrono-tz-dev:s390x. 118s Preparing to unpack .../386-librust-chrono-tz-dev_0.8.6-2_s390x.deb ... 118s Unpacking librust-chrono-tz-dev:s390x (0.8.6-2) ... 118s Selecting previously unselected package librust-ctor-dev:s390x. 118s Preparing to unpack .../387-librust-ctor-dev_0.1.26-1_s390x.deb ... 118s Unpacking librust-ctor-dev:s390x (0.1.26-1) ... 118s Selecting previously unselected package librust-powerfmt-macros-dev:s390x. 118s Preparing to unpack .../388-librust-powerfmt-macros-dev_0.1.0-1_s390x.deb ... 118s Unpacking librust-powerfmt-macros-dev:s390x (0.1.0-1) ... 118s Selecting previously unselected package librust-powerfmt-dev:s390x. 118s Preparing to unpack .../389-librust-powerfmt-dev_0.2.0-1_s390x.deb ... 118s Unpacking librust-powerfmt-dev:s390x (0.2.0-1) ... 118s Selecting previously unselected package librust-deranged-dev:s390x. 118s Preparing to unpack .../390-librust-deranged-dev_0.3.11-1_s390x.deb ... 118s Unpacking librust-deranged-dev:s390x (0.3.11-1) ... 118s Selecting previously unselected package librust-eui48-dev:s390x. 118s Preparing to unpack .../391-librust-eui48-dev_1.1.0-2_s390x.deb ... 118s Unpacking librust-eui48-dev:s390x (1.1.0-2) ... 118s Selecting previously unselected package librust-indenter-dev:s390x. 118s Preparing to unpack .../392-librust-indenter-dev_0.3.3-1_s390x.deb ... 118s Unpacking librust-indenter-dev:s390x (0.3.3-1) ... 118s Selecting previously unselected package librust-eyre-dev:s390x. 118s Preparing to unpack .../393-librust-eyre-dev_0.6.12-1_s390x.deb ... 118s Unpacking librust-eyre-dev:s390x (0.6.12-1) ... 118s Selecting previously unselected package librust-eyre+default-dev:s390x. 118s Preparing to unpack .../394-librust-eyre+default-dev_0.6.12-1_s390x.deb ... 118s Unpacking librust-eyre+default-dev:s390x (0.6.12-1) ... 118s Selecting previously unselected package librust-fancy-regex-dev:s390x. 118s Preparing to unpack .../395-librust-fancy-regex-dev_0.11.0-2_s390x.deb ... 118s Unpacking librust-fancy-regex-dev:s390x (0.11.0-2) ... 118s Selecting previously unselected package librust-fnv-dev:s390x. 118s Preparing to unpack .../396-librust-fnv-dev_1.0.7-1_s390x.deb ... 118s Unpacking librust-fnv-dev:s390x (1.0.7-1) ... 118s Selecting previously unselected package librust-geo-types-dev:s390x. 118s Preparing to unpack .../397-librust-geo-types-dev_0.7.11-2_s390x.deb ... 118s Unpacking librust-geo-types-dev:s390x (0.7.11-2) ... 118s Selecting previously unselected package librust-ghost-dev:s390x. 118s Preparing to unpack .../398-librust-ghost-dev_0.1.5-1_s390x.deb ... 118s Unpacking librust-ghost-dev:s390x (0.1.5-1) ... 118s Selecting previously unselected package librust-hmac-dev:s390x. 118s Preparing to unpack .../399-librust-hmac-dev_0.12.1-1_s390x.deb ... 118s Unpacking librust-hmac-dev:s390x (0.12.1-1) ... 118s Selecting previously unselected package librust-indoc-dev:s390x. 118s Preparing to unpack .../400-librust-indoc-dev_2.0.5-1_s390x.deb ... 118s Unpacking librust-indoc-dev:s390x (2.0.5-1) ... 118s Selecting previously unselected package librust-inventory-dev:s390x. 118s Preparing to unpack .../401-librust-inventory-dev_0.3.2-1_s390x.deb ... 118s Unpacking librust-inventory-dev:s390x (0.3.2-1) ... 118s Selecting previously unselected package librust-memoffset-dev:s390x. 118s Preparing to unpack .../402-librust-memoffset-dev_0.8.0-1_s390x.deb ... 118s Unpacking librust-memoffset-dev:s390x (0.8.0-1) ... 118s Selecting previously unselected package librust-num-conv-dev:s390x. 118s Preparing to unpack .../403-librust-num-conv-dev_0.1.0-1_s390x.deb ... 118s Unpacking librust-num-conv-dev:s390x (0.1.0-1) ... 118s Selecting previously unselected package librust-num-threads-dev:s390x. 118s Preparing to unpack .../404-librust-num-threads-dev_0.1.7-1_s390x.deb ... 118s Unpacking librust-num-threads-dev:s390x (0.1.7-1) ... 118s Selecting previously unselected package librust-postgres-derive-dev:s390x. 118s Preparing to unpack .../405-librust-postgres-derive-dev_0.4.5-1_s390x.deb ... 118s Unpacking librust-postgres-derive-dev:s390x (0.4.5-1) ... 118s Selecting previously unselected package librust-sha2-asm-dev:s390x. 118s Preparing to unpack .../406-librust-sha2-asm-dev_0.6.2-2_s390x.deb ... 118s Unpacking librust-sha2-asm-dev:s390x (0.6.2-2) ... 118s Selecting previously unselected package librust-sha2-dev:s390x. 118s Preparing to unpack .../407-librust-sha2-dev_0.10.8-1_s390x.deb ... 118s Unpacking librust-sha2-dev:s390x (0.10.8-1) ... 118s Selecting previously unselected package librust-unicode-bidi-dev:s390x. 118s Preparing to unpack .../408-librust-unicode-bidi-dev_0.3.13-1_s390x.deb ... 118s Unpacking librust-unicode-bidi-dev:s390x (0.3.13-1) ... 118s Selecting previously unselected package librust-unicode-normalization-dev:s390x. 118s Preparing to unpack .../409-librust-unicode-normalization-dev_0.1.22-1_s390x.deb ... 118s Unpacking librust-unicode-normalization-dev:s390x (0.1.22-1) ... 118s Selecting previously unselected package librust-stringprep-dev:s390x. 118s Preparing to unpack .../410-librust-stringprep-dev_0.1.2-1_s390x.deb ... 118s Unpacking librust-stringprep-dev:s390x (0.1.2-1) ... 118s Selecting previously unselected package librust-postgres-protocol-dev:s390x. 118s Preparing to unpack .../411-librust-postgres-protocol-dev_0.6.6-2_s390x.deb ... 118s Unpacking librust-postgres-protocol-dev:s390x (0.6.6-2) ... 118s Selecting previously unselected package librust-time-core-dev:s390x. 118s Preparing to unpack .../412-librust-time-core-dev_0.1.2-1_s390x.deb ... 118s Unpacking librust-time-core-dev:s390x (0.1.2-1) ... 118s Selecting previously unselected package librust-time-macros-dev:s390x. 118s Preparing to unpack .../413-librust-time-macros-dev_0.2.16-1_s390x.deb ... 118s Unpacking librust-time-macros-dev:s390x (0.2.16-1) ... 118s Selecting previously unselected package librust-time-dev:s390x. 118s Preparing to unpack .../414-librust-time-dev_0.3.36-2_s390x.deb ... 118s Unpacking librust-time-dev:s390x (0.3.36-2) ... 118s Selecting previously unselected package librust-postgres-types-dev:s390x. 118s Preparing to unpack .../415-librust-postgres-types-dev_0.2.6-2_s390x.deb ... 118s Unpacking librust-postgres-types-dev:s390x (0.2.6-2) ... 118s Selecting previously unselected package librust-rand-xorshift-dev:s390x. 118s Preparing to unpack .../416-librust-rand-xorshift-dev_0.3.0-2_s390x.deb ... 118s Unpacking librust-rand-xorshift-dev:s390x (0.3.0-2) ... 118s Selecting previously unselected package librust-quick-error-dev:s390x. 118s Preparing to unpack .../417-librust-quick-error-dev_2.0.1-1_s390x.deb ... 118s Unpacking librust-quick-error-dev:s390x (2.0.1-1) ... 118s Selecting previously unselected package librust-tempfile-dev:s390x. 118s Preparing to unpack .../418-librust-tempfile-dev_3.10.1-1_s390x.deb ... 118s Unpacking librust-tempfile-dev:s390x (3.10.1-1) ... 118s Selecting previously unselected package librust-rusty-fork-dev:s390x. 118s Preparing to unpack .../419-librust-rusty-fork-dev_0.3.0-1_s390x.deb ... 118s Unpacking librust-rusty-fork-dev:s390x (0.3.0-1) ... 118s Selecting previously unselected package librust-wait-timeout-dev:s390x. 118s Preparing to unpack .../420-librust-wait-timeout-dev_0.2.0-1_s390x.deb ... 118s Unpacking librust-wait-timeout-dev:s390x (0.2.0-1) ... 118s Selecting previously unselected package librust-rusty-fork+wait-timeout-dev:s390x. 118s Preparing to unpack .../421-librust-rusty-fork+wait-timeout-dev_0.3.0-1_s390x.deb ... 118s Unpacking librust-rusty-fork+wait-timeout-dev:s390x (0.3.0-1) ... 118s Selecting previously unselected package librust-unarray-dev:s390x. 118s Preparing to unpack .../422-librust-unarray-dev_0.1.4-1_s390x.deb ... 118s Unpacking librust-unarray-dev:s390x (0.1.4-1) ... 118s Selecting previously unselected package librust-proptest-dev:s390x. 118s Preparing to unpack .../423-librust-proptest-dev_1.5.0-2_s390x.deb ... 118s Unpacking librust-proptest-dev:s390x (1.5.0-2) ... 118s Selecting previously unselected package llvm-19-runtime. 118s Preparing to unpack .../424-llvm-19-runtime_1%3a19.1.2-1ubuntu1_s390x.deb ... 118s Unpacking llvm-19-runtime (1:19.1.2-1ubuntu1) ... 118s Selecting previously unselected package llvm-runtime:s390x. 118s Preparing to unpack .../425-llvm-runtime_1%3a19.0-60~exp1_s390x.deb ... 118s Unpacking llvm-runtime:s390x (1:19.0-60~exp1) ... 118s Selecting previously unselected package llvm-19-linker-tools. 118s Preparing to unpack .../426-llvm-19-linker-tools_1%3a19.1.2-1ubuntu1_s390x.deb ... 118s Unpacking llvm-19-linker-tools (1:19.1.2-1ubuntu1) ... 118s Selecting previously unselected package libpfm4:s390x. 118s Preparing to unpack .../427-libpfm4_4.13.0+git83-g91970fe-1_s390x.deb ... 118s Unpacking libpfm4:s390x (4.13.0+git83-g91970fe-1) ... 118s Selecting previously unselected package llvm-19. 118s Preparing to unpack .../428-llvm-19_1%3a19.1.2-1ubuntu1_s390x.deb ... 118s Unpacking llvm-19 (1:19.1.2-1ubuntu1) ... 119s Selecting previously unselected package llvm. 119s Preparing to unpack .../429-llvm_1%3a19.0-60~exp1_s390x.deb ... 119s Unpacking llvm (1:19.0-60~exp1) ... 119s Selecting previously unselected package binutils-mingw-w64-x86-64. 119s Preparing to unpack .../430-binutils-mingw-w64-x86-64_2.43.1-4ubuntu1+12_s390x.deb ... 119s Unpacking binutils-mingw-w64-x86-64 (2.43.1-4ubuntu1+12) ... 119s Selecting previously unselected package binutils-mingw-w64-i686. 119s Preparing to unpack .../431-binutils-mingw-w64-i686_2.43.1-4ubuntu1+12_s390x.deb ... 119s Unpacking binutils-mingw-w64-i686 (2.43.1-4ubuntu1+12) ... 119s Selecting previously unselected package librust-python3-dll-a-dev:s390x. 119s Preparing to unpack .../432-librust-python3-dll-a-dev_0.2.10-1_s390x.deb ... 119s Unpacking librust-python3-dll-a-dev:s390x (0.2.10-1) ... 119s Selecting previously unselected package librust-target-lexicon-dev:s390x. 119s Preparing to unpack .../433-librust-target-lexicon-dev_0.12.14-1_s390x.deb ... 119s Unpacking librust-target-lexicon-dev:s390x (0.12.14-1) ... 119s Selecting previously unselected package librust-pyo3-build-config-dev:s390x. 119s Preparing to unpack .../434-librust-pyo3-build-config-dev_0.22.6-1_s390x.deb ... 119s Unpacking librust-pyo3-build-config-dev:s390x (0.22.6-1) ... 119s Selecting previously unselected package python3.12-dev. 119s Preparing to unpack .../435-python3.12-dev_3.12.7-3_s390x.deb ... 119s Unpacking python3.12-dev (3.12.7-3) ... 119s Selecting previously unselected package librust-pyo3-ffi-dev:s390x. 119s Preparing to unpack .../436-librust-pyo3-ffi-dev_0.22.6-1build1_s390x.deb ... 119s Unpacking librust-pyo3-ffi-dev:s390x (0.22.6-1build1) ... 119s Selecting previously unselected package librust-pyo3-macros-backend-dev:s390x. 119s Preparing to unpack .../437-librust-pyo3-macros-backend-dev_0.22.6-1_s390x.deb ... 119s Unpacking librust-pyo3-macros-backend-dev:s390x (0.22.6-1) ... 119s Selecting previously unselected package librust-pyo3-macros-dev:s390x. 119s Preparing to unpack .../438-librust-pyo3-macros-dev_0.22.6-1_s390x.deb ... 119s Unpacking librust-pyo3-macros-dev:s390x (0.22.6-1) ... 119s Selecting previously unselected package librust-rust-decimal-dev:s390x. 119s Preparing to unpack .../439-librust-rust-decimal-dev_1.36.0-1_s390x.deb ... 119s Unpacking librust-rust-decimal-dev:s390x (1.36.0-1) ... 119s Selecting previously unselected package librust-unindent-dev:s390x. 119s Preparing to unpack .../440-librust-unindent-dev_0.2.3-1_s390x.deb ... 119s Unpacking librust-unindent-dev:s390x (0.2.3-1) ... 119s Selecting previously unselected package librust-pyo3-dev:s390x. 119s Preparing to unpack .../441-librust-pyo3-dev_0.22.6-1_s390x.deb ... 119s Unpacking librust-pyo3-dev:s390x (0.22.6-1) ... 119s Selecting previously unselected package librust-rustc-hash-dev:s390x. 119s Preparing to unpack .../442-librust-rustc-hash-dev_1.1.0-1_s390x.deb ... 119s Unpacking librust-rustc-hash-dev:s390x (1.1.0-1) ... 119s Selecting previously unselected package pybuild-plugin-autopkgtest. 119s Preparing to unpack .../443-pybuild-plugin-autopkgtest_6.20241024_all.deb ... 119s Unpacking pybuild-plugin-autopkgtest (6.20241024) ... 119s Selecting previously unselected package python3-packaging. 119s Preparing to unpack .../444-python3-packaging_24.2-1_all.deb ... 119s Unpacking python3-packaging (24.2-1) ... 119s Selecting previously unselected package python3-pyproject-hooks. 119s Preparing to unpack .../445-python3-pyproject-hooks_1.2.0-1_all.deb ... 119s Unpacking python3-pyproject-hooks (1.2.0-1) ... 119s Selecting previously unselected package python3-toml. 119s Preparing to unpack .../446-python3-toml_0.10.2-1_all.deb ... 119s Unpacking python3-toml (0.10.2-1) ... 119s Selecting previously unselected package python3-wheel. 119s Preparing to unpack .../447-python3-wheel_0.45.1-1_all.deb ... 119s Unpacking python3-wheel (0.45.1-1) ... 119s Selecting previously unselected package python3-build. 119s Preparing to unpack .../448-python3-build_1.2.2-1_all.deb ... 119s Unpacking python3-build (1.2.2-1) ... 119s Selecting previously unselected package python3-installer. 119s Preparing to unpack .../449-python3-installer_0.7.0+dfsg1-3_all.deb ... 119s Unpacking python3-installer (0.7.0+dfsg1-3) ... 119s Selecting previously unselected package pybuild-plugin-pyproject. 119s Preparing to unpack .../450-pybuild-plugin-pyproject_6.20241024_all.deb ... 119s Unpacking pybuild-plugin-pyproject (6.20241024) ... 119s Selecting previously unselected package python3-all. 119s Preparing to unpack .../451-python3-all_3.12.6-0ubuntu1_s390x.deb ... 119s Unpacking python3-all (3.12.6-0ubuntu1) ... 119s Selecting previously unselected package python3-dateutil. 119s Preparing to unpack .../452-python3-dateutil_2.9.0-3_all.deb ... 119s Unpacking python3-dateutil (2.9.0-3) ... 119s Selecting previously unselected package python3-sortedcontainers. 119s Preparing to unpack .../453-python3-sortedcontainers_2.4.0-2_all.deb ... 119s Unpacking python3-sortedcontainers (2.4.0-2) ... 119s Selecting previously unselected package python3-hypothesis. 119s Preparing to unpack .../454-python3-hypothesis_6.119.3-1_all.deb ... 119s Unpacking python3-hypothesis (6.119.3-1) ... 119s Selecting previously unselected package python3-iniconfig. 119s Preparing to unpack .../455-python3-iniconfig_1.1.1-2_all.deb ... 119s Unpacking python3-iniconfig (1.1.1-2) ... 119s Selecting previously unselected package python3-pluggy. 119s Preparing to unpack .../456-python3-pluggy_1.5.0-1_all.deb ... 119s Unpacking python3-pluggy (1.5.0-1) ... 119s Selecting previously unselected package python3-pytest. 119s Preparing to unpack .../457-python3-pytest_8.3.3-1_all.deb ... 119s Unpacking python3-pytest (8.3.3-1) ... 119s Selecting previously unselected package python3-regex. 119s Preparing to unpack .../458-python3-regex_0.1.20240724-1build1_s390x.deb ... 119s Unpacking python3-regex (0.1.20240724-1build1) ... 119s Selecting previously unselected package python3-semantic-version. 119s Preparing to unpack .../459-python3-semantic-version_2.10.0-2_all.deb ... 119s Unpacking python3-semantic-version (2.10.0-2) ... 119s Selecting previously unselected package rustc. 119s Preparing to unpack .../460-rustc_1.80.1ubuntu2_s390x.deb ... 119s Unpacking rustc (1.80.1ubuntu2) ... 119s Selecting previously unselected package cargo. 119s Preparing to unpack .../461-cargo_1.80.1ubuntu2_s390x.deb ... 119s Unpacking cargo (1.80.1ubuntu2) ... 119s Selecting previously unselected package python3-setuptools-rust. 119s Preparing to unpack .../462-python3-setuptools-rust_1.9.0+dfsg-2_all.deb ... 119s Unpacking python3-setuptools-rust (1.9.0+dfsg-2) ... 119s Selecting previously unselected package python3-tiktoken. 119s Preparing to unpack .../463-python3-tiktoken_0.8.0-1build1_s390x.deb ... 119s Unpacking python3-tiktoken (0.8.0-1build1) ... 119s Selecting previously unselected package autopkgtest-satdep. 119s Preparing to unpack .../464-1-autopkgtest-satdep.deb ... 119s Unpacking autopkgtest-satdep (0) ... 119s Setting up dh-python (6.20241024) ... 119s Setting up librust-ciborium-io-dev:s390x (0.2.2-1) ... 119s Setting up librust-crossbeam-utils-dev:s390x (0.8.19-1) ... 119s Setting up librust-parking-dev:s390x (2.2.0-1) ... 119s Setting up librust-ppv-lite86-dev:s390x (0.2.16-1) ... 119s Setting up python3-iniconfig (1.1.1-2) ... 120s Setting up libsharpyuv0:s390x (1.4.0-0.1) ... 120s Setting up librust-pin-utils-dev:s390x (0.1.0-1) ... 120s Setting up librust-fnv-dev:s390x (1.0.7-1) ... 120s Setting up librust-unindent-dev:s390x (0.2.3-1) ... 120s Setting up librust-quick-error-dev:s390x (2.0.1-1) ... 120s Setting up librust-traitobject-dev:s390x (0.1.0-1) ... 120s Setting up librust-either-dev:s390x (1.13.0-1) ... 120s Setting up binutils-mingw-w64-x86-64 (2.43.1-4ubuntu1+12) ... 120s Setting up librust-adler-dev:s390x (1.0.2-2) ... 120s Setting up librust-version-check-dev:s390x (0.9.5-1) ... 120s Setting up librust-base64-dev:s390x (0.21.7-1) ... 120s Setting up librust-indoc-dev:s390x (2.0.5-1) ... 120s Setting up librust-anstyle-dev:s390x (1.0.8-1) ... 120s Setting up librust-winapi-i686-pc-windows-gnu-dev:s390x (0.4.0-1) ... 120s Setting up librust-futures-task-dev:s390x (0.3.30-1) ... 120s Setting up librust-rustc-hash-dev:s390x (1.1.0-1) ... 120s Setting up librust-wasm-bindgen-shared-dev:s390x (0.2.87-1) ... 120s Setting up libarchive-zip-perl (1.68-1) ... 120s Setting up librust-colorchoice-dev:s390x (1.0.0-1) ... 120s Setting up librust-fastrand-dev:s390x (2.1.1-1) ... 120s Setting up libdebhelper-perl (13.20ubuntu1) ... 120s Setting up librust-unsafe-any-dev:s390x (0.4.2-2) ... 120s Setting up librust-tinyvec-macros-dev:s390x (0.1.0-1) ... 120s Setting up librust-libm-dev:s390x (0.2.8-1) ... 120s Setting up librust-strsim-dev:s390x (0.11.1-1) ... 120s Setting up libwebpdecoder3:s390x (1.4.0-0.1) ... 120s Setting up m4 (1.4.19-4build1) ... 120s Setting up librust-rustc-demangle-dev:s390x (0.1.21-1) ... 120s Setting up python3-all (3.12.6-0ubuntu1) ... 120s Setting up librust-const-cstr-dev:s390x (0.3.0-1) ... 120s Setting up librust-fallible-iterator-dev:s390x (0.3.0-2) ... 120s Setting up librust-ryu-dev:s390x (1.0.15-1) ... 120s Setting up python3-sortedcontainers (2.4.0-2) ... 120s Setting up librust-humantime-dev:s390x (2.1.0-1) ... 120s Setting up librust-anstyle-query-dev:s390x (1.0.0-1) ... 120s Setting up librust-cast-dev:s390x (0.3.0-1) ... 120s Setting up libgomp1:s390x (14.2.0-8ubuntu1) ... 120s Setting up librust-subtle-dev:s390x (2.6.1-1) ... 120s Setting up librust-simdutf8-dev:s390x (0.1.4-4) ... 120s Setting up librust-atomic-waker-dev:s390x (1.1.2-1) ... 120s Setting up librust-miniz-oxide-dev:s390x (0.7.1-1) ... 120s Setting up librust-pin-project-lite-dev:s390x (0.2.13-1) ... 120s Setting up python3-wheel (0.45.1-1) ... 120s Setting up librust-unicode-segmentation-dev:s390x (1.11.0-1) ... 120s Setting up librust-typemap-dev:s390x (0.3.3-2) ... 120s Setting up librust-compiler-builtins-dev:s390x (0.1.101-1) ... 120s Setting up librust-weezl-dev:s390x (0.1.5-1) ... 120s Setting up librust-utf8parse-dev:s390x (0.2.1-1) ... 120s Setting up librust-crossbeam-epoch-dev:s390x (0.9.18-1) ... 120s Setting up autotools-dev (20220109.1) ... 120s Setting up librust-tap-dev:s390x (1.0.1-1) ... 120s Setting up python3-packaging (24.2-1) ... 120s Setting up librust-array-init-dev:s390x (2.0.1-1) ... 120s Setting up libpkgconf3:s390x (1.8.1-4) ... 120s Setting up libpfm4:s390x (4.13.0+git83-g91970fe-1) ... 120s Setting up librust-oorandom-dev:s390x (11.1.3-1) ... 120s Setting up libexpat1-dev:s390x (2.6.4-1) ... 120s Setting up python3-pyproject-hooks (1.2.0-1) ... 120s Setting up libfreetype6:s390x (2.13.3+dfsg-1) ... 120s Setting up librust-rustc-std-workspace-core-dev:s390x (1.0.0-1) ... 120s Setting up librust-funty-dev:s390x (2.0.0-1) ... 120s Setting up librust-futures-io-dev:s390x (0.3.31-1) ... 120s Setting up librust-typenum-dev:s390x (1.17.0-2) ... 120s Setting up uuid-dev:s390x (2.40.2-1ubuntu1) ... 120s Setting up librust-core-maths-dev:s390x (0.1.0-2) ... 120s Setting up librust-stable-deref-trait-dev:s390x (1.2.0-1) ... 120s Setting up librust-critical-section-dev:s390x (1.1.3-1) ... 120s Setting up librust-scopeguard-dev:s390x (1.2.0-1) ... 120s Setting up librust-iana-time-zone-dev:s390x (0.1.60-1) ... 120s Setting up fonts-dejavu-mono (2.37-8) ... 120s Setting up libmpc3:s390x (1.3.1-1build2) ... 120s Setting up librust-rand-core-dev:s390x (0.6.4-2) ... 120s Setting up python3-semantic-version (2.10.0-2) ... 120s Setting up autopoint (0.22.5-2) ... 120s Setting up libjsoncpp25:s390x (1.9.5-6build1) ... 120s Setting up fonts-dejavu-core (2.37-8) ... 120s Setting up librust-seahash-dev:s390x (4.1.0-1) ... 120s Setting up pkgconf-bin (1.8.1-4) ... 120s Setting up librust-ab-glyph-rasterizer-dev:s390x (0.1.7-1) ... 120s Setting up binutils-mingw-w64-i686 (2.43.1-4ubuntu1+12) ... 120s Setting up librust-time-core-dev:s390x (0.1.2-1) ... 120s Setting up python3-regex (0.1.20240724-1build1) ... 120s Setting up librust-crunchy-dev:s390x (0.2.2-1) ... 120s Setting up python3-toml (0.10.2-1) ... 120s Setting up librust-unicase-dev:s390x (2.7.0-1) ... 120s Setting up librust-unicode-width-dev:s390x (0.1.14-1) ... 120s Setting up python3-installer (0.7.0+dfsg1-3) ... 120s Setting up autoconf (2.72-3) ... 120s Setting up python3-pluggy (1.5.0-1) ... 121s Setting up libwebp7:s390x (1.4.0-0.1) ... 121s Setting up libubsan1:s390x (14.2.0-8ubuntu1) ... 121s Setting up zlib1g-dev:s390x (1:1.3.dfsg+really1.3.1-1ubuntu1) ... 121s Setting up librust-unicode-ident-dev:s390x (1.0.13-1) ... 121s Setting up librust-equivalent-dev:s390x (1.0.1-1) ... 121s Setting up dwz (0.15-1build6) ... 121s Setting up librust-bitflags-1-dev:s390x (1.3.2-5) ... 121s Setting up librust-uncased-dev:s390x (0.9.6-2) ... 121s Setting up librust-slog-dev:s390x (2.7.0-1) ... 121s Setting up python3-tiktoken (0.8.0-1build1) ... 121s Setting up librust-pure-rust-locales-dev:s390x (0.8.1-1) ... 121s Setting up librhash0:s390x (1.4.3-3build1) ... 121s Setting up libasan8:s390x (14.2.0-8ubuntu1) ... 121s Setting up librust-ttf-parser-dev:s390x (0.24.1-1) ... 121s Setting up librust-cfg-if-dev:s390x (1.0.0-1) ... 121s Setting up debugedit (1:5.1-1) ... 121s Setting up librust-color-quant-dev:s390x (1.1.0-1) ... 121s Setting up python3-dateutil (2.9.0-3) ... 121s Setting up librust-blobby-dev:s390x (0.3.1-1) ... 121s Setting up cmake-data (3.30.3-1) ... 121s Setting up llvm-19-linker-tools (1:19.1.2-1ubuntu1) ... 121s Setting up librust-byteorder-dev:s390x (1.5.0-1) ... 121s Setting up librust-static-assertions-dev:s390x (1.1.0-1) ... 121s Setting up librust-compiler-builtins+core-dev:s390x (0.1.101-1) ... 121s Setting up librust-float-ord-dev:s390x (0.3.2-1) ... 121s Setting up librust-autocfg-dev:s390x (1.1.0-1) ... 121s Setting up libisl23:s390x (0.27-1) ... 121s Setting up librust-time-macros-dev:s390x (0.2.16-1) ... 121s Setting up llvm-19-runtime (1:19.1.2-1ubuntu1) ... 121s Setting up librust-futures-sink-dev:s390x (0.3.31-1) ... 121s Setting up python3-build (1.2.2-1) ... 121s Setting up libsharpyuv-dev:s390x (1.4.0-0.1) ... 121s Setting up librust-cfg-if-0.1-dev:s390x (0.1.10-2) ... 121s Setting up librust-tinyvec-dev:s390x (1.6.0-2) ... 121s Setting up libwebpmux3:s390x (1.4.0-0.1) ... 121s Setting up librust-plotters-backend-dev:s390x (0.3.7-1) ... 121s Setting up librust-shlex-dev:s390x (1.3.0-1) ... 121s Setting up librust-indenter-dev:s390x (0.3.3-1) ... 121s Setting up librust-cpp-demangle-dev:s390x (0.4.0-1) ... 121s Setting up librust-winapi-x86-64-pc-windows-gnu-dev:s390x (0.4.0-1) ... 121s Setting up libcc1-0:s390x (14.2.0-8ubuntu1) ... 121s Setting up libbrotli-dev:s390x (1.1.0-2build3) ... 121s Setting up libitm1:s390x (14.2.0-8ubuntu1) ... 121s Setting up librust-clap-lex-dev:s390x (0.7.2-2) ... 121s Setting up libhttp-parser2.9:s390x (2.9.4-6build1) ... 121s Setting up librust-unarray-dev:s390x (0.1.4-1) ... 121s Setting up libstd-rust-1.80:s390x (1.80.1+dfsg0ubuntu1-0ubuntu1) ... 121s Setting up librust-itertools-dev:s390x (0.10.5-1) ... 121s Setting up librust-heck-dev:s390x (0.4.1-1) ... 121s Setting up libbz2-dev:s390x (1.0.8-6) ... 121s Setting up librust-num-conv-dev:s390x (0.1.0-1) ... 121s Setting up automake (1:1.16.5-1.3ubuntu1) ... 121s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 121s Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... 121s Setting up librust-owned-ttf-parser-dev:s390x (0.24.0-1) ... 121s Setting up librust-crossbeam-epoch+std-dev:s390x (0.9.18-1) ... 121s Setting up librust-libc-dev:s390x (0.2.161-1) ... 121s Setting up librust-is-terminal-dev:s390x (0.4.13-1) ... 121s Setting up gettext (0.22.5-2) ... 121s Setting up librust-gif-dev:s390x (0.11.3-1) ... 121s Setting up librust-crossbeam-deque-dev:s390x (0.8.5-1) ... 121s Setting up librust-tiny-keccak-dev:s390x (2.0.2-1) ... 121s Setting up librust-linux-raw-sys-dev:s390x (0.4.14-1) ... 121s Setting up pybuild-plugin-pyproject (6.20241024) ... 121s Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... 121s Setting up librust-getrandom-dev:s390x (0.2.12-1) ... 121s Setting up python3-pytest (8.3.3-1) ... 121s Setting up librust-libloading-dev:s390x (0.8.5-1) ... 121s Setting up librust-socket2-dev:s390x (0.5.7-1) ... 121s Setting up librust-memmap2-dev:s390x (0.9.3-1) ... 121s Setting up libwebpdemux2:s390x (1.4.0-0.1) ... 121s Setting up python3-hypothesis (6.119.3-1) ... 122s Setting up librust-ab-glyph-rasterizer+libm-dev:s390x (0.1.7-1) ... 122s Setting up libpng-dev:s390x (1.6.44-2) ... 122s Setting up librust-tinyvec+tinyvec-macros-dev:s390x (1.6.0-2) ... 122s Setting up librust-owning-ref-dev:s390x (0.4.1-1) ... 122s Setting up librust-num-cpus-dev:s390x (1.16.0-1) ... 122s Setting up librust-memoffset-dev:s390x (0.8.0-1) ... 122s Setting up librust-cpufeatures-dev:s390x (0.2.11-1) ... 122s Setting up libpython3.12-dev:s390x (3.12.7-3) ... 122s Setting up librust-proc-macro2-dev:s390x (1.0.86-1) ... 122s Setting up librust-compiler-builtins+rustc-dep-of-std-dev:s390x (0.1.101-1) ... 122s Setting up librust-rayon-core-dev:s390x (1.12.1-1) ... 122s Setting up librust-winapi-dev:s390x (0.3.9-1) ... 122s Setting up pkgconf:s390x (1.8.1-4) ... 122s Setting up librust-ab-glyph-dev:s390x (0.2.28-1) ... 122s Setting up libstd-rust-1.80-dev:s390x (1.80.1+dfsg0ubuntu1-0ubuntu1) ... 122s Setting up libfreetype-dev:s390x (2.13.3+dfsg-1) ... 122s Setting up intltool-debian (0.35.0+20060710.6) ... 122s Setting up librust-rand-core+getrandom-dev:s390x (0.6.4-2) ... 122s Setting up librust-rand-xorshift-dev:s390x (0.3.0-2) ... 122s Setting up librust-signal-hook-registry-dev:s390x (1.4.0-1) ... 122s Setting up libwebp-dev:s390x (1.4.0-0.1) ... 122s Setting up librust-errno-dev:s390x (0.3.8-1) ... 122s Setting up librust-anes-dev:s390x (0.1.6-1) ... 122s Setting up llvm-runtime:s390x (1:19.0-60~exp1) ... 122s Setting up python3.12-dev (3.12.7-3) ... 122s Setting up librust-jobserver-dev:s390x (0.1.32-1) ... 122s Setting up pkg-config:s390x (1.8.1-4) ... 122s Setting up cpp-14-s390x-linux-gnu (14.2.0-8ubuntu1) ... 122s Setting up cpp-14 (14.2.0-8ubuntu1) ... 122s Setting up dh-strip-nondeterminism (1.14.0-1) ... 122s Setting up librust-crc32fast-dev:s390x (1.4.2-1) ... 122s Setting up librust-num-traits-dev:s390x (0.2.19-2) ... 122s Setting up librust-winapi-util-dev:s390x (0.1.6-1) ... 122s Setting up librust-wait-timeout-dev:s390x (0.2.0-1) ... 122s Setting up cmake (3.30.3-1) ... 122s Setting up libgit2-1.7:s390x (1.7.2+ds-1ubuntu3) ... 122s Setting up llvm-19 (1:19.1.2-1ubuntu1) ... 122s Setting up libfontconfig1:s390x (2.15.0-1.1ubuntu2) ... 122s Setting up libgcc-14-dev:s390x (14.2.0-8ubuntu1) ... 122s Setting up librust-same-file-dev:s390x (1.0.6-1) ... 122s Setting up librust-rayon-dev:s390x (1.10.0-1) ... 122s Setting up librust-termcolor-dev:s390x (1.4.1-1) ... 122s Setting up librust-pkg-config-dev:s390x (0.3.27-1) ... 122s Setting up libstdc++-14-dev:s390x (14.2.0-8ubuntu1) ... 122s Setting up librust-jpeg-decoder-dev:s390x (0.3.0-1) ... 122s Setting up librust-dirs-sys-next-dev:s390x (0.1.1-1) ... 122s Setting up librust-num-integer-dev:s390x (0.1.46-1) ... 122s Setting up librust-dirs-next-dev:s390x (2.0.0-1) ... 122s Setting up librust-num-threads-dev:s390x (0.1.7-1) ... 122s Setting up libpython3-dev:s390x (3.12.6-0ubuntu1) ... 122s Setting up librust-dlib-dev:s390x (0.5.2-2) ... 122s Setting up cpp-s390x-linux-gnu (4:14.1.0-2ubuntu1) ... 122s Setting up libfontconfig-dev:s390x (2.15.0-1.1ubuntu2) ... 122s Setting up librust-libwebp-sys-dev:s390x (0.9.5-1build1) ... 122s Setting up po-debconf (1.0.21+nmu1) ... 122s Setting up librust-quote-dev:s390x (1.0.37-1) ... 122s Setting up librust-libz-sys-dev:s390x (1.1.20-1) ... 122s Setting up librust-syn-dev:s390x (2.0.85-1) ... 122s Setting up librust-rand-core+std-dev:s390x (0.6.4-2) ... 122s Setting up librust-powerfmt-macros-dev:s390x (0.1.0-1) ... 122s Setting up gcc-14-s390x-linux-gnu (14.2.0-8ubuntu1) ... 122s Setting up gcc-s390x-linux-gnu (4:14.1.0-2ubuntu1) ... 122s Setting up librust-powerfmt-dev:s390x (0.2.0-1) ... 122s Setting up librust-sval-derive-dev:s390x (2.6.1-2) ... 122s Setting up libpython3-all-dev:s390x (3.12.6-0ubuntu1) ... 122s Setting up librust-cc-dev:s390x (1.1.14-1) ... 122s Setting up g++-14-s390x-linux-gnu (14.2.0-8ubuntu1) ... 122s Setting up librust-zeroize-derive-dev:s390x (1.4.2-1) ... 122s Setting up llvm (1:19.0-60~exp1) ... 122s Setting up librust-postgres-derive-dev:s390x (0.4.5-1) ... 122s Setting up librust-syn-1-dev:s390x (1.0.109-2) ... 122s Setting up librust-clap-derive-dev:s390x (4.5.13-2) ... 122s Setting up librust-bytecheck-derive-dev:s390x (0.6.12-1) ... 122s Setting up librust-no-panic-dev:s390x (0.1.13-1) ... 122s Setting up cpp (4:14.1.0-2ubuntu1) ... 122s Setting up librust-serde-derive-dev:s390x (1.0.210-1) ... 122s Setting up librust-walkdir-dev:s390x (2.5.0-1) ... 122s Setting up librust-zerocopy-derive-dev:s390x (0.7.32-2) ... 122s Setting up librust-sha1-asm-dev:s390x (0.5.1-2) ... 122s Setting up librust-valuable-derive-dev:s390x (0.1.0-1) ... 122s Setting up librust-ghost-dev:s390x (0.1.5-1) ... 122s Setting up librust-serde-dev:s390x (1.0.210-2) ... 122s Setting up librust-bytemuck-derive-dev:s390x (1.5.0-2) ... 122s Setting up librust-derive-arbitrary-dev:s390x (1.3.2-1) ... 122s Setting up librust-allocator-api2-dev:s390x (0.2.16-1) ... 122s Setting up librust-cmake-dev:s390x (0.1.45-1) ... 122s Setting up librust-async-attributes-dev (1.1.2-6) ... 122s Setting up librust-rand-chacha-dev:s390x (0.3.1-2) ... 122s Setting up librust-futures-macro-dev:s390x (0.3.30-1) ... 122s Setting up librust-ctor-dev:s390x (0.1.26-1) ... 122s Setting up librust-unicode-bidi-dev:s390x (0.3.13-1) ... 122s Setting up librust-tracing-attributes-dev:s390x (0.1.27-1) ... 122s Setting up librust-ptr-meta-derive-dev:s390x (0.1.4-1) ... 122s Setting up librust-serde-fmt-dev (1.0.3-3) ... 122s Setting up librust-sha2-asm-dev:s390x (0.6.2-2) ... 122s Setting up librust-portable-atomic-dev:s390x (1.9.0-4) ... 122s Setting up librust-tokio-macros-dev:s390x (2.4.0-2) ... 122s Setting up librust-flate2-dev:s390x (1.0.34-1) ... 122s Setting up librust-freetype-sys-dev:s390x (0.13.1-1) ... 122s Setting up librust-lock-api-dev:s390x (0.4.12-1) ... 122s Setting up g++-s390x-linux-gnu (4:14.1.0-2ubuntu1) ... 122s Setting up librust-ptr-meta-dev:s390x (0.1.4-1) ... 122s Setting up librust-inventory-dev:s390x (0.3.2-1) ... 122s Setting up librust-sval-dev:s390x (2.6.1-2) ... 122s Setting up librust-itoa-dev:s390x (1.0.9-1) ... 122s Setting up gcc-14 (14.2.0-8ubuntu1) ... 122s Setting up librust-bytes-dev:s390x (1.8.0-1) ... 122s Setting up librust-bumpalo-dev:s390x (3.16.0-1) ... 122s Setting up librust-python3-dll-a-dev:s390x (0.2.10-1) ... 122s Setting up librust-siphasher-dev:s390x (0.3.10-1) ... 122s Setting up librust-rand-core+serde-dev:s390x (0.6.4-2) ... 122s Setting up librust-sval-ref-dev:s390x (2.6.1-1) ... 122s Setting up librust-rkyv-derive-dev:s390x (0.7.44-1) ... 122s Setting up librust-zerocopy-dev:s390x (0.7.32-1) ... 122s Setting up librust-md5-asm-dev:s390x (0.5.0-2) ... 122s Setting up librust-semver-dev:s390x (1.0.23-1) ... 122s Setting up librust-freetype-dev:s390x (0.7.0-4) ... 122s Setting up librust-bytemuck-dev:s390x (1.14.0-1) ... 122s Setting up librust-bit-vec-dev:s390x (0.6.3-1) ... 122s Setting up librust-zeroize-dev:s390x (1.8.1-1) ... 122s Setting up librust-slab-dev:s390x (0.4.9-1) ... 122s Setting up librust-arbitrary-dev:s390x (1.3.2-1) ... 122s Setting up librust-valuable-dev:s390x (0.1.0-4) ... 122s Setting up librust-target-lexicon-dev:s390x (0.12.14-1) ... 122s Setting up librust-serde-test-dev:s390x (1.0.171-1) ... 122s Setting up librust-bit-set-dev:s390x (0.5.2-1) ... 122s Setting up librust-concurrent-queue-dev:s390x (2.5.0-4) ... 122s Setting up g++-14 (14.2.0-8ubuntu1) ... 122s Setting up librust-erased-serde-dev:s390x (0.3.31-1) ... 122s Setting up librust-radium-dev:s390x (1.1.0-1) ... 122s Setting up librust-bit-set+std-dev:s390x (0.5.2-1) ... 122s Setting up librust-phf-shared-dev:s390x (0.11.2-1) ... 122s Setting up librust-tiff-dev:s390x (0.9.0-1) ... 122s Setting up librust-smol-str-dev:s390x (0.2.0-1) ... 122s Setting up librust-atomic-dev:s390x (0.6.0-1) ... 122s Setting up librust-generic-array-dev:s390x (0.14.7-1) ... 122s Setting up librust-half-dev:s390x (1.8.2-4) ... 122s Setting up librust-phf-dev:s390x (0.11.2-1) ... 122s Setting up librust-spin-dev:s390x (0.9.8-4) ... 122s Setting up librust-sval-dynamic-dev:s390x (2.6.1-1) ... 122s Setting up librust-qoi-dev:s390x (0.4.1-2) ... 122s Setting up librust-async-task-dev (4.7.1-3) ... 122s Setting up librust-crypto-common-dev:s390x (0.1.6-1) ... 122s Setting up librust-ciborium-ll-dev:s390x (0.2.2-1) ... 122s Setting up librust-futures-core-dev:s390x (0.3.30-1) ... 122s Setting up librust-lazy-static-dev:s390x (1.5.0-1) ... 122s Setting up libtool (2.4.7-8) ... 122s Setting up librust-sval-buffer-dev:s390x (2.6.1-1) ... 122s Setting up librust-arrayvec-dev:s390x (0.7.4-2) ... 122s Setting up librust-png-dev:s390x (0.17.7-3) ... 122s Setting up librust-rustc-version-dev:s390x (0.4.0-1) ... 122s Setting up librust-event-listener-dev (5.3.1-8) ... 122s Setting up librust-smallvec-dev:s390x (1.13.2-1) ... 122s Setting up librust-sval-fmt-dev:s390x (2.6.1-1) ... 122s Setting up librust-const-oid-dev:s390x (0.9.3-1) ... 122s Setting up gcc (4:14.1.0-2ubuntu1) ... 122s Setting up librust-anstyle-parse-dev:s390x (0.2.1-1) ... 122s Setting up rustc-1.80 (1.80.1+dfsg0ubuntu1-0ubuntu1) ... 122s Setting up dh-autoreconf (20) ... 122s Setting up librust-ciborium-dev:s390x (0.2.2-2) ... 122s Setting up librust-block-buffer-dev:s390x (0.10.2-2) ... 122s Setting up librust-pathfinder-simd-dev:s390x (0.5.2-1) ... 122s Setting up librust-unicode-normalization-dev:s390x (0.1.22-1) ... 122s Setting up librust-anstream-dev:s390x (0.6.15-1) ... 122s Setting up librust-bitflags-dev:s390x (2.6.0-1) ... 122s Setting up librust-regex-syntax-dev:s390x (0.8.2-1) ... 122s Setting up g++ (4:14.1.0-2ubuntu1) ... 122s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 122s Setting up rustc (1.80.1ubuntu2) ... 122s Setting up librust-parking-lot-core-dev:s390x (0.9.10-1) ... 122s Setting up build-essential (12.10ubuntu1) ... 122s Setting up librust-futures-channel-dev:s390x (0.3.30-1) ... 122s Setting up cargo-1.80 (1.80.1+dfsg0ubuntu1-0ubuntu1) ... 122s Setting up librust-once-cell-dev:s390x (1.20.2-1) ... 122s Setting up librust-pyo3-build-config-dev:s390x (0.22.6-1) ... 122s Setting up librust-phf-shared+uncased-dev:s390x (0.11.2-1) ... 122s Setting up librust-digest-dev:s390x (0.10.7-2) ... 122s Setting up librust-md-5-dev:s390x (0.10.6-1) ... 122s Setting up librust-sval-serde-dev:s390x (2.6.1-1) ... 122s Setting up librust-parking-lot-dev:s390x (0.12.3-1) ... 122s Setting up librust-event-listener-strategy-dev:s390x (0.5.2-3) ... 122s Setting up librust-pyo3-macros-backend-dev:s390x (0.22.6-1) ... 122s Setting up librust-pyo3-ffi-dev:s390x (0.22.6-1build1) ... 122s Setting up librust-const-random-macro-dev:s390x (0.1.16-2) ... 122s Setting up librust-const-random-dev:s390x (0.1.17-2) ... 122s Setting up librust-pyo3-macros-dev:s390x (0.22.6-1) ... 122s Setting up librust-sha1-dev:s390x (0.10.6-1) ... 122s Setting up debhelper (13.20ubuntu1) ... 122s Setting up librust-ahash-dev (0.8.11-8) ... 122s Setting up librust-async-channel-dev (2.3.1-8) ... 122s Setting up librust-stringprep-dev:s390x (0.1.2-1) ... 122s Setting up librust-tracing-core-dev:s390x (0.1.32-1) ... 122s Setting up cargo (1.80.1ubuntu2) ... 122s Setting up librust-async-lock-dev (3.4.0-4) ... 122s Setting up python3-setuptools-rust (1.9.0+dfsg-2) ... 122s Setting up librust-eyre-dev:s390x (0.6.12-1) ... 122s Setting up librust-yeslogic-fontconfig-sys-dev:s390x (3.0.1-1) ... 122s Setting up librust-sha2-dev:s390x (0.10.8-1) ... 122s Setting up librust-hmac-dev:s390x (0.12.1-1) ... 122s Setting up librust-rustix-dev:s390x (0.38.32-1) ... 122s Setting up librust-wyz-dev:s390x (0.5.1-1) ... 122s Setting up librust-bitvec-dev:s390x (1.0.1-1) ... 122s Setting up librust-phf+uncased-dev:s390x (0.11.2-1) ... 122s Setting up librust-value-bag-sval2-dev:s390x (1.9.0-1) ... 122s Setting up librust-tempfile-dev:s390x (3.10.1-1) ... 122s Setting up librust-eyre+default-dev:s390x (0.6.12-1) ... 122s Setting up pybuild-plugin-autopkgtest (6.20241024) ... 122s Setting up librust-rusty-fork-dev:s390x (0.3.0-1) ... 122s Setting up librust-hashbrown-dev:s390x (0.14.5-5) ... 122s Setting up librust-rusty-fork+wait-timeout-dev:s390x (0.3.0-1) ... 122s Setting up librust-terminal-size-dev:s390x (0.3.0-2) ... 122s Setting up librust-indexmap-dev:s390x (2.2.6-1) ... 122s Setting up librust-gimli-dev:s390x (0.28.1-2) ... 122s Setting up librust-webp-dev:s390x (0.2.6-1) ... 122s Setting up librust-memchr-dev:s390x (2.7.4-1) ... 122s Setting up librust-futures-util-dev:s390x (0.3.30-2) ... 122s Setting up librust-csv-core-dev:s390x (0.1.11-1) ... 122s Setting up librust-futures-lite-dev:s390x (2.3.0-2) ... 122s Setting up librust-csv-dev:s390x (1.3.0-1) ... 122s Setting up librust-serde-json-dev:s390x (1.0.128-1) ... 122s Setting up librust-async-executor-dev (1.13.1-1) ... 122s Setting up librust-futures-executor-dev:s390x (0.3.30-1) ... 122s Setting up librust-value-bag-serde1-dev:s390x (1.9.0-1) ... 122s Setting up librust-tinytemplate-dev:s390x (1.2.1-1) ... 122s Setting up librust-futures-dev:s390x (0.3.30-2) ... 122s Setting up librust-value-bag-dev:s390x (1.9.0-1) ... 122s Setting up librust-log-dev:s390x (0.4.22-1) ... 122s Setting up librust-kv-log-macro-dev (1.0.8-4) ... 122s Setting up librust-pathfinder-geometry-dev:s390x (0.5.1-1) ... 122s Setting up librust-tracing-dev:s390x (0.1.40-1) ... 122s Setting up librust-polling-dev:s390x (3.4.0-1) ... 122s Setting up librust-aho-corasick-dev:s390x (1.1.3-1) ... 122s Setting up librust-font-kit-dev:s390x (0.11.0-2) ... 122s Setting up librust-async-io-dev:s390x (2.3.3-4) ... 122s Setting up librust-blocking-dev (1.6.1-5) ... 122s Setting up librust-async-net-dev (2.0.0-4) ... 122s Setting up librust-rand-dev:s390x (0.8.5-1) ... 122s Setting up librust-mio-dev:s390x (1.0.2-2) ... 122s Setting up librust-wasm-bindgen-backend-dev:s390x (0.2.87-1) ... 122s Setting up librust-twox-hash-dev:s390x (1.6.3-1) ... 122s Setting up librust-proptest-dev:s390x (1.5.0-2) ... 122s Setting up librust-wasm-bindgen-macro-support-dev:s390x (0.2.87-1) ... 122s Setting up librust-regex-automata-dev:s390x (0.4.7-1) ... 122s Setting up librust-wasm-bindgen-macro-support+spans-dev:s390x (0.2.87-1) ... 122s Setting up librust-wasm-bindgen-macro-dev:s390x (0.2.87-1) ... 122s Setting up librust-uuid-dev:s390x (1.10.0-1) ... 122s Setting up librust-bstr-dev:s390x (1.7.0-2build1) ... 122s Setting up librust-async-signal-dev:s390x (0.2.10-1) ... 122s Setting up librust-bytecheck-dev:s390x (0.6.12-1) ... 122s Setting up librust-postgres-protocol-dev:s390x (0.6.6-2) ... 122s Setting up librust-async-fs-dev (2.1.2-4) ... 122s Setting up librust-wasm-bindgen-dev:s390x (0.2.87-1) ... 122s Setting up librust-convert-case-dev:s390x (0.6.0-2) ... 122s Setting up librust-regex-dev:s390x (1.10.6-1) ... 122s Setting up librust-fancy-regex-dev:s390x (0.11.0-2) ... 122s Setting up librust-async-process-dev (2.3.0-1) ... 122s Setting up librust-derive-more-dev:s390x (0.99.17-1) ... 122s Setting up librust-wasm-bindgen-macro+spans-dev:s390x (0.2.87-1) ... 122s Setting up librust-ruzstd-dev:s390x (0.5.0-1) ... 122s Setting up librust-rend-dev:s390x (0.4.0-1) ... 122s Setting up librust-env-logger-dev:s390x (0.10.2-2) ... 122s Setting up librust-wasm-bindgen+spans-dev:s390x (0.2.87-1) ... 122s Setting up librust-wasm-bindgen+default-dev:s390x (0.2.87-1) ... 122s Setting up librust-rkyv-dev:s390x (0.7.44-1) ... 122s Setting up librust-eui48-dev:s390x (1.1.0-2) ... 122s Setting up librust-parse-zoneinfo-dev:s390x (0.3.0-1) ... 122s Setting up librust-smol-dev (2.0.2-1) ... 122s Setting up librust-js-sys-dev:s390x (0.3.64-1) ... 122s Setting up librust-num-complex-dev:s390x (0.4.6-2) ... 122s Setting up librust-object-dev:s390x (0.32.2-1) ... 122s Setting up librust-approx-dev:s390x (0.5.1-1) ... 122s Setting up librust-web-sys-dev:s390x (0.3.64-2) ... 122s Setting up librust-quickcheck-dev:s390x (1.0.3-3) ... 122s Setting up librust-geo-types-dev:s390x (0.7.11-2) ... 122s Setting up librust-deranged-dev:s390x (0.3.11-1) ... 122s Setting up librust-num-bigint-dev:s390x (0.4.6-1) ... 122s Setting up librust-addr2line-dev:s390x (0.21.0-2) ... 122s Setting up librust-num-rational-dev:s390x (0.4.2-1) ... 122s Setting up librust-chrono-dev:s390x (0.4.38-2) ... 122s Setting up librust-image-dev:s390x (0.24.7-2) ... 122s Setting up librust-time-dev:s390x (0.3.36-2) ... 122s Setting up librust-plotters-bitmap-dev:s390x (0.3.3-3) ... 122s Setting up librust-backtrace-dev:s390x (0.3.69-2) ... 122s Setting up librust-postgres-types-dev:s390x (0.2.6-2) ... 122s Setting up librust-tokio-dev:s390x (1.39.3-3) ... 122s Setting up librust-async-global-executor-dev:s390x (2.4.1-5) ... 122s Setting up librust-plotters-svg-dev:s390x (0.3.5-1) ... 122s Setting up librust-clap-builder-dev:s390x (4.5.15-2) ... 122s Setting up librust-rust-decimal-dev:s390x (1.36.0-1) ... 122s Setting up librust-clap-dev:s390x (4.5.16-1) ... 122s Setting up librust-async-std-dev (1.13.0-1) ... 122s Setting up librust-anyhow-dev:s390x (1.0.86-1) ... 122s Setting up librust-plotters-dev:s390x (0.3.5-4) ... 122s Setting up librust-criterion-dev (0.5.1-6) ... 122s Setting up librust-phf-generator-dev:s390x (0.11.2-2) ... 122s Setting up librust-phf-codegen-dev:s390x (0.11.2-1) ... 122s Setting up librust-chrono-tz-build-dev:s390x (0.2.1-1) ... 122s Setting up librust-chrono-tz-dev:s390x (0.8.6-2) ... 122s Setting up librust-pyo3-dev:s390x (0.22.6-1) ... 122s Setting up autopkgtest-satdep (0) ... 122s Processing triggers for libc-bin (2.40-1ubuntu3) ... 122s Processing triggers for systemd (256.5-2ubuntu4) ... 122s Processing triggers for man-db (2.13.0-1) ... 122s Processing triggers for install-info (7.1.1-1) ... 130s (Reading database ... 81174 files and directories currently installed.) 130s Removing autopkgtest-satdep (0) ... 131s autopkgtest [10:39:46]: test pybuild-autopkgtest: pybuild-autopkgtest 131s autopkgtest [10:39:46]: test pybuild-autopkgtest: [----------------------- 131s pybuild-autopkgtest 131s I: pybuild base:311: cd /tmp/autopkgtest.IaXJxI/autopkgtest_tmp/build; python3.12 -m pytest tests 132s ============================= test session starts ============================== 132s platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 132s rootdir: /tmp/autopkgtest.IaXJxI/autopkgtest_tmp/build 132s configfile: pyproject.toml 132s plugins: typeguard-4.4.1, hypothesis-6.119.3 132s collected 30 items 132s 708s tests/test_encoding.py FFFFFFFFFFFFFFFFFFFFFF [ 73%] 709s tests/test_misc.py F. [ 80%] 711s tests/test_offsets.py FF [ 86%] 713s tests/test_pickle.py F [ 90%] 715s tests/test_simple_public.py FF. [100%] 715s 715s =================================== FAILURES =================================== 715s _________________________________ test_simple __________________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/gpt-2/encodings/main/vocab.bpe', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/gpt-2/encodings/main/vocab.bpe', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/gpt-2/encodings/main/vocab.bpe', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /gpt-2/encodings/main/vocab.bpe (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s def test_simple(): 715s > enc = tiktoken.get_encoding("gpt2") 715s 715s tests/test_encoding.py:15: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:18: in gpt2 715s mergeable_ranks = data_gym_to_mergeable_bpe_ranks( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:103: in data_gym_to_mergeable_bpe_ranks 715s vocab_bpe_contents = read_file_cached(vocab_bpe_file, vocab_bpe_hash).decode() 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /gpt-2/encodings/main/vocab.bpe (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s _____________________________ test_simple_repeated _____________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/gpt-2/encodings/main/vocab.bpe', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/gpt-2/encodings/main/vocab.bpe', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/gpt-2/encodings/main/vocab.bpe', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /gpt-2/encodings/main/vocab.bpe (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s def test_simple_repeated(): 715s > enc = tiktoken.get_encoding("gpt2") 715s 715s tests/test_encoding.py:32: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:18: in gpt2 715s mergeable_ranks = data_gym_to_mergeable_bpe_ranks( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:103: in data_gym_to_mergeable_bpe_ranks 715s vocab_bpe_contents = read_file_cached(vocab_bpe_file, vocab_bpe_hash).decode() 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /gpt-2/encodings/main/vocab.bpe (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ______________________________ test_simple_regex _______________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s def test_simple_regex(): 715s > enc = tiktoken.get_encoding("cl100k_base") 715s 715s tests/test_encoding.py:53: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ______________________________ test_basic_encode _______________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/r50k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s def test_basic_encode(): 715s > enc = tiktoken.get_encoding("r50k_base") 715s 715s tests/test_encoding.py:62: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:34: in r50k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ______________________________ test_encode_empty _______________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/r50k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s def test_encode_empty(): 715s > enc = tiktoken.get_encoding("r50k_base") 715s 715s tests/test_encoding.py:74: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:34: in r50k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ______________________________ test_encode_bytes _______________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s def test_encode_bytes(): 715s > enc = tiktoken.get_encoding("cl100k_base") 715s 715s tests/test_encoding.py:79: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s _________________________ test_encode_surrogate_pairs __________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s def test_encode_surrogate_pairs(): 715s > enc = tiktoken.get_encoding("cl100k_base") 715s 715s tests/test_encoding.py:84: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s _________________ test_catastrophically_repetitive[r50k_base] __________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/r50k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'r50k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s def test_catastrophically_repetitive(make_enc: Callable[[], tiktoken.Encoding]): 715s > enc = make_enc() 715s 715s tests/test_encoding.py:96: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:34: in r50k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ________________ test_catastrophically_repetitive[cl100k_base] _________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'cl100k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s def test_catastrophically_repetitive(make_enc: Callable[[], tiktoken.Encoding]): 715s > enc = make_enc() 715s 715s tests/test_encoding.py:96: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s _______________________ test_basic_roundtrip[r50k_base] ________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/r50k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'r50k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s def test_basic_roundtrip(make_enc): 715s > enc = make_enc() 715s 715s tests/test_encoding.py:115: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:34: in r50k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ______________________ test_basic_roundtrip[cl100k_base] _______________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.IaXJxI/autopkgtest_tmp/build; python3.12 -m pytest tests 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'cl100k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s def test_basic_roundtrip(make_enc): 715s > enc = make_enc() 715s 715s tests/test_encoding.py:115: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ________________________ test_hyp_roundtrip[r50k_base] _________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/r50k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'r50k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s > @hypothesis.given(text=st.text()) 715s 715s tests/test_encoding.py:131: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s tests/test_encoding.py:134: in test_hyp_roundtrip 715s enc = make_enc() 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:34: in r50k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s E Falsifying example: test_hyp_roundtrip( 715s E make_enc=functools.partial(get_encoding, 'r50k_base'), 715s E text='', # or any other generated value 715s E ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s _______________________ test_hyp_roundtrip[cl100k_base] ________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'cl100k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s > @hypothesis.given(text=st.text()) 715s 715s tests/test_encoding.py:131: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s tests/test_encoding.py:134: in test_hyp_roundtrip 715s enc = make_enc() 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s E Falsifying example: test_hyp_roundtrip( 715s E make_enc=functools.partial(get_encoding, 'cl100k_base'), 715s E text='', # or any other generated value 715s E ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ____________________ test_single_token_roundtrip[r50k_base] ____________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/r50k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'r50k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s def test_single_token_roundtrip(make_enc: Callable[[], tiktoken.Encoding]): 715s > enc = make_enc() 715s 715s tests/test_encoding.py:141: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:34: in r50k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ___________________ test_single_token_roundtrip[cl100k_base] ___________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_contepybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p 3.12 returned exit code 13 715s make: *** [/tmp/WJO_y0s4Sa/run:4: pybuild-autopkgtest] Error 25 715s nt=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'cl100k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s def test_single_token_roundtrip(make_enc: Callable[[], tiktoken.Encoding]): 715s > enc = make_enc() 715s 715s tests/test_encoding.py:141: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ______________________________ test_special_token ______________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s pybuild-autopkgtest: error: /tmp/WJO_y0s4Sa/run pybuild-autopkgtest returned exit code 2 715s During handling of the above exception, another exception occurred: 715s 715s def test_special_token(): 715s > enc = tiktoken.get_encoding("cl100k_base") 715s 715s tests/test_encoding.py:157: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s _____________________ test_hyp_special_ordinary[r50k_base] _____________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/r50k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'r50k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s > @hypothesis.given(text=st.text()) 715s 715s tests/test_encoding.py:208: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s tests/test_encoding.py:211: in test_hyp_special_ordinary 715s enc = make_enc() 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:34: in r50k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s E Falsifying example: test_hyp_special_ordinary( 715s E make_enc=functools.partial(get_encoding, 'r50k_base'), 715s E text='', # or any other generated value 715s E ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ____________________ test_hyp_special_ordinary[cl100k_base] ____________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'cl100k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s > @hypothesis.given(text=st.text()) 715s 715s tests/test_encoding.py:208: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s tests/test_encoding.py:211: in test_hyp_special_ordinary 715s enc = make_enc() 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s E Falsifying example: test_hyp_special_ordinary( 715s E make_enc=functools.partial(get_encoding, 'cl100k_base'), 715s E text='', # or any other generated value 715s E ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s _________________________ test_batch_encode[r50k_base] _________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/r50k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'r50k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s def test_batch_encode(make_enc: Callable[[], tiktoken.Encoding]): 715s > enc = make_enc() 715s 715s tests/test_encoding.py:222: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:34: in r50k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ________________________ test_batch_encode[cl100k_base] ________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'cl100k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s def test_batch_encode(make_enc: Callable[[], tiktoken.Encoding]): 715s > enc = make_enc() 715s 715s tests/test_encoding.py:222: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s _____________________ test_hyp_batch_roundtrip[r50k_base] ______________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/r50k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/r50k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'r50k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s > @hypothesis.given(batch=st.lists(st.text())) 715s 715s tests/test_encoding.py:237: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s tests/test_encoding.py:240: in test_hyp_batch_roundtrip 715s enc = make_enc() 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:34: in r50k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s E Falsifying example: test_hyp_batch_roundtrip( 715s E make_enc=functools.partial(get_encoding, 'r50k_base'), 715s E batch=[], # or any other generated value 715s E ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ____________________ test_hyp_batch_roundtrip[cl100k_base] _____________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'cl100k_base') 715s 715s @pytest.mark.parametrize("make_enc", ENCODING_FACTORIES) 715s > @hypothesis.given(batch=st.lists(st.text())) 715s 715s tests/test_encoding.py:237: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s tests/test_encoding.py:240: in test_hyp_batch_roundtrip 715s enc = make_enc() 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s E Falsifying example: test_hyp_batch_roundtrip( 715s E make_enc=functools.partial(get_encoding, 'cl100k_base'), 715s E batch=[], # or any other generated value 715s E ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ___________________________ test_encoding_for_model ____________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/gpt-2/encodings/main/vocab.bpe', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/gpt-2/encodings/main/vocab.bpe', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/gpt-2/encodings/main/vocab.bpe', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /gpt-2/encodings/main/vocab.bpe (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s def test_encoding_for_model(): 715s > enc = tiktoken.encoding_for_model("gpt2") 715s 715s tests/test_misc.py:8: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/tiktoken/model.py:105: in encoding_for_model 715s return get_encoding(encoding_name_for_model(model_name)) 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:18: in gpt2 715s mergeable_ranks = data_gym_to_mergeable_bpe_ranks( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:103: in data_gym_to_mergeable_bpe_ranks 715s vocab_bpe_contents = read_file_cached(vocab_bpe_file, vocab_bpe_hash).decode() 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /gpt-2/encodings/main/vocab.bpe (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ________________________ test_hyp_offsets[cl100k_base] _________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 715s retries=retries, 715s response_conn=response_conn, 715s preload_content=preload_content, 715s decode_content=decode_content, 715s **response_kw, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 715s raise new_e 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 715s self._validate_conn(conn) 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 715s conn.connect() 715s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 715s self.sock = sock = self._new_conn() 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s except socket.gaierror as e: 715s raise NameResolutionError(self.host, self, e) from e 715s except SocketTimeout as e: 715s raise ConnectTimeoutError( 715s self, 715s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 715s ) from e 715s 715s except OSError as e: 715s > raise NewConnectionError( 715s self, f"Failed to establish a new connection: {e}" 715s ) from e 715s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s > resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:667: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 715s retries = retries.increment( 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 715s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 715s _pool = 715s _stacktrace = 715s 715s def increment( 715s self, 715s method: str | None = None, 715s url: str | None = None, 715s response: BaseHTTPResponse | None = None, 715s error: Exception | None = None, 715s _pool: ConnectionPool | None = None, 715s _stacktrace: TracebackType | None = None, 715s ) -> Retry: 715s """Return a new Retry object with incremented retry counters. 715s 715s :param response: A response object, or None, if the server did not 715s return a response. 715s :type response: :class:`~urllib3.response.BaseHTTPResponse` 715s :param Exception error: An error encountered during the request, or 715s None if the response was received successfully. 715s 715s :return: A new ``Retry`` object. 715s """ 715s if self.total is False and error: 715s # Disabled, indicate to re-raise the error. 715s raise reraise(type(error), error, _stacktrace) 715s 715s total = self.total 715s if total is not None: 715s total -= 1 715s 715s connect = self.connect 715s read = self.read 715s redirect = self.redirect 715s status_count = self.status 715s other = self.other 715s cause = "unknown" 715s status = None 715s redirect_location = None 715s 715s if error and self._is_connection_error(error): 715s # Connect retry? 715s if connect is False: 715s raise reraise(type(error), error, _stacktrace) 715s elif connect is not None: 715s connect -= 1 715s 715s elif error and self._is_read_error(error): 715s # Read retry? 715s if read is False or method is None or not self._is_method_retryable(method): 715s raise reraise(type(error), error, _stacktrace) 715s elif read is not None: 715s read -= 1 715s 715s elif error: 715s # Other retry? 715s if other is not None: 715s other -= 1 715s 715s elif response and response.get_redirect_location(): 715s # Redirect retry? 715s if redirect is not None: 715s redirect -= 1 715s cause = "too many redirects" 715s response_redirect_location = response.get_redirect_location() 715s if response_redirect_location: 715s redirect_location = response_redirect_location 715s status = response.status 715s 715s else: 715s # Incrementing because of a server error like a 500 in 715s # status_forcelist and the given method is in the allowed_methods 715s cause = ResponseError.GENERIC_ERROR 715s if response and response.status: 715s if status_count is not None: 715s status_count -= 1 715s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 715s status = response.status 715s 715s history = self.history + ( 715s RequestHistory(method, url, error, status, redirect_location), 715s ) 715s 715s new_retry = self.new( 715s total=total, 715s connect=connect, 715s read=read, 715s redirect=redirect, 715s status=status_count, 715s other=other, 715s history=history, 715s ) 715s 715s if new_retry.is_exhausted(): 715s reason = error or ResponseError(cause) 715s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 715s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s 715s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 715s 715s During handling of the above exception, another exception occurred: 715s 715s make_enc = functools.partial(, 'cl100k_base') 715s 715s @pytest.mark.parametrize("make_enc", SOME_ENCODING_FACTORIES) 715s > @hypothesis.given(data=st.data()) 715s 715s tests/test_offsets.py:29: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s tests/test_offsets.py:32: in test_hyp_offsets 715s enc = make_enc() 715s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 715s enc = Encoding(**constructor()) 715s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 715s mergeable_ranks = load_tiktoken_bpe( 715s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 715s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 715s contents = read_file(blobpath) 715s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 715s resp = requests.get(blobpath) 715s /usr/lib/python3/dist-packages/requests/api.py:73: in get 715s return request("get", url, params=params, **kwargs) 715s /usr/lib/python3/dist-packages/requests/api.py:59: in request 715s return session.request(method=method, url=url, **kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 715s resp = self.send(prep, **send_kwargs) 715s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 715s r = adapter.send(request, **kwargs) 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s self = 715s request = , stream = False 715s timeout = Timeout(connect=None, read=None, total=None), verify = True 715s cert = None, proxies = OrderedDict() 715s 715s def send( 715s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 715s ): 715s """Sends PreparedRequest object. Returns Response object. 715s 715s :param request: The :class:`PreparedRequest ` being sent. 715s :param stream: (optional) Whether to stream the request content. 715s :param timeout: (optional) How long to wait for the server to send 715s data before giving up, as a float, or a :ref:`(connect timeout, 715s read timeout) ` tuple. 715s :type timeout: float or tuple or urllib3 Timeout object 715s :param verify: (optional) Either a boolean, in which case it controls whether 715s we verify the server's TLS certificate, or a string, in which case it 715s must be a path to a CA bundle to use 715s :param cert: (optional) Any user-provided SSL certificate to be trusted. 715s :param proxies: (optional) The proxies dictionary to apply to the request. 715s :rtype: requests.Response 715s """ 715s 715s try: 715s conn = self.get_connection_with_tls_context( 715s request, verify, proxies=proxies, cert=cert 715s ) 715s except LocationValueError as e: 715s raise InvalidURL(e, request=request) 715s 715s self.cert_verify(conn, request.url, verify, cert) 715s url = self.request_url(request, proxies) 715s self.add_headers( 715s request, 715s stream=stream, 715s timeout=timeout, 715s verify=verify, 715s cert=cert, 715s proxies=proxies, 715s ) 715s 715s chunked = not (request.body is None or "Content-Length" in request.headers) 715s 715s if isinstance(timeout, tuple): 715s try: 715s connect, read = timeout 715s timeout = TimeoutSauce(connect=connect, read=read) 715s except ValueError: 715s raise ValueError( 715s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 715s f"or a single float to set both timeouts to the same value." 715s ) 715s elif isinstance(timeout, TimeoutSauce): 715s pass 715s else: 715s timeout = TimeoutSauce(connect=timeout, read=timeout) 715s 715s try: 715s resp = conn.urlopen( 715s method=request.method, 715s url=url, 715s body=request.body, 715s headers=request.headers, 715s redirect=False, 715s assert_same_host=False, 715s preload_content=False, 715s decode_content=False, 715s retries=self.max_retries, 715s timeout=timeout, 715s chunked=chunked, 715s ) 715s 715s except (ProtocolError, OSError) as err: 715s raise ConnectionError(err, request=request) 715s 715s except MaxRetryError as e: 715s if isinstance(e.reason, ConnectTimeoutError): 715s # TODO: Remove this in 3.0.0: see #2811 715s if not isinstance(e.reason, NewConnectionError): 715s raise ConnectTimeout(e, request=request) 715s 715s if isinstance(e.reason, ResponseError): 715s raise RetryError(e, request=request) 715s 715s if isinstance(e.reason, _ProxyError): 715s raise ProxyError(e, request=request) 715s 715s if isinstance(e.reason, _SSLError): 715s # This branch is for urllib3 v1.22 and later. 715s raise SSLError(e, request=request) 715s 715s > raise ConnectionError(e, request=request) 715s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 715s E Falsifying example: test_hyp_offsets( 715s E make_enc=functools.partial(get_encoding, 'cl100k_base'), 715s E data=data(...), 715s E ) 715s 715s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 715s ______________________________ test_basic_offsets ______________________________ 715s 715s self = 715s 715s def _new_conn(self) -> socket.socket: 715s """Establish a socket connection and set nodelay settings on it. 715s 715s :return: New socket connection. 715s """ 715s try: 715s > sock = connection.create_connection( 715s (self._dns_host, self.port), 715s self.timeout, 715s source_address=self.source_address, 715s socket_options=self.socket_options, 715s ) 715s 715s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 715s raise err 715s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 715s 715s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 715s source_address = None, socket_options = [(6, 1, 1)] 715s 715s def create_connection( 715s address: tuple[str, int], 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s source_address: tuple[str, int] | None = None, 715s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 715s ) -> socket.socket: 715s """Connect to *address* and return the socket object. 715s 715s Convenience function. Connect to *address* (a 2-tuple ``(host, 715s port)``) and return the socket object. Passing the optional 715s *timeout* parameter will set the timeout on the socket instance 715s before attempting to connect. If no *timeout* is supplied, the 715s global default timeout setting returned by :func:`socket.getdefaulttimeout` 715s is used. If *source_address* is set it must be a tuple of (host, port) 715s for the socket to bind as a source address before making the connection. 715s An host of '' or port 0 tells the OS to use the default. 715s """ 715s 715s host, port = address 715s if host.startswith("["): 715s host = host.strip("[]") 715s err = None 715s 715s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 715s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 715s # The original create_connection function always returns all records. 715s family = allowed_gai_family() 715s 715s try: 715s host.encode("idna") 715s except UnicodeError: 715s raise LocationParseError(f"'{host}', label empty or too long") from None 715s 715s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 715s af, socktype, proto, canonname, sa = res 715s sock = None 715s try: 715s sock = socket.socket(af, socktype, proto) 715s 715s # If provided, set socket level options before connecting. 715s _set_socket_options(sock, socket_options) 715s 715s if timeout is not _DEFAULT_TIMEOUT: 715s sock.settimeout(timeout) 715s if source_address: 715s sock.bind(source_address) 715s > sock.connect(sa) 715s E ConnectionRefusedError: [Errno 111] Connection refused 715s 715s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 715s 715s The above exception was the direct cause of the following exception: 715s 715s self = 715s method = 'GET', url = '/encodings/cl100k_base.tiktoken', body = None 715s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 715s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 715s redirect = False, assert_same_host = False 715s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 715s release_conn = False, chunked = False, body_pos = None, preload_content = False 715s decode_content = False, response_kw = {} 715s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/cl100k_base.tiktoken', query=None, fragment=None) 715s destination_scheme = None, conn = None, release_this_conn = True 715s http_tunnel_required = False, err = None, clean_exit = False 715s 715s def urlopen( # type: ignore[override] 715s self, 715s method: str, 715s url: str, 715s body: _TYPE_BODY | None = None, 715s headers: typing.Mapping[str, str] | None = None, 715s retries: Retry | bool | int | None = None, 715s redirect: bool = True, 715s assert_same_host: bool = True, 715s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 715s pool_timeout: int | None = None, 715s release_conn: bool | None = None, 715s chunked: bool = False, 715s body_pos: _TYPE_BODY_POSITION | None = None, 715s preload_content: bool = True, 715s decode_content: bool = True, 715s **response_kw: typing.Any, 715s ) -> BaseHTTPResponse: 715s """ 715s Get a connection from the pool and perform an HTTP request. This is the 715s lowest level call for making a request, so you'll need to specify all 715s the raw details. 715s 715s .. note:: 715s 715s More commonly, it's appropriate to use a convenience method 715s such as :meth:`request`. 715s 715s .. note:: 715s 715s `release_conn` will only behave as expected if 715s `preload_content=False` because we want to make 715s `preload_content=False` the default behaviour someday soon without 715s breaking backwards compatibility. 715s 715s :param method: 715s HTTP request method (such as GET, POST, PUT, etc.) 715s 715s :param url: 715s The URL to perform the request on. 715s 715s :param body: 715s Data to send in the request body, either :class:`str`, :class:`bytes`, 715s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 715s 715s :param headers: 715s Dictionary of custom headers to send, such as User-Agent, 715s If-None-Match, etc. If None, pool headers are used. If provided, 715s these headers completely replace any pool-specific headers. 715s 715s :param retries: 715s Configure the number of retries to allow before raising a 715s :class:`~urllib3.exceptions.MaxRetryError` exception. 715s 715s Pass ``None`` to retry until you receive a response. Pass a 715s :class:`~urllib3.util.retry.Retry` object for fine-grained control 715s over different types of retries. 715s Pass an integer number to retry connection errors that many times, 715s but no other types of errors. Pass zero to never retry. 715s 715s If ``False``, then retries are disabled and any exception is raised 715s immediately. Also, instead of raising a MaxRetryError on redirects, 715s the redirect response will be returned. 715s 715s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 715s 715s :param redirect: 715s If True, automatically handle redirects (status codes 301, 302, 715s 303, 307, 308). Each redirect counts as a retry. Disabling retries 715s will disable redirect, too. 715s 715s :param assert_same_host: 715s If ``True``, will make sure that the host of the pool requests is 715s consistent else will raise HostChangedError. When ``False``, you can 715s use the pool on an HTTP proxy and request foreign hosts. 715s 715s :param timeout: 715s If specified, overrides the default timeout for this one 715s request. It may be a float (in seconds) or an instance of 715s :class:`urllib3.util.Timeout`. 715s 715s :param pool_timeout: 715s If set and the pool is set to block=True, then this method will 715s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 715s connection is available within the time period. 715s 715s :param bool preload_content: 715s If True, the response's body will be preloaded into memory. 715s 715s :param bool decode_content: 715s If True, will attempt to decode the body based on the 715s 'content-encoding' header. 715s 715s :param release_conn: 715s If False, then the urlopen call will not release the connection 715s back into the pool once a response is received (but will release if 715s you read the entire contents of the response such as when 715s `preload_content=True`). This is useful if you're not preloading 715s the response's content immediately. You will need to call 715s ``r.release_conn()`` on the response ``r`` to return the connection 715s back into the pool. If None, it takes the value of ``preload_content`` 715s which defaults to ``True``. 715s 715s :param bool chunked: 715s If True, urllib3 will send the body using chunked transfer 715s encoding. Otherwise, urllib3 will send the body using the standard 715s content-length form. Defaults to False. 715s 715s :param int body_pos: 715s Position to seek to in file-like body in the event of a retry or 715s redirect. Typically this won't need to be set because urllib3 will 715s auto-populate the value when needed. 715s """ 715s parsed_url = parse_url(url) 715s destination_scheme = parsed_url.scheme 715s 715s if headers is None: 715s headers = self.headers 715s 715s if not isinstance(retries, Retry): 715s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 715s 715s if release_conn is None: 715s release_conn = preload_content 715s 715s # Check host 715s if assert_same_host and not self.is_same_host(url): 715s raise HostChangedError(self, url, retries) 715s 715s # Ensure that the URL we're connecting to is properly encoded 715s if url.startswith("/"): 715s url = to_str(_encode_target(url)) 715s else: 715s url = to_str(parsed_url.url) 715s 715s conn = None 715s 715s # Track whether `conn` needs to be released before 715s # returning/raising/recursing. Update this variable if necessary, and 715s # leave `release_conn` constant throughout the function. That way, if 715s # the function recurses, the original value of `release_conn` will be 715s # passed down into the recursive call, and its value will be respected. 715s # 715s # See issue #651 [1] for details. 715s # 715s # [1] 715s release_this_conn = release_conn 715s 715s http_tunnel_required = connection_requires_http_tunnel( 715s self.proxy, self.proxy_config, destination_scheme 715s ) 715s 715s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 715s # have to copy the headers dict so we can safely change it without those 715s # changes being reflected in anyone else's copy. 715s if not http_tunnel_required: 715s headers = headers.copy() # type: ignore[attr-defined] 715s headers.update(self.proxy_headers) # type: ignore[union-attr] 715s 715s # Must keep the exception bound to a separate variable or else Python 3 715s # complains about UnboundLocalError. 715s err = None 715s 715s # Keep track of whether we cleanly exited the except block. This 715s # ensures we do proper cleanup in finally. 715s clean_exit = False 715s 715s # Rewind body position, if needed. Record current position 715s # for future rewinds in the event of a redirect/retry. 715s body_pos = set_file_position(body, body_pos) 715s 715s try: 715s # Request a connection from the queue. 715s timeout_obj = self._get_timeout(timeout) 715s conn = self._get_conn(timeout=pool_timeout) 715s 715s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 715s 715s # Is this a closed/new connection that requires CONNECT tunnelling? 715s if self.proxy is not None and http_tunnel_required and conn.is_closed: 715s try: 715s self._prepare_proxy(conn) 715s except (BaseSSLError, OSError, SocketTimeout) as e: 715s self._raise_timeout( 715s err=e, url=self.proxy.url, timeout_value=conn.timeout 715s ) 715s raise 715s 715s # If we're going to release the connection in ``finally:``, then 715s # the response doesn't need to know about the connection. Otherwise 715s # it will also try to release it and we'll have a double-release 715s # mess. 715s response_conn = conn if not release_conn else None 715s 715s # Make the request on the HTTPConnection object 715s > response = self._make_request( 715s conn, 715s method, 715s url, 715s timeout=timeout_obj, 715s body=body, 715s headers=headers, 715s chunked=chunked, 716s retries=retries, 716s response_conn=response_conn, 716s preload_content=preload_content, 716s decode_content=decode_content, 716s **response_kw, 716s ) 716s 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 716s raise new_e 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 716s self._validate_conn(conn) 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 716s conn.connect() 716s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 716s self.sock = sock = self._new_conn() 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s self = 716s 716s def _new_conn(self) -> socket.socket: 716s """Establish a socket connection and set nodelay settings on it. 716s 716s :return: New socket connection. 716s """ 716s try: 716s sock = connection.create_connection( 716s (self._dns_host, self.port), 716s self.timeout, 716s source_address=self.source_address, 716s socket_options=self.socket_options, 716s ) 716s except socket.gaierror as e: 716s raise NameResolutionError(self.host, self, e) from e 716s except SocketTimeout as e: 716s raise ConnectTimeoutError( 716s self, 716s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 716s ) from e 716s 716s except OSError as e: 716s > raise NewConnectionError( 716s self, f"Failed to establish a new connection: {e}" 716s ) from e 716s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 716s 716s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 716s 716s The above exception was the direct cause of the following exception: 716s 716s self = 716s request = , stream = False 716s timeout = Timeout(connect=None, read=None, total=None), verify = True 716s cert = None, proxies = OrderedDict() 716s 716s def send( 716s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 716s ): 716s """Sends PreparedRequest object. Returns Response object. 716s 716s :param request: The :class:`PreparedRequest ` being sent. 716s :param stream: (optional) Whether to stream the request content. 716s :param timeout: (optional) How long to wait for the server to send 716s data before giving up, as a float, or a :ref:`(connect timeout, 716s read timeout) ` tuple. 716s :type timeout: float or tuple or urllib3 Timeout object 716s :param verify: (optional) Either a boolean, in which case it controls whether 716s we verify the server's TLS certificate, or a string, in which case it 716s must be a path to a CA bundle to use 716s :param cert: (optional) Any user-provided SSL certificate to be trusted. 716s :param proxies: (optional) The proxies dictionary to apply to the request. 716s :rtype: requests.Response 716s """ 716s 716s try: 716s conn = self.get_connection_with_tls_context( 716s request, verify, proxies=proxies, cert=cert 716s ) 716s except LocationValueError as e: 716s raise InvalidURL(e, request=request) 716s 716s self.cert_verify(conn, request.url, verify, cert) 716s url = self.request_url(request, proxies) 716s self.add_headers( 716s request, 716s stream=stream, 716s timeout=timeout, 716s verify=verify, 716s cert=cert, 716s proxies=proxies, 716s ) 716s 716s chunked = not (request.body is None or "Content-Length" in request.headers) 716s 716s if isinstance(timeout, tuple): 716s try: 716s connect, read = timeout 716s timeout = TimeoutSauce(connect=connect, read=read) 716s except ValueError: 716s raise ValueError( 716s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 716s f"or a single float to set both timeouts to the same value." 716s ) 716s elif isinstance(timeout, TimeoutSauce): 716s pass 716s else: 716s timeout = TimeoutSauce(connect=timeout, read=timeout) 716s 716s try: 716s > resp = conn.urlopen( 716s method=request.method, 716s url=url, 716s body=request.body, 716s headers=request.headers, 716s redirect=False, 716s assert_same_host=False, 716s preload_content=False, 716s decode_content=False, 716s retries=self.max_retries, 716s timeout=timeout, 716s chunked=chunked, 716s ) 716s 716s /usr/lib/python3/dist-packages/requests/adapters.py:667: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 716s retries = retries.increment( 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 716s method = 'GET', url = '/encodings/cl100k_base.tiktoken', response = None 716s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 716s _pool = 716s _stacktrace = 716s 716s def increment( 716s self, 716s method: str | None = None, 716s url: str | None = None, 716s response: BaseHTTPResponse | None = None, 716s error: Exception | None = None, 716s _pool: ConnectionPool | None = None, 716s _stacktrace: TracebackType | None = None, 716s ) -> Retry: 716s """Return a new Retry object with incremented retry counters. 716s 716s :param response: A response object, or None, if the server did not 716s return a response. 716s :type response: :class:`~urllib3.response.BaseHTTPResponse` 716s :param Exception error: An error encountered during the request, or 716s None if the response was received successfully. 716s 716s :return: A new ``Retry`` object. 716s """ 716s if self.total is False and error: 716s # Disabled, indicate to re-raise the error. 716s raise reraise(type(error), error, _stacktrace) 716s 716s total = self.total 716s if total is not None: 716s total -= 1 716s 716s connect = self.connect 716s read = self.read 716s redirect = self.redirect 716s status_count = self.status 716s other = self.other 716s cause = "unknown" 716s status = None 716s redirect_location = None 716s 716s if error and self._is_connection_error(error): 716s # Connect retry? 716s if connect is False: 716s raise reraise(type(error), error, _stacktrace) 716s elif connect is not None: 716s connect -= 1 716s 716s elif error and self._is_read_error(error): 716s # Read retry? 716s if read is False or method is None or not self._is_method_retryable(method): 716s raise reraise(type(error), error, _stacktrace) 716s elif read is not None: 716s read -= 1 716s 716s elif error: 716s # Other retry? 716s if other is not None: 716s other -= 1 716s 716s elif response and response.get_redirect_location(): 716s # Redirect retry? 716s if redirect is not None: 716s redirect -= 1 716s cause = "too many redirects" 716s response_redirect_location = response.get_redirect_location() 716s if response_redirect_location: 716s redirect_location = response_redirect_location 716s status = response.status 716s 716s else: 716s # Incrementing because of a server error like a 500 in 716s # status_forcelist and the given method is in the allowed_methods 716s cause = ResponseError.GENERIC_ERROR 716s if response and response.status: 716s if status_count is not None: 716s status_count -= 1 716s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 716s status = response.status 716s 716s history = self.history + ( 716s RequestHistory(method, url, error, status, redirect_location), 716s ) 716s 716s new_retry = self.new( 716s total=total, 716s connect=connect, 716s read=read, 716s redirect=redirect, 716s status=status_count, 716s other=other, 716s history=history, 716s ) 716s 716s if new_retry.is_exhausted(): 716s reason = error or ResponseError(cause) 716s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 716s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 716s 716s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 716s 716s During handling of the above exception, another exception occurred: 716s 716s def test_basic_offsets(): 716s > enc = tiktoken.get_encoding("cl100k_base") 716s 716s tests/test_offsets.py:50: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 716s enc = Encoding(**constructor()) 716s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:76: in cl100k_base 716s mergeable_ranks = load_tiktoken_bpe( 716s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 716s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 716s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 716s contents = read_file(blobpath) 716s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 716s resp = requests.get(blobpath) 716s /usr/lib/python3/dist-packages/requests/api.py:73: in get 716s return request("get", url, params=params, **kwargs) 716s /usr/lib/python3/dist-packages/requests/api.py:59: in request 716s return session.request(method=method, url=url, **kwargs) 716s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 716s resp = self.send(prep, **send_kwargs) 716s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 716s r = adapter.send(request, **kwargs) 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s self = 716s request = , stream = False 716s timeout = Timeout(connect=None, read=None, total=None), verify = True 716s cert = None, proxies = OrderedDict() 716s 716s def send( 716s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 716s ): 716s """Sends PreparedRequest object. Returns Response object. 716s 716s :param request: The :class:`PreparedRequest ` being sent. 716s :param stream: (optional) Whether to stream the request content. 716s :param timeout: (optional) How long to wait for the server to send 716s data before giving up, as a float, or a :ref:`(connect timeout, 716s read timeout) ` tuple. 716s :type timeout: float or tuple or urllib3 Timeout object 716s :param verify: (optional) Either a boolean, in which case it controls whether 716s we verify the server's TLS certificate, or a string, in which case it 716s must be a path to a CA bundle to use 716s :param cert: (optional) Any user-provided SSL certificate to be trusted. 716s :param proxies: (optional) The proxies dictionary to apply to the request. 716s :rtype: requests.Response 716s """ 716s 716s try: 716s conn = self.get_connection_with_tls_context( 716s request, verify, proxies=proxies, cert=cert 716s ) 716s except LocationValueError as e: 716s raise InvalidURL(e, request=request) 716s 716s self.cert_verify(conn, request.url, verify, cert) 716s url = self.request_url(request, proxies) 716s self.add_headers( 716s request, 716s stream=stream, 716s timeout=timeout, 716s verify=verify, 716s cert=cert, 716s proxies=proxies, 716s ) 716s 716s chunked = not (request.body is None or "Content-Length" in request.headers) 716s 716s if isinstance(timeout, tuple): 716s try: 716s connect, read = timeout 716s timeout = TimeoutSauce(connect=connect, read=read) 716s except ValueError: 716s raise ValueError( 716s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 716s f"or a single float to set both timeouts to the same value." 716s ) 716s elif isinstance(timeout, TimeoutSauce): 716s pass 716s else: 716s timeout = TimeoutSauce(connect=timeout, read=timeout) 716s 716s try: 716s resp = conn.urlopen( 716s method=request.method, 716s url=url, 716s body=request.body, 716s headers=request.headers, 716s redirect=False, 716s assert_same_host=False, 716s preload_content=False, 716s decode_content=False, 716s retries=self.max_retries, 716s timeout=timeout, 716s chunked=chunked, 716s ) 716s 716s except (ProtocolError, OSError) as err: 716s raise ConnectionError(err, request=request) 716s 716s except MaxRetryError as e: 716s if isinstance(e.reason, ConnectTimeoutError): 716s # TODO: Remove this in 3.0.0: see #2811 716s if not isinstance(e.reason, NewConnectionError): 716s raise ConnectTimeout(e, request=request) 716s 716s if isinstance(e.reason, ResponseError): 716s raise RetryError(e, request=request) 716s 716s if isinstance(e.reason, _ProxyError): 716s raise ProxyError(e, request=request) 716s 716s if isinstance(e.reason, _SSLError): 716s # This branch is for urllib3 v1.22 and later. 716s raise SSLError(e, request=request) 716s 716s > raise ConnectionError(e, request=request) 716s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 716s 716s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 716s _________________________________ test_pickle __________________________________ 716s 716s self = 716s 716s def _new_conn(self) -> socket.socket: 716s """Establish a socket connection and set nodelay settings on it. 716s 716s :return: New socket connection. 716s """ 716s try: 716s > sock = connection.create_connection( 716s (self._dns_host, self.port), 716s self.timeout, 716s source_address=self.source_address, 716s socket_options=self.socket_options, 716s ) 716s 716s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 716s raise err 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 716s source_address = None, socket_options = [(6, 1, 1)] 716s 716s def create_connection( 716s address: tuple[str, int], 716s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 716s source_address: tuple[str, int] | None = None, 716s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 716s ) -> socket.socket: 716s """Connect to *address* and return the socket object. 716s 716s Convenience function. Connect to *address* (a 2-tuple ``(host, 716s port)``) and return the socket object. Passing the optional 716s *timeout* parameter will set the timeout on the socket instance 716s before attempting to connect. If no *timeout* is supplied, the 716s global default timeout setting returned by :func:`socket.getdefaulttimeout` 716s is used. If *source_address* is set it must be a tuple of (host, port) 716s for the socket to bind as a source address before making the connection. 716s An host of '' or port 0 tells the OS to use the default. 716s """ 716s 716s host, port = address 716s if host.startswith("["): 716s host = host.strip("[]") 716s err = None 716s 716s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 716s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 716s # The original create_connection function always returns all records. 716s family = allowed_gai_family() 716s 716s try: 716s host.encode("idna") 716s except UnicodeError: 716s raise LocationParseError(f"'{host}', label empty or too long") from None 716s 716s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 716s af, socktype, proto, canonname, sa = res 716s sock = None 716s try: 716s sock = socket.socket(af, socktype, proto) 716s 716s # If provided, set socket level options before connecting. 716s _set_socket_options(sock, socket_options) 716s 716s if timeout is not _DEFAULT_TIMEOUT: 716s sock.settimeout(timeout) 716s if source_address: 716s sock.bind(source_address) 716s > sock.connect(sa) 716s E ConnectionRefusedError: [Errno 111] Connection refused 716s 716s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 716s 716s The above exception was the direct cause of the following exception: 716s 716s self = 716s method = 'GET', url = '/encodings/r50k_base.tiktoken', body = None 716s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 716s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 716s redirect = False, assert_same_host = False 716s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 716s release_conn = False, chunked = False, body_pos = None, preload_content = False 716s decode_content = False, response_kw = {} 716s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/encodings/r50k_base.tiktoken', query=None, fragment=None) 716s destination_scheme = None, conn = None, release_this_conn = True 716s http_tunnel_required = False, err = None, clean_exit = False 716s 716s def urlopen( # type: ignore[override] 716s self, 716s method: str, 716s url: str, 716s body: _TYPE_BODY | None = None, 716s headers: typing.Mapping[str, str] | None = None, 716s retries: Retry | bool | int | None = None, 716s redirect: bool = True, 716s assert_same_host: bool = True, 716s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 716s pool_timeout: int | None = None, 716s release_conn: bool | None = None, 716s chunked: bool = False, 716s body_pos: _TYPE_BODY_POSITION | None = None, 716s preload_content: bool = True, 716s decode_content: bool = True, 716s **response_kw: typing.Any, 716s ) -> BaseHTTPResponse: 716s """ 716s Get a connection from the pool and perform an HTTP request. This is the 716s lowest level call for making a request, so you'll need to specify all 716s the raw details. 716s 716s .. note:: 716s 716s More commonly, it's appropriate to use a convenience method 716s such as :meth:`request`. 716s 716s .. note:: 716s 716s `release_conn` will only behave as expected if 716s `preload_content=False` because we want to make 716s `preload_content=False` the default behaviour someday soon without 716s breaking backwards compatibility. 716s 716s :param method: 716s HTTP request method (such as GET, POST, PUT, etc.) 716s 716s :param url: 716s The URL to perform the request on. 716s 716s :param body: 716s Data to send in the request body, either :class:`str`, :class:`bytes`, 716s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 716s 716s :param headers: 716s Dictionary of custom headers to send, such as User-Agent, 716s If-None-Match, etc. If None, pool headers are used. If provided, 716s these headers completely replace any pool-specific headers. 716s 716s :param retries: 716s Configure the number of retries to allow before raising a 716s :class:`~urllib3.exceptions.MaxRetryError` exception. 716s 716s Pass ``None`` to retry until you receive a response. Pass a 716s :class:`~urllib3.util.retry.Retry` object for fine-grained control 716s over different types of retries. 716s Pass an integer number to retry connection errors that many times, 716s but no other types of errors. Pass zero to never retry. 716s 716s If ``False``, then retries are disabled and any exception is raised 716s immediately. Also, instead of raising a MaxRetryError on redirects, 716s the redirect response will be returned. 716s 716s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 716s 716s :param redirect: 716s If True, automatically handle redirects (status codes 301, 302, 716s 303, 307, 308). Each redirect counts as a retry. Disabling retries 716s will disable redirect, too. 716s 716s :param assert_same_host: 716s If ``True``, will make sure that the host of the pool requests is 716s consistent else will raise HostChangedError. When ``False``, you can 716s use the pool on an HTTP proxy and request foreign hosts. 716s 716s :param timeout: 716s If specified, overrides the default timeout for this one 716s request. It may be a float (in seconds) or an instance of 716s :class:`urllib3.util.Timeout`. 716s 716s :param pool_timeout: 716s If set and the pool is set to block=True, then this method will 716s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 716s connection is available within the time period. 716s 716s :param bool preload_content: 716s If True, the response's body will be preloaded into memory. 716s 716s :param bool decode_content: 716s If True, will attempt to decode the body based on the 716s 'content-encoding' header. 716s 716s :param release_conn: 716s If False, then the urlopen call will not release the connection 716s back into the pool once a response is received (but will release if 716s you read the entire contents of the response such as when 716s `preload_content=True`). This is useful if you're not preloading 716s the response's content immediately. You will need to call 716s ``r.release_conn()`` on the response ``r`` to return the connection 716s back into the pool. If None, it takes the value of ``preload_content`` 716s which defaults to ``True``. 716s 716s :param bool chunked: 716s If True, urllib3 will send the body using chunked transfer 716s encoding. Otherwise, urllib3 will send the body using the standard 716s content-length form. Defaults to False. 716s 716s :param int body_pos: 716s Position to seek to in file-like body in the event of a retry or 716s redirect. Typically this won't need to be set because urllib3 will 716s auto-populate the value when needed. 716s """ 716s parsed_url = parse_url(url) 716s destination_scheme = parsed_url.scheme 716s 716s if headers is None: 716s headers = self.headers 716s 716s if not isinstance(retries, Retry): 716s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 716s 716s if release_conn is None: 716s release_conn = preload_content 716s 716s # Check host 716s if assert_same_host and not self.is_same_host(url): 716s raise HostChangedError(self, url, retries) 716s 716s # Ensure that the URL we're connecting to is properly encoded 716s if url.startswith("/"): 716s url = to_str(_encode_target(url)) 716s else: 716s url = to_str(parsed_url.url) 716s 716s conn = None 716s 716s # Track whether `conn` needs to be released before 716s # returning/raising/recursing. Update this variable if necessary, and 716s # leave `release_conn` constant throughout the function. That way, if 716s # the function recurses, the original value of `release_conn` will be 716s # passed down into the recursive call, and its value will be respected. 716s # 716s # See issue #651 [1] for details. 716s # 716s # [1] 716s release_this_conn = release_conn 716s 716s http_tunnel_required = connection_requires_http_tunnel( 716s self.proxy, self.proxy_config, destination_scheme 716s ) 716s 716s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 716s # have to copy the headers dict so we can safely change it without those 716s # changes being reflected in anyone else's copy. 716s if not http_tunnel_required: 716s headers = headers.copy() # type: ignore[attr-defined] 716s headers.update(self.proxy_headers) # type: ignore[union-attr] 716s 716s # Must keep the exception bound to a separate variable or else Python 3 716s # complains about UnboundLocalError. 716s err = None 716s 716s # Keep track of whether we cleanly exited the except block. This 716s # ensures we do proper cleanup in finally. 716s clean_exit = False 716s 716s # Rewind body position, if needed. Record current position 716s # for future rewinds in the event of a redirect/retry. 716s body_pos = set_file_position(body, body_pos) 716s 716s try: 716s # Request a connection from the queue. 716s timeout_obj = self._get_timeout(timeout) 716s conn = self._get_conn(timeout=pool_timeout) 716s 716s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 716s 716s # Is this a closed/new connection that requires CONNECT tunnelling? 716s if self.proxy is not None and http_tunnel_required and conn.is_closed: 716s try: 716s self._prepare_proxy(conn) 716s except (BaseSSLError, OSError, SocketTimeout) as e: 716s self._raise_timeout( 716s err=e, url=self.proxy.url, timeout_value=conn.timeout 716s ) 716s raise 716s 716s # If we're going to release the connection in ``finally:``, then 716s # the response doesn't need to know about the connection. Otherwise 716s # it will also try to release it and we'll have a double-release 716s # mess. 716s response_conn = conn if not release_conn else None 716s 716s # Make the request on the HTTPConnection object 716s > response = self._make_request( 716s conn, 716s method, 716s url, 716s timeout=timeout_obj, 716s body=body, 716s headers=headers, 716s chunked=chunked, 716s retries=retries, 716s response_conn=response_conn, 716s preload_content=preload_content, 716s decode_content=decode_content, 716s **response_kw, 716s ) 716s 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 716s raise new_e 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 716s self._validate_conn(conn) 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 716s conn.connect() 716s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 716s self.sock = sock = self._new_conn() 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s self = 716s 716s def _new_conn(self) -> socket.socket: 716s """Establish a socket connection and set nodelay settings on it. 716s 716s :return: New socket connection. 716s """ 716s try: 716s sock = connection.create_connection( 716s (self._dns_host, self.port), 716s self.timeout, 716s source_address=self.source_address, 716s socket_options=self.socket_options, 716s ) 716s except socket.gaierror as e: 716s raise NameResolutionError(self.host, self, e) from e 716s except SocketTimeout as e: 716s raise ConnectTimeoutError( 716s self, 716s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 716s ) from e 716s 716s except OSError as e: 716s > raise NewConnectionError( 716s self, f"Failed to establish a new connection: {e}" 716s ) from e 716s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 716s 716s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 716s 716s The above exception was the direct cause of the following exception: 716s 716s self = 716s request = , stream = False 716s timeout = Timeout(connect=None, read=None, total=None), verify = True 716s cert = None, proxies = OrderedDict() 716s 716s def send( 716s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 716s ): 716s """Sends PreparedRequest object. Returns Response object. 716s 716s :param request: The :class:`PreparedRequest ` being sent. 716s :param stream: (optional) Whether to stream the request content. 716s :param timeout: (optional) How long to wait for the server to send 716s data before giving up, as a float, or a :ref:`(connect timeout, 716s read timeout) ` tuple. 716s :type timeout: float or tuple or urllib3 Timeout object 716s :param verify: (optional) Either a boolean, in which case it controls whether 716s we verify the server's TLS certificate, or a string, in which case it 716s must be a path to a CA bundle to use 716s :param cert: (optional) Any user-provided SSL certificate to be trusted. 716s :param proxies: (optional) The proxies dictionary to apply to the request. 716s :rtype: requests.Response 716s """ 716s 716s try: 716s conn = self.get_connection_with_tls_context( 716s request, verify, proxies=proxies, cert=cert 716s ) 716s except LocationValueError as e: 716s raise InvalidURL(e, request=request) 716s 716s self.cert_verify(conn, request.url, verify, cert) 716s url = self.request_url(request, proxies) 716s self.add_headers( 716s request, 716s stream=stream, 716s timeout=timeout, 716s verify=verify, 716s cert=cert, 716s proxies=proxies, 716s ) 716s 716s chunked = not (request.body is None or "Content-Length" in request.headers) 716s 716s if isinstance(timeout, tuple): 716s try: 716s connect, read = timeout 716s timeout = TimeoutSauce(connect=connect, read=read) 716s except ValueError: 716s raise ValueError( 716s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 716s f"or a single float to set both timeouts to the same value." 716s ) 716s elif isinstance(timeout, TimeoutSauce): 716s pass 716s else: 716s timeout = TimeoutSauce(connect=timeout, read=timeout) 716s 716s try: 716s > resp = conn.urlopen( 716s method=request.method, 716s url=url, 716s body=request.body, 716s headers=request.headers, 716s redirect=False, 716s assert_same_host=False, 716s preload_content=False, 716s decode_content=False, 716s retries=self.max_retries, 716s timeout=timeout, 716s chunked=chunked, 716s ) 716s 716s /usr/lib/python3/dist-packages/requests/adapters.py:667: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 716s retries = retries.increment( 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 716s method = 'GET', url = '/encodings/r50k_base.tiktoken', response = None 716s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 716s _pool = 716s _stacktrace = 716s 716s def increment( 716s self, 716s method: str | None = None, 716s url: str | None = None, 716s response: BaseHTTPResponse | None = None, 716s error: Exception | None = None, 716s _pool: ConnectionPool | None = None, 716s _stacktrace: TracebackType | None = None, 716s ) -> Retry: 716s """Return a new Retry object with incremented retry counters. 716s 716s :param response: A response object, or None, if the server did not 716s return a response. 716s :type response: :class:`~urllib3.response.BaseHTTPResponse` 716s :param Exception error: An error encountered during the request, or 716s None if the response was received successfully. 716s 716s :return: A new ``Retry`` object. 716s """ 716s if self.total is False and error: 716s # Disabled, indicate to re-raise the error. 716s raise reraise(type(error), error, _stacktrace) 716s 716s total = self.total 716s if total is not None: 716s total -= 1 716s 716s connect = self.connect 716s read = self.read 716s redirect = self.redirect 716s status_count = self.status 716s other = self.other 716s cause = "unknown" 716s status = None 716s redirect_location = None 716s 716s if error and self._is_connection_error(error): 716s # Connect retry? 716s if connect is False: 716s raise reraise(type(error), error, _stacktrace) 716s elif connect is not None: 716s connect -= 1 716s 716s elif error and self._is_read_error(error): 716s # Read retry? 716s if read is False or method is None or not self._is_method_retryable(method): 716s raise reraise(type(error), error, _stacktrace) 716s elif read is not None: 716s read -= 1 716s 716s elif error: 716s # Other retry? 716s if other is not None: 716s other -= 1 716s 716s elif response and response.get_redirect_location(): 716s # Redirect retry? 716s if redirect is not None: 716s redirect -= 1 716s cause = "too many redirects" 716s response_redirect_location = response.get_redirect_location() 716s if response_redirect_location: 716s redirect_location = response_redirect_location 716s status = response.status 716s 716s else: 716s # Incrementing because of a server error like a 500 in 716s # status_forcelist and the given method is in the allowed_methods 716s cause = ResponseError.GENERIC_ERROR 716s if response and response.status: 716s if status_count is not None: 716s status_count -= 1 716s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 716s status = response.status 716s 716s history = self.history + ( 716s RequestHistory(method, url, error, status, redirect_location), 716s ) 716s 716s new_retry = self.new( 716s total=total, 716s connect=connect, 716s read=read, 716s redirect=redirect, 716s status=status_count, 716s other=other, 716s history=history, 716s ) 716s 716s if new_retry.is_exhausted(): 716s reason = error or ResponseError(cause) 716s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 716s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 716s 716s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 716s 716s During handling of the above exception, another exception occurred: 716s 716s def test_pickle(): 716s import pickle 716s 716s > enc_old = tiktoken.get_encoding("r50k_base") 716s 716s tests/test_pickle.py:7: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 716s enc = Encoding(**constructor()) 716s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:34: in r50k_base 716s mergeable_ranks = load_tiktoken_bpe( 716s /usr/lib/python3/dist-packages/tiktoken/load.py:144: in load_tiktoken_bpe 716s contents = read_file_cached(tiktoken_bpe_file, expected_hash) 716s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 716s contents = read_file(blobpath) 716s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 716s resp = requests.get(blobpath) 716s /usr/lib/python3/dist-packages/requests/api.py:73: in get 716s return request("get", url, params=params, **kwargs) 716s /usr/lib/python3/dist-packages/requests/api.py:59: in request 716s return session.request(method=method, url=url, **kwargs) 716s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 716s resp = self.send(prep, **send_kwargs) 716s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 716s r = adapter.send(request, **kwargs) 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s self = 716s request = , stream = False 716s timeout = Timeout(connect=None, read=None, total=None), verify = True 716s cert = None, proxies = OrderedDict() 716s 716s def send( 716s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 716s ): 716s """Sends PreparedRequest object. Returns Response object. 716s 716s :param request: The :class:`PreparedRequest ` being sent. 716s :param stream: (optional) Whether to stream the request content. 716s :param timeout: (optional) How long to wait for the server to send 716s data before giving up, as a float, or a :ref:`(connect timeout, 716s read timeout) ` tuple. 716s :type timeout: float or tuple or urllib3 Timeout object 716s :param verify: (optional) Either a boolean, in which case it controls whether 716s we verify the server's TLS certificate, or a string, in which case it 716s must be a path to a CA bundle to use 716s :param cert: (optional) Any user-provided SSL certificate to be trusted. 716s :param proxies: (optional) The proxies dictionary to apply to the request. 716s :rtype: requests.Response 716s """ 716s 716s try: 716s conn = self.get_connection_with_tls_context( 716s request, verify, proxies=proxies, cert=cert 716s ) 716s except LocationValueError as e: 716s raise InvalidURL(e, request=request) 716s 716s self.cert_verify(conn, request.url, verify, cert) 716s url = self.request_url(request, proxies) 716s self.add_headers( 716s request, 716s stream=stream, 716s timeout=timeout, 716s verify=verify, 716s cert=cert, 716s proxies=proxies, 716s ) 716s 716s chunked = not (request.body is None or "Content-Length" in request.headers) 716s 716s if isinstance(timeout, tuple): 716s try: 716s connect, read = timeout 716s timeout = TimeoutSauce(connect=connect, read=read) 716s except ValueError: 716s raise ValueError( 716s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 716s f"or a single float to set both timeouts to the same value." 716s ) 716s elif isinstance(timeout, TimeoutSauce): 716s pass 716s else: 716s timeout = TimeoutSauce(connect=timeout, read=timeout) 716s 716s try: 716s resp = conn.urlopen( 716s method=request.method, 716s url=url, 716s body=request.body, 716s headers=request.headers, 716s redirect=False, 716s assert_same_host=False, 716s preload_content=False, 716s decode_content=False, 716s retries=self.max_retries, 716s timeout=timeout, 716s chunked=chunked, 716s ) 716s 716s except (ProtocolError, OSError) as err: 716s raise ConnectionError(err, request=request) 716s 716s except MaxRetryError as e: 716s if isinstance(e.reason, ConnectTimeoutError): 716s # TODO: Remove this in 3.0.0: see #2811 716s if not isinstance(e.reason, NewConnectionError): 716s raise ConnectTimeout(e, request=request) 716s 716s if isinstance(e.reason, ResponseError): 716s raise RetryError(e, request=request) 716s 716s if isinstance(e.reason, _ProxyError): 716s raise ProxyError(e, request=request) 716s 716s if isinstance(e.reason, _SSLError): 716s # This branch is for urllib3 v1.22 and later. 716s raise SSLError(e, request=request) 716s 716s > raise ConnectionError(e, request=request) 716s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/r50k_base.tiktoken (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 716s 716s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 716s _________________________________ test_simple __________________________________ 716s 716s self = 716s 716s def _new_conn(self) -> socket.socket: 716s """Establish a socket connection and set nodelay settings on it. 716s 716s :return: New socket connection. 716s """ 716s try: 716s > sock = connection.create_connection( 716s (self._dns_host, self.port), 716s self.timeout, 716s source_address=self.source_address, 716s socket_options=self.socket_options, 716s ) 716s 716s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 716s raise err 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 716s source_address = None, socket_options = [(6, 1, 1)] 716s 716s def create_connection( 716s address: tuple[str, int], 716s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 716s source_address: tuple[str, int] | None = None, 716s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 716s ) -> socket.socket: 716s """Connect to *address* and return the socket object. 716s 716s Convenience function. Connect to *address* (a 2-tuple ``(host, 716s port)``) and return the socket object. Passing the optional 716s *timeout* parameter will set the timeout on the socket instance 716s before attempting to connect. If no *timeout* is supplied, the 716s global default timeout setting returned by :func:`socket.getdefaulttimeout` 716s is used. If *source_address* is set it must be a tuple of (host, port) 716s for the socket to bind as a source address before making the connection. 716s An host of '' or port 0 tells the OS to use the default. 716s """ 716s 716s host, port = address 716s if host.startswith("["): 716s host = host.strip("[]") 716s err = None 716s 716s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 716s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 716s # The original create_connection function always returns all records. 716s family = allowed_gai_family() 716s 716s try: 716s host.encode("idna") 716s except UnicodeError: 716s raise LocationParseError(f"'{host}', label empty or too long") from None 716s 716s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 716s af, socktype, proto, canonname, sa = res 716s sock = None 716s try: 716s sock = socket.socket(af, socktype, proto) 716s 716s # If provided, set socket level options before connecting. 716s _set_socket_options(sock, socket_options) 716s 716s if timeout is not _DEFAULT_TIMEOUT: 716s sock.settimeout(timeout) 716s if source_address: 716s sock.bind(source_address) 716s > sock.connect(sa) 716s E ConnectionRefusedError: [Errno 111] Connection refused 716s 716s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 716s 716s The above exception was the direct cause of the following exception: 716s 716s self = 716s method = 'GET', url = '/gpt-2/encodings/main/vocab.bpe', body = None 716s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 716s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 716s redirect = False, assert_same_host = False 716s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 716s release_conn = False, chunked = False, body_pos = None, preload_content = False 716s decode_content = False, response_kw = {} 716s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/gpt-2/encodings/main/vocab.bpe', query=None, fragment=None) 716s destination_scheme = None, conn = None, release_this_conn = True 716s http_tunnel_required = False, err = None, clean_exit = False 716s 716s def urlopen( # type: ignore[override] 716s self, 716s method: str, 716s url: str, 716s body: _TYPE_BODY | None = None, 716s headers: typing.Mapping[str, str] | None = None, 716s retries: Retry | bool | int | None = None, 716s redirect: bool = True, 716s assert_same_host: bool = True, 716s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 716s pool_timeout: int | None = None, 716s release_conn: bool | None = None, 716s chunked: bool = False, 716s body_pos: _TYPE_BODY_POSITION | None = None, 716s preload_content: bool = True, 716s decode_content: bool = True, 716s **response_kw: typing.Any, 716s ) -> BaseHTTPResponse: 716s """ 716s Get a connection from the pool and perform an HTTP request. This is the 716s lowest level call for making a request, so you'll need to specify all 716s the raw details. 716s 716s .. note:: 716s 716s More commonly, it's appropriate to use a convenience method 716s such as :meth:`request`. 716s 716s .. note:: 716s 716s `release_conn` will only behave as expected if 716s `preload_content=False` because we want to make 716s `preload_content=False` the default behaviour someday soon without 716s breaking backwards compatibility. 716s 716s :param method: 716s HTTP request method (such as GET, POST, PUT, etc.) 716s 716s :param url: 716s The URL to perform the request on. 716s 716s :param body: 716s Data to send in the request body, either :class:`str`, :class:`bytes`, 716s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 716s 716s :param headers: 716s Dictionary of custom headers to send, such as User-Agent, 716s If-None-Match, etc. If None, pool headers are used. If provided, 716s these headers completely replace any pool-specific headers. 716s 716s :param retries: 716s Configure the number of retries to allow before raising a 716s :class:`~urllib3.exceptions.MaxRetryError` exception. 716s 716s Pass ``None`` to retry until you receive a response. Pass a 716s :class:`~urllib3.util.retry.Retry` object for fine-grained control 716s over different types of retries. 716s Pass an integer number to retry connection errors that many times, 716s but no other types of errors. Pass zero to never retry. 716s 716s If ``False``, then retries are disabled and any exception is raised 716s immediately. Also, instead of raising a MaxRetryError on redirects, 716s the redirect response will be returned. 716s 716s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 716s 716s :param redirect: 716s If True, automatically handle redirects (status codes 301, 302, 716s 303, 307, 308). Each redirect counts as a retry. Disabling retries 716s will disable redirect, too. 716s 716s :param assert_same_host: 716s If ``True``, will make sure that the host of the pool requests is 716s consistent else will raise HostChangedError. When ``False``, you can 716s use the pool on an HTTP proxy and request foreign hosts. 716s 716s :param timeout: 716s If specified, overrides the default timeout for this one 716s request. It may be a float (in seconds) or an instance of 716s :class:`urllib3.util.Timeout`. 716s 716s :param pool_timeout: 716s If set and the pool is set to block=True, then this method will 716s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 716s connection is available within the time period. 716s 716s :param bool preload_content: 716s If True, the response's body will be preloaded into memory. 716s 716s :param bool decode_content: 716s If True, will attempt to decode the body based on the 716s 'content-encoding' header. 716s 716s :param release_conn: 716s If False, then the urlopen call will not release the connection 716s back into the pool once a response is received (but will release if 716s you read the entire contents of the response such as when 716s `preload_content=True`). This is useful if you're not preloading 716s the response's content immediately. You will need to call 716s ``r.release_conn()`` on the response ``r`` to return the connection 716s back into the pool. If None, it takes the value of ``preload_content`` 716s which defaults to ``True``. 716s 716s :param bool chunked: 716s If True, urllib3 will send the body using chunked transfer 716s encoding. Otherwise, urllib3 will send the body using the standard 716s content-length form. Defaults to False. 716s 716s :param int body_pos: 716s Position to seek to in file-like body in the event of a retry or 716s redirect. Typically this won't need to be set because urllib3 will 716s auto-populate the value when needed. 716s """ 716s parsed_url = parse_url(url) 716s destination_scheme = parsed_url.scheme 716s 716s if headers is None: 716s headers = self.headers 716s 716s if not isinstance(retries, Retry): 716s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 716s 716s if release_conn is None: 716s release_conn = preload_content 716s 716s # Check host 716s if assert_same_host and not self.is_same_host(url): 716s raise HostChangedError(self, url, retries) 716s 716s # Ensure that the URL we're connecting to is properly encoded 716s if url.startswith("/"): 716s url = to_str(_encode_target(url)) 716s else: 716s url = to_str(parsed_url.url) 716s 716s conn = None 716s 716s # Track whether `conn` needs to be released before 716s # returning/raising/recursing. Update this variable if necessary, and 716s # leave `release_conn` constant throughout the function. That way, if 716s # the function recurses, the original value of `release_conn` will be 716s # passed down into the recursive call, and its value will be respected. 716s # 716s # See issue #651 [1] for details. 716s # 716s # [1] 716s release_this_conn = release_conn 716s 716s http_tunnel_required = connection_requires_http_tunnel( 716s self.proxy, self.proxy_config, destination_scheme 716s ) 716s 716s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 716s # have to copy the headers dict so we can safely change it without those 716s # changes being reflected in anyone else's copy. 716s if not http_tunnel_required: 716s headers = headers.copy() # type: ignore[attr-defined] 716s headers.update(self.proxy_headers) # type: ignore[union-attr] 716s 716s # Must keep the exception bound to a separate variable or else Python 3 716s # complains about UnboundLocalError. 716s err = None 716s 716s # Keep track of whether we cleanly exited the except block. This 716s # ensures we do proper cleanup in finally. 716s clean_exit = False 716s 716s # Rewind body position, if needed. Record current position 716s # for future rewinds in the event of a redirect/retry. 716s body_pos = set_file_position(body, body_pos) 716s 716s try: 716s # Request a connection from the queue. 716s timeout_obj = self._get_timeout(timeout) 716s conn = self._get_conn(timeout=pool_timeout) 716s 716s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 716s 716s # Is this a closed/new connection that requires CONNECT tunnelling? 716s if self.proxy is not None and http_tunnel_required and conn.is_closed: 716s try: 716s self._prepare_proxy(conn) 716s except (BaseSSLError, OSError, SocketTimeout) as e: 716s self._raise_timeout( 716s err=e, url=self.proxy.url, timeout_value=conn.timeout 716s ) 716s raise 716s 716s # If we're going to release the connection in ``finally:``, then 716s # the response doesn't need to know about the connection. Otherwise 716s # it will also try to release it and we'll have a double-release 716s # mess. 716s response_conn = conn if not release_conn else None 716s 716s # Make the request on the HTTPConnection object 716s > response = self._make_request( 716s conn, 716s method, 716s url, 716s timeout=timeout_obj, 716s body=body, 716s headers=headers, 716s chunked=chunked, 716s retries=retries, 716s response_conn=response_conn, 716s preload_content=preload_content, 716s decode_content=decode_content, 716s **response_kw, 716s ) 716s 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 716s raise new_e 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 716s self._validate_conn(conn) 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 716s conn.connect() 716s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 716s self.sock = sock = self._new_conn() 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s self = 716s 716s def _new_conn(self) -> socket.socket: 716s """Establish a socket connection and set nodelay settings on it. 716s 716s :return: New socket connection. 716s """ 716s try: 716s sock = connection.create_connection( 716s (self._dns_host, self.port), 716s self.timeout, 716s source_address=self.source_address, 716s socket_options=self.socket_options, 716s ) 716s except socket.gaierror as e: 716s raise NameResolutionError(self.host, self, e) from e 716s except SocketTimeout as e: 716s raise ConnectTimeoutError( 716s self, 716s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 716s ) from e 716s 716s except OSError as e: 716s > raise NewConnectionError( 716s self, f"Failed to establish a new connection: {e}" 716s ) from e 716s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 716s 716s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 716s 716s The above exception was the direct cause of the following exception: 716s 716s self = 716s request = , stream = False 716s timeout = Timeout(connect=None, read=None, total=None), verify = True 716s cert = None, proxies = OrderedDict() 716s 716s def send( 716s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 716s ): 716s """Sends PreparedRequest object. Returns Response object. 716s 716s :param request: The :class:`PreparedRequest ` being sent. 716s :param stream: (optional) Whether to stream the request content. 716s :param timeout: (optional) How long to wait for the server to send 716s data before giving up, as a float, or a :ref:`(connect timeout, 716s read timeout) ` tuple. 716s :type timeout: float or tuple or urllib3 Timeout object 716s :param verify: (optional) Either a boolean, in which case it controls whether 716s we verify the server's TLS certificate, or a string, in which case it 716s must be a path to a CA bundle to use 716s :param cert: (optional) Any user-provided SSL certificate to be trusted. 716s :param proxies: (optional) The proxies dictionary to apply to the request. 716s :rtype: requests.Response 716s """ 716s 716s try: 716s conn = self.get_connection_with_tls_context( 716s request, verify, proxies=proxies, cert=cert 716s ) 716s except LocationValueError as e: 716s raise InvalidURL(e, request=request) 716s 716s self.cert_verify(conn, request.url, verify, cert) 716s url = self.request_url(request, proxies) 716s self.add_headers( 716s request, 716s stream=stream, 716s timeout=timeout, 716s verify=verify, 716s cert=cert, 716s proxies=proxies, 716s ) 716s 716s chunked = not (request.body is None or "Content-Length" in request.headers) 716s 716s if isinstance(timeout, tuple): 716s try: 716s connect, read = timeout 716s timeout = TimeoutSauce(connect=connect, read=read) 716s except ValueError: 716s raise ValueError( 716s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 716s f"or a single float to set both timeouts to the same value." 716s ) 716s elif isinstance(timeout, TimeoutSauce): 716s pass 716s else: 716s timeout = TimeoutSauce(connect=timeout, read=timeout) 716s 716s try: 716s > resp = conn.urlopen( 716s method=request.method, 716s url=url, 716s body=request.body, 716s headers=request.headers, 716s redirect=False, 716s assert_same_host=False, 716s preload_content=False, 716s decode_content=False, 716s retries=self.max_retries, 716s timeout=timeout, 716s chunked=chunked, 716s ) 716s 716s /usr/lib/python3/dist-packages/requests/adapters.py:667: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 716s retries = retries.increment( 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 716s method = 'GET', url = '/gpt-2/encodings/main/vocab.bpe', response = None 716s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 716s _pool = 716s _stacktrace = 716s 716s def increment( 716s self, 716s method: str | None = None, 716s url: str | None = None, 716s response: BaseHTTPResponse | None = None, 716s error: Exception | None = None, 716s _pool: ConnectionPool | None = None, 716s _stacktrace: TracebackType | None = None, 716s ) -> Retry: 716s """Return a new Retry object with incremented retry counters. 716s 716s :param response: A response object, or None, if the server did not 716s return a response. 716s :type response: :class:`~urllib3.response.BaseHTTPResponse` 716s :param Exception error: An error encountered during the request, or 716s None if the response was received successfully. 716s 716s :return: A new ``Retry`` object. 716s """ 716s if self.total is False and error: 716s # Disabled, indicate to re-raise the error. 716s raise reraise(type(error), error, _stacktrace) 716s 716s total = self.total 716s if total is not None: 716s total -= 1 716s 716s connect = self.connect 716s read = self.read 716s redirect = self.redirect 716s status_count = self.status 716s other = self.other 716s cause = "unknown" 716s status = None 716s redirect_location = None 716s 716s if error and self._is_connection_error(error): 716s # Connect retry? 716s if connect is False: 716s raise reraise(type(error), error, _stacktrace) 716s elif connect is not None: 716s connect -= 1 716s 716s elif error and self._is_read_error(error): 716s # Read retry? 716s if read is False or method is None or not self._is_method_retryable(method): 716s raise reraise(type(error), error, _stacktrace) 716s elif read is not None: 716s read -= 1 716s 716s elif error: 716s # Other retry? 716s if other is not None: 716s other -= 1 716s 716s elif response and response.get_redirect_location(): 716s # Redirect retry? 716s if redirect is not None: 716s redirect -= 1 716s cause = "too many redirects" 716s response_redirect_location = response.get_redirect_location() 716s if response_redirect_location: 716s redirect_location = response_redirect_location 716s status = response.status 716s 716s else: 716s # Incrementing because of a server error like a 500 in 716s # status_forcelist and the given method is in the allowed_methods 716s cause = ResponseError.GENERIC_ERROR 716s if response and response.status: 716s if status_count is not None: 716s status_count -= 1 716s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 716s status = response.status 716s 716s history = self.history + ( 716s RequestHistory(method, url, error, status, redirect_location), 716s ) 716s 716s new_retry = self.new( 716s total=total, 716s connect=connect, 716s read=read, 716s redirect=redirect, 716s status=status_count, 716s other=other, 716s history=history, 716s ) 716s 716s if new_retry.is_exhausted(): 716s reason = error or ResponseError(cause) 716s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 716s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /gpt-2/encodings/main/vocab.bpe (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 716s 716s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 716s 716s During handling of the above exception, another exception occurred: 716s 716s def test_simple(): 716s # Note that there are more actual tests, they're just not currently public :-) 716s > enc = tiktoken.get_encoding("gpt2") 716s 716s tests/test_simple_public.py:9: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 716s enc = Encoding(**constructor()) 716s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:18: in gpt2 716s mergeable_ranks = data_gym_to_mergeable_bpe_ranks( 716s /usr/lib/python3/dist-packages/tiktoken/load.py:103: in data_gym_to_mergeable_bpe_ranks 716s vocab_bpe_contents = read_file_cached(vocab_bpe_file, vocab_bpe_hash).decode() 716s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 716s contents = read_file(blobpath) 716s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 716s resp = requests.get(blobpath) 716s /usr/lib/python3/dist-packages/requests/api.py:73: in get 716s return request("get", url, params=params, **kwargs) 716s /usr/lib/python3/dist-packages/requests/api.py:59: in request 716s return session.request(method=method, url=url, **kwargs) 716s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 716s resp = self.send(prep, **send_kwargs) 716s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 716s r = adapter.send(request, **kwargs) 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s self = 716s request = , stream = False 716s timeout = Timeout(connect=None, read=None, total=None), verify = True 716s cert = None, proxies = OrderedDict() 716s 716s def send( 716s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 716s ): 716s """Sends PreparedRequest object. Returns Response object. 716s 716s :param request: The :class:`PreparedRequest ` being sent. 716s :param stream: (optional) Whether to stream the request content. 716s :param timeout: (optional) How long to wait for the server to send 716s data before giving up, as a float, or a :ref:`(connect timeout, 716s read timeout) ` tuple. 716s :type timeout: float or tuple or urllib3 Timeout object 716s :param verify: (optional) Either a boolean, in which case it controls whether 716s we verify the server's TLS certificate, or a string, in which case it 716s must be a path to a CA bundle to use 716s :param cert: (optional) Any user-provided SSL certificate to be trusted. 716s :param proxies: (optional) The proxies dictionary to apply to the request. 716s :rtype: requests.Response 716s """ 716s 716s try: 716s conn = self.get_connection_with_tls_context( 716s request, verify, proxies=proxies, cert=cert 716s ) 716s except LocationValueError as e: 716s raise InvalidURL(e, request=request) 716s 716s self.cert_verify(conn, request.url, verify, cert) 716s url = self.request_url(request, proxies) 716s self.add_headers( 716s request, 716s stream=stream, 716s timeout=timeout, 716s verify=verify, 716s cert=cert, 716s proxies=proxies, 716s ) 716s 716s chunked = not (request.body is None or "Content-Length" in request.headers) 716s 716s if isinstance(timeout, tuple): 716s try: 716s connect, read = timeout 716s timeout = TimeoutSauce(connect=connect, read=read) 716s except ValueError: 716s raise ValueError( 716s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 716s f"or a single float to set both timeouts to the same value." 716s ) 716s elif isinstance(timeout, TimeoutSauce): 716s pass 716s else: 716s timeout = TimeoutSauce(connect=timeout, read=timeout) 716s 716s try: 716s resp = conn.urlopen( 716s method=request.method, 716s url=url, 716s body=request.body, 716s headers=request.headers, 716s redirect=False, 716s assert_same_host=False, 716s preload_content=False, 716s decode_content=False, 716s retries=self.max_retries, 716s timeout=timeout, 716s chunked=chunked, 716s ) 716s 716s except (ProtocolError, OSError) as err: 716s raise ConnectionError(err, request=request) 716s 716s except MaxRetryError as e: 716s if isinstance(e.reason, ConnectTimeoutError): 716s # TODO: Remove this in 3.0.0: see #2811 716s if not isinstance(e.reason, NewConnectionError): 716s raise ConnectTimeout(e, request=request) 716s 716s if isinstance(e.reason, ResponseError): 716s raise RetryError(e, request=request) 716s 716s if isinstance(e.reason, _ProxyError): 716s raise ProxyError(e, request=request) 716s 716s if isinstance(e.reason, _SSLError): 716s # This branch is for urllib3 v1.22 and later. 716s raise SSLError(e, request=request) 716s 716s > raise ConnectionError(e, request=request) 716s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /gpt-2/encodings/main/vocab.bpe (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 716s 716s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 716s ___________________________ test_encoding_for_model ____________________________ 716s 716s self = 716s 716s def _new_conn(self) -> socket.socket: 716s """Establish a socket connection and set nodelay settings on it. 716s 716s :return: New socket connection. 716s """ 716s try: 716s > sock = connection.create_connection( 716s (self._dns_host, self.port), 716s self.timeout, 716s source_address=self.source_address, 716s socket_options=self.socket_options, 716s ) 716s 716s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 716s raise err 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s address = ('openaipublic.blob.core.windows.net', 443), timeout = None 716s source_address = None, socket_options = [(6, 1, 1)] 716s 716s def create_connection( 716s address: tuple[str, int], 716s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 716s source_address: tuple[str, int] | None = None, 716s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 716s ) -> socket.socket: 716s """Connect to *address* and return the socket object. 716s 716s Convenience function. Connect to *address* (a 2-tuple ``(host, 716s port)``) and return the socket object. Passing the optional 716s *timeout* parameter will set the timeout on the socket instance 716s before attempting to connect. If no *timeout* is supplied, the 716s global default timeout setting returned by :func:`socket.getdefaulttimeout` 716s is used. If *source_address* is set it must be a tuple of (host, port) 716s for the socket to bind as a source address before making the connection. 716s An host of '' or port 0 tells the OS to use the default. 716s """ 716s 716s host, port = address 716s if host.startswith("["): 716s host = host.strip("[]") 716s err = None 716s 716s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 716s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 716s # The original create_connection function always returns all records. 716s family = allowed_gai_family() 716s 716s try: 716s host.encode("idna") 716s except UnicodeError: 716s raise LocationParseError(f"'{host}', label empty or too long") from None 716s 716s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 716s af, socktype, proto, canonname, sa = res 716s sock = None 716s try: 716s sock = socket.socket(af, socktype, proto) 716s 716s # If provided, set socket level options before connecting. 716s _set_socket_options(sock, socket_options) 716s 716s if timeout is not _DEFAULT_TIMEOUT: 716s sock.settimeout(timeout) 716s if source_address: 716s sock.bind(source_address) 716s > sock.connect(sa) 716s E ConnectionRefusedError: [Errno 111] Connection refused 716s 716s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 716s 716s The above exception was the direct cause of the following exception: 716s 716s self = 716s method = 'GET', url = '/gpt-2/encodings/main/vocab.bpe', body = None 716s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 716s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 716s redirect = False, assert_same_host = False 716s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 716s release_conn = False, chunked = False, body_pos = None, preload_content = False 716s decode_content = False, response_kw = {} 716s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/gpt-2/encodings/main/vocab.bpe', query=None, fragment=None) 716s destination_scheme = None, conn = None, release_this_conn = True 716s http_tunnel_required = False, err = None, clean_exit = False 716s 716s def urlopen( # type: ignore[override] 716s self, 716s method: str, 716s url: str, 716s body: _TYPE_BODY | None = None, 716s headers: typing.Mapping[str, str] | None = None, 716s retries: Retry | bool | int | None = None, 716s redirect: bool = True, 716s assert_same_host: bool = True, 716s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 716s pool_timeout: int | None = None, 716s release_conn: bool | None = None, 716s chunked: bool = False, 716s body_pos: _TYPE_BODY_POSITION | None = None, 716s preload_content: bool = True, 716s decode_content: bool = True, 716s **response_kw: typing.Any, 716s ) -> BaseHTTPResponse: 716s """ 716s Get a connection from the pool and perform an HTTP request. This is the 716s lowest level call for making a request, so you'll need to specify all 716s the raw details. 716s 716s .. note:: 716s 716s More commonly, it's appropriate to use a convenience method 716s such as :meth:`request`. 716s 716s .. note:: 716s 716s `release_conn` will only behave as expected if 716s `preload_content=False` because we want to make 716s `preload_content=False` the default behaviour someday soon without 716s breaking backwards compatibility. 716s 716s :param method: 716s HTTP request method (such as GET, POST, PUT, etc.) 716s 716s :param url: 716s The URL to perform the request on. 716s 716s :param body: 716s Data to send in the request body, either :class:`str`, :class:`bytes`, 716s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 716s 716s :param headers: 716s Dictionary of custom headers to send, such as User-Agent, 716s If-None-Match, etc. If None, pool headers are used. If provided, 716s these headers completely replace any pool-specific headers. 716s 716s :param retries: 716s Configure the number of retries to allow before raising a 716s :class:`~urllib3.exceptions.MaxRetryError` exception. 716s 716s Pass ``None`` to retry until you receive a response. Pass a 716s :class:`~urllib3.util.retry.Retry` object for fine-grained control 716s over different types of retries. 716s Pass an integer number to retry connection errors that many times, 716s but no other types of errors. Pass zero to never retry. 716s 716s If ``False``, then retries are disabled and any exception is raised 716s immediately. Also, instead of raising a MaxRetryError on redirects, 716s the redirect response will be returned. 716s 716s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 716s 716s :param redirect: 716s If True, automatically handle redirects (status codes 301, 302, 716s 303, 307, 308). Each redirect counts as a retry. Disabling retries 716s will disable redirect, too. 716s 716s :param assert_same_host: 716s If ``True``, will make sure that the host of the pool requests is 716s consistent else will raise HostChangedError. When ``False``, you can 716s use the pool on an HTTP proxy and request foreign hosts. 716s 716s :param timeout: 716s If specified, overrides the default timeout for this one 716s request. It may be a float (in seconds) or an instance of 716s :class:`urllib3.util.Timeout`. 716s 716s :param pool_timeout: 716s If set and the pool is set to block=True, then this method will 716s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 716s connection is available within the time period. 716s 716s :param bool preload_content: 716s If True, the response's body will be preloaded into memory. 716s 716s :param bool decode_content: 716s If True, will attempt to decode the body based on the 716s 'content-encoding' header. 716s 716s :param release_conn: 716s If False, then the urlopen call will not release the connection 716s back into the pool once a response is received (but will release if 716s you read the entire contents of the response such as when 716s `preload_content=True`). This is useful if you're not preloading 716s the response's content immediately. You will need to call 716s ``r.release_conn()`` on the response ``r`` to return the connection 716s back into the pool. If None, it takes the value of ``preload_content`` 716s which defaults to ``True``. 716s 716s :param bool chunked: 716s If True, urllib3 will send the body using chunked transfer 716s encoding. Otherwise, urllib3 will send the body using the standard 716s content-length form. Defaults to False. 716s 716s :param int body_pos: 716s Position to seek to in file-like body in the event of a retry or 716s redirect. Typically this won't need to be set because urllib3 will 716s auto-populate the value when needed. 716s """ 716s parsed_url = parse_url(url) 716s destination_scheme = parsed_url.scheme 716s 716s if headers is None: 716s headers = self.headers 716s 716s if not isinstance(retries, Retry): 716s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 716s 716s if release_conn is None: 716s release_conn = preload_content 716s 716s # Check host 716s if assert_same_host and not self.is_same_host(url): 716s raise HostChangedError(self, url, retries) 716s 716s # Ensure that the URL we're connecting to is properly encoded 716s if url.startswith("/"): 716s url = to_str(_encode_target(url)) 716s else: 716s url = to_str(parsed_url.url) 716s 716s conn = None 716s 716s # Track whether `conn` needs to be released before 716s # returning/raising/recursing. Update this variable if necessary, and 716s # leave `release_conn` constant throughout the function. That way, if 716s # the function recurses, the original value of `release_conn` will be 716s # passed down into the recursive call, and its value will be respected. 716s # 716s # See issue #651 [1] for details. 716s # 716s # [1] 716s release_this_conn = release_conn 716s 716s http_tunnel_required = connection_requires_http_tunnel( 716s self.proxy, self.proxy_config, destination_scheme 716s ) 716s 716s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 716s # have to copy the headers dict so we can safely change it without those 716s # changes being reflected in anyone else's copy. 716s if not http_tunnel_required: 716s headers = headers.copy() # type: ignore[attr-defined] 716s headers.update(self.proxy_headers) # type: ignore[union-attr] 716s 716s # Must keep the exception bound to a separate variable or else Python 3 716s # complains about UnboundLocalError. 716s err = None 716s 716s # Keep track of whether we cleanly exited the except block. This 716s # ensures we do proper cleanup in finally. 716s clean_exit = False 716s 716s # Rewind body position, if needed. Record current position 716s # for future rewinds in the event of a redirect/retry. 716s body_pos = set_file_position(body, body_pos) 716s 716s try: 716s # Request a connection from the queue. 716s timeout_obj = self._get_timeout(timeout) 716s conn = self._get_conn(timeout=pool_timeout) 716s 716s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 716s 716s # Is this a closed/new connection that requires CONNECT tunnelling? 716s if self.proxy is not None and http_tunnel_required and conn.is_closed: 716s try: 716s self._prepare_proxy(conn) 716s except (BaseSSLError, OSError, SocketTimeout) as e: 716s self._raise_timeout( 716s err=e, url=self.proxy.url, timeout_value=conn.timeout 716s ) 716s raise 716s 716s # If we're going to release the connection in ``finally:``, then 716s # the response doesn't need to know about the connection. Otherwise 716s # it will also try to release it and we'll have a double-release 716s # mess. 716s response_conn = conn if not release_conn else None 716s 716s # Make the request on the HTTPConnection object 716s > response = self._make_request( 716s conn, 716s method, 716s url, 716s timeout=timeout_obj, 716s body=body, 716s headers=headers, 716s chunked=chunked, 716s retries=retries, 716s response_conn=response_conn, 716s preload_content=preload_content, 716s decode_content=decode_content, 716s **response_kw, 716s ) 716s 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:492: in _make_request 716s raise new_e 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:468: in _make_request 716s self._validate_conn(conn) 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1097: in _validate_conn 716s conn.connect() 716s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 716s self.sock = sock = self._new_conn() 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s self = 716s 716s def _new_conn(self) -> socket.socket: 716s """Establish a socket connection and set nodelay settings on it. 716s 716s :return: New socket connection. 716s """ 716s try: 716s sock = connection.create_connection( 716s (self._dns_host, self.port), 716s self.timeout, 716s source_address=self.source_address, 716s socket_options=self.socket_options, 716s ) 716s except socket.gaierror as e: 716s raise NameResolutionError(self.host, self, e) from e 716s except SocketTimeout as e: 716s raise ConnectTimeoutError( 716s self, 716s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 716s ) from e 716s 716s except OSError as e: 716s > raise NewConnectionError( 716s self, f"Failed to establish a new connection: {e}" 716s ) from e 716s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 716s 716s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 716s 716s The above exception was the direct cause of the following exception: 716s 716s self = 716s request = , stream = False 716s timeout = Timeout(connect=None, read=None, total=None), verify = True 716s cert = None, proxies = OrderedDict() 716s 716s def send( 716s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 716s ): 716s """Sends PreparedRequest object. Returns Response object. 716s 716s :param request: The :class:`PreparedRequest ` being sent. 716s :param stream: (optional) Whether to stream the request content. 716s :param timeout: (optional) How long to wait for the server to send 716s data before giving up, as a float, or a :ref:`(connect timeout, 716s read timeout) ` tuple. 716s :type timeout: float or tuple or urllib3 Timeout object 716s :param verify: (optional) Either a boolean, in which case it controls whether 716s we verify the server's TLS certificate, or a string, in which case it 716s must be a path to a CA bundle to use 716s :param cert: (optional) Any user-provided SSL certificate to be trusted. 716s :param proxies: (optional) The proxies dictionary to apply to the request. 716s :rtype: requests.Response 716s """ 716s 716s try: 716s conn = self.get_connection_with_tls_context( 716s request, verify, proxies=proxies, cert=cert 716s ) 716s except LocationValueError as e: 716s raise InvalidURL(e, request=request) 716s 716s self.cert_verify(conn, request.url, verify, cert) 716s url = self.request_url(request, proxies) 716s self.add_headers( 716s request, 716s stream=stream, 716s timeout=timeout, 716s verify=verify, 716s cert=cert, 716s proxies=proxies, 716s ) 716s 716s chunked = not (request.body is None or "Content-Length" in request.headers) 716s 716s if isinstance(timeout, tuple): 716s try: 716s connect, read = timeout 716s timeout = TimeoutSauce(connect=connect, read=read) 716s except ValueError: 716s raise ValueError( 716s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 716s f"or a single float to set both timeouts to the same value." 716s ) 716s elif isinstance(timeout, TimeoutSauce): 716s pass 716s else: 716s timeout = TimeoutSauce(connect=timeout, read=timeout) 716s 716s try: 716s > resp = conn.urlopen( 716s method=request.method, 716s url=url, 716s body=request.body, 716s headers=request.headers, 716s redirect=False, 716s assert_same_host=False, 716s preload_content=False, 716s decode_content=False, 716s retries=self.max_retries, 716s timeout=timeout, 716s chunked=chunked, 716s ) 716s 716s /usr/lib/python3/dist-packages/requests/adapters.py:667: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 716s retries = retries.increment( 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 716s method = 'GET', url = '/gpt-2/encodings/main/vocab.bpe', response = None 716s error = NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused') 716s _pool = 716s _stacktrace = 716s 716s def increment( 716s self, 716s method: str | None = None, 716s url: str | None = None, 716s response: BaseHTTPResponse | None = None, 716s error: Exception | None = None, 716s _pool: ConnectionPool | None = None, 716s _stacktrace: TracebackType | None = None, 716s ) -> Retry: 716s """Return a new Retry object with incremented retry counters. 716s 716s :param response: A response object, or None, if the server did not 716s return a response. 716s :type response: :class:`~urllib3.response.BaseHTTPResponse` 716s :param Exception error: An error encountered during the request, or 716s None if the response was received successfully. 716s 716s :return: A new ``Retry`` object. 716s """ 716s if self.total is False and error: 716s # Disabled, indicate to re-raise the error. 716s raise reraise(type(error), error, _stacktrace) 716s 716s total = self.total 716s if total is not None: 716s total -= 1 716s 716s connect = self.connect 716s read = self.read 716s redirect = self.redirect 716s status_count = self.status 716s other = self.other 716s cause = "unknown" 716s status = None 716s redirect_location = None 716s 716s if error and self._is_connection_error(error): 716s # Connect retry? 716s if connect is False: 716s raise reraise(type(error), error, _stacktrace) 716s elif connect is not None: 716s connect -= 1 716s 716s elif error and self._is_read_error(error): 716s # Read retry? 716s if read is False or method is None or not self._is_method_retryable(method): 716s raise reraise(type(error), error, _stacktrace) 716s elif read is not None: 716s read -= 1 716s 716s elif error: 716s # Other retry? 716s if other is not None: 716s other -= 1 716s 716s elif response and response.get_redirect_location(): 716s # Redirect retry? 716s if redirect is not None: 716s redirect -= 1 716s cause = "too many redirects" 716s response_redirect_location = response.get_redirect_location() 716s if response_redirect_location: 716s redirect_location = response_redirect_location 716s status = response.status 716s 716s else: 716s # Incrementing because of a server error like a 500 in 716s # status_forcelist and the given method is in the allowed_methods 716s cause = ResponseError.GENERIC_ERROR 716s if response and response.status: 716s if status_count is not None: 716s status_count -= 1 716s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 716s status = response.status 716s 716s history = self.history + ( 716s RequestHistory(method, url, error, status, redirect_location), 716s ) 716s 716s new_retry = self.new( 716s total=total, 716s connect=connect, 716s read=read, 716s redirect=redirect, 716s status=status_count, 716s other=other, 716s history=history, 716s ) 716s 716s if new_retry.is_exhausted(): 716s reason = error or ResponseError(cause) 716s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 716s E urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /gpt-2/encodings/main/vocab.bpe (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 716s 716s /usr/lib/python3/dist-packages/urllib3/util/retry.py:517: MaxRetryError 716s 716s During handling of the above exception, another exception occurred: 716s 716s def test_encoding_for_model(): 716s > enc = tiktoken.encoding_for_model("gpt2") 716s 716s tests/test_simple_public.py:26: 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s /usr/lib/python3/dist-packages/tiktoken/model.py:105: in encoding_for_model 716s return get_encoding(encoding_name_for_model(model_name)) 716s /usr/lib/python3/dist-packages/tiktoken/registry.py:86: in get_encoding 716s enc = Encoding(**constructor()) 716s /usr/lib/python3/dist-packages/tiktoken_ext/openai_public.py:18: in gpt2 716s mergeable_ranks = data_gym_to_mergeable_bpe_ranks( 716s /usr/lib/python3/dist-packages/tiktoken/load.py:103: in data_gym_to_mergeable_bpe_ranks 716s vocab_bpe_contents = read_file_cached(vocab_bpe_file, vocab_bpe_hash).decode() 716s /usr/lib/python3/dist-packages/tiktoken/load.py:63: in read_file_cached 716s contents = read_file(blobpath) 716s /usr/lib/python3/dist-packages/tiktoken/load.py:24: in read_file 716s resp = requests.get(blobpath) 716s /usr/lib/python3/dist-packages/requests/api.py:73: in get 716s return request("get", url, params=params, **kwargs) 716s /usr/lib/python3/dist-packages/requests/api.py:59: in request 716s return session.request(method=method, url=url, **kwargs) 716s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 716s resp = self.send(prep, **send_kwargs) 716s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 716s r = adapter.send(request, **kwargs) 716s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 716s 716s self = 716s request = , stream = False 716s timeout = Timeout(connect=None, read=None, total=None), verify = True 716s cert = None, proxies = OrderedDict() 716s 716s def send( 716s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 716s ): 716s """Sends PreparedRequest object. Returns Response object. 716s 716s :param request: The :class:`PreparedRequest ` being sent. 716s :param stream: (optional) Whether to stream the request content. 716s :param timeout: (optional) How long to wait for the server to send 716s data before giving up, as a float, or a :ref:`(connect timeout, 716s read timeout) ` tuple. 716s :type timeout: float or tuple or urllib3 Timeout object 716s :param verify: (optional) Either a boolean, in which case it controls whether 716s we verify the server's TLS certificate, or a string, in which case it 716s must be a path to a CA bundle to use 716s :param cert: (optional) Any user-provided SSL certificate to be trusted. 716s :param proxies: (optional) The proxies dictionary to apply to the request. 716s :rtype: requests.Response 716s """ 716s 716s try: 716s conn = self.get_connection_with_tls_context( 716s request, verify, proxies=proxies, cert=cert 716s ) 716s except LocationValueError as e: 716s raise InvalidURL(e, request=request) 716s 716s self.cert_verify(conn, request.url, verify, cert) 716s url = self.request_url(request, proxies) 716s self.add_headers( 716s request, 716s stream=stream, 716s timeout=timeout, 716s verify=verify, 716s cert=cert, 716s proxies=proxies, 716s ) 716s 716s chunked = not (request.body is None or "Content-Length" in request.headers) 716s 716s if isinstance(timeout, tuple): 716s try: 716s connect, read = timeout 716s timeout = TimeoutSauce(connect=connect, read=read) 716s except ValueError: 716s raise ValueError( 716s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 716s f"or a single float to set both timeouts to the same value." 716s ) 716s elif isinstance(timeout, TimeoutSauce): 716s pass 716s else: 716s timeout = TimeoutSauce(connect=timeout, read=timeout) 716s 716s try: 716s resp = conn.urlopen( 716s method=request.method, 716s url=url, 716s body=request.body, 716s headers=request.headers, 716s redirect=False, 716s assert_same_host=False, 716s preload_content=False, 716s decode_content=False, 716s retries=self.max_retries, 716s timeout=timeout, 716s chunked=chunked, 716s ) 716s 716s except (ProtocolError, OSError) as err: 716s raise ConnectionError(err, request=request) 716s 716s except MaxRetryError as e: 716s if isinstance(e.reason, ConnectTimeoutError): 716s # TODO: Remove this in 3.0.0: see #2811 716s if not isinstance(e.reason, NewConnectionError): 716s raise ConnectTimeout(e, request=request) 716s 716s if isinstance(e.reason, ResponseError): 716s raise RetryError(e, request=request) 716s 716s if isinstance(e.reason, _ProxyError): 716s raise ProxyError(e, request=request) 716s 716s if isinstance(e.reason, _SSLError): 716s # This branch is for urllib3 v1.22 and later. 716s raise SSLError(e, request=request) 716s 716s > raise ConnectionError(e, request=request) 716s E requests.exceptions.ConnectionError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /gpt-2/encodings/main/vocab.bpe (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 716s 716s /usr/lib/python3/dist-packages/requests/adapters.py:700: ConnectionError 716s =========================== short test summary info ============================ 716s FAILED tests/test_encoding.py::test_simple - requests.exceptions.ConnectionEr... 716s FAILED tests/test_encoding.py::test_simple_repeated - requests.exceptions.Con... 716s FAILED tests/test_encoding.py::test_simple_regex - requests.exceptions.Connec... 716s FAILED tests/test_encoding.py::test_basic_encode - requests.exceptions.Connec... 716s FAILED tests/test_encoding.py::test_encode_empty - requests.exceptions.Connec... 716s FAILED tests/test_encoding.py::test_encode_bytes - requests.exceptions.Connec... 716s FAILED tests/test_encoding.py::test_encode_surrogate_pairs - requests.excepti... 716s FAILED tests/test_encoding.py::test_catastrophically_repetitive[r50k_base] - ... 716s FAILED tests/test_encoding.py::test_catastrophically_repetitive[cl100k_base] 716s FAILED tests/test_encoding.py::test_basic_roundtrip[r50k_base] - requests.exc... 716s FAILED tests/test_encoding.py::test_basic_roundtrip[cl100k_base] - requests.e... 716s FAILED tests/test_encoding.py::test_hyp_roundtrip[r50k_base] - requests.excep... 716s FAILED tests/test_encoding.py::test_hyp_roundtrip[cl100k_base] - requests.exc... 716s FAILED tests/test_encoding.py::test_single_token_roundtrip[r50k_base] - reque... 716s FAILED tests/test_encoding.py::test_single_token_roundtrip[cl100k_base] - req... 716s FAILED tests/test_encoding.py::test_special_token - requests.exceptions.Conne... 716s FAILED tests/test_encoding.py::test_hyp_special_ordinary[r50k_base] - request... 716s FAILED tests/test_encoding.py::test_hyp_special_ordinary[cl100k_base] - reque... 716s FAILED tests/test_encoding.py::test_batch_encode[r50k_base] - requests.except... 716s FAILED tests/test_encoding.py::test_batch_encode[cl100k_base] - requests.exce... 716s FAILED tests/test_encoding.py::test_hyp_batch_roundtrip[r50k_base] - requests... 716s FAILED tests/test_encoding.py::test_hyp_batch_roundtrip[cl100k_base] - reques... 716s FAILED tests/test_misc.py::test_encoding_for_model - requests.exceptions.Conn... 716s FAILED tests/test_offsets.py::test_hyp_offsets[cl100k_base] - requests.except... 716s FAILED tests/test_offsets.py::test_basic_offsets - requests.exceptions.Connec... 716s FAILED tests/test_pickle.py::test_pickle - requests.exceptions.ConnectionErro... 716s FAILED tests/test_simple_public.py::test_simple - requests.exceptions.Connect... 716s FAILED tests/test_simple_public.py::test_encoding_for_model - requests.except... 716s =================== 28 failed, 2 passed in 583.58s (0:09:43) =================== 716s autopkgtest [10:49:31]: test pybuild-autopkgtest: -----------------------] 716s autopkgtest [10:49:31]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 716s pybuild-autopkgtest FAIL non-zero exit status 25 717s autopkgtest [10:49:32]: @@@@@@@@@@@@@@@@@@@@ summary 717s pybuild-autopkgtest FAIL non-zero exit status 25 728s nova [W] Using flock in prodstack6-s390x 728s Creating nova instance adt-plucky-s390x-tiktoken-20241125-092031-juju-7f2275-prod-proposed-migration-environment-20-a517c166-db22-498c-b78c-8768dbafbf66 from image adt/ubuntu-plucky-s390x-server-20241119.img (UUID 0efe7a44-24e0-44d8-af6e-8997f14b87bd)...