Skip to content

dotnet-install.sh fails with curl 8.14.0 #610

Closed

Description

@mchaves27

Issue Summary: When installing .NET using the dotnet-install.sh script, the installation fails with the error:
/usr/local/bin/dotnet-install.sh: line 1380: link_types[$link_index]: unbound variable
This issue started occurring after upgrading curl from version 8.13.0 to 8.14.0.

Environment:
Base Image: Red Hat Enterprise Linux (RHEL) 8
Shell: /bin/sh (within Docker build)
dotnet-install.sh Source: Private GitHub Proxy Repository
Previous curl Version (Working): 8.13.0
Current curl Version (Failing): 8.14.0

Steps to reproduce:
Build a Docker image using RHEL 8 as the base.
Add custom curl and dotnet installation:

RUN CURL_SOURCE_URL=$(curl -sSL https://api.github.com/repos/curl/curl/releases/latest | jq -r '.assets[] | select(.name | endswith(".tar.gz")) | .browser_download_url' | sed 's/github\.com/some-private-repository\/repository\/github-proxy/') \
  && curl -sSL $CURL_SOURCE_URL -o curl.tar.gz \
  && tar -xzf curl.tar.gz \
  && rm -f curl.tar.gz \
  && CURL_LOCATION=$(ls -d curl-*/) \
  && pushd ${CURL_LOCATION} \
  && ./configure \
  --enable-static --disable-shared \
  --with-openssl --with-brotli --with-zstd \
  --with-nghttp2 \
  --with-libidn2 --with-libssh2 \
  --enable-hsts --enable-mime --enable-cookies \
  --enable-http-auth --enable-manual \
  --enable-proxy --enable-file --enable-http \
  --enable-ftp --enable-telnet --enable-tftp \
  --enable-pop3 --enable-imap --enable-smtp \
  --enable-gopher --enable-mqtt \
  --enable-doh --enable-dateparse --enable-verbose \
  --enable-alt-svc --enable-websockets \
  --enable-ipv6 --enable-unix-sockets --enable-socketpair \
  --enable-headers-api --enable-versioned-symbols \
  --enable-optimize --enable-pthreads \
  --enable-warnings --enable-werror \
  --enable-curldebug --enable-dict --enable-netrc \
  --enable-bearer-auth --enable-tls-srp --enable-dnsshuffle \
  --enable-get-easy-options --enable-progress-meter \
  --with-ca-bundle=/etc/ssl/certs/ca-bundle.crt \
  --with-ca-path=/etc/ssl/certs \
  --with-ca-fallback \
  --disable-ldap --disable-ldaps \
  && make \
  && make install \
  && popd \
  && rm -rf ${CURL_LOCATION}

# Install dotnet:

curl --retry 10 --retry-all-errors -sSL https://some-private-repository/repository/github-proxy/dotnet/install-scripts/archive/refs/heads/main.zip -o dotnet-install.zip && \
unzip -j dotnet-install.zip install-scripts-main/src/dotnet-install.sh -d /usr/local/bin && \
rm -f dotnet-install.zip && \
chmod +x /usr/local/bin/dotnet-install.sh && \
dotnet-install.sh -c 8.0 && dotnet-install.sh -c 9.0 && \`
dotnet --info

Output for curl installation 8.14.0 :

#17 9.941 Complete!
#17 10.05 curl 8.14.0 (x86_64-pc-linux-gnu) libcurl/8.14.0 OpenSSL/1.1.1k-fips zlib/1.2.11 brotli/1.0.6 zstd/1.4.4 libpsl/0.20.2 libssh2/1.11.1
#17 10.05 Release-Date: 2025-05-28
#17 10.05 Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
#17 10.05 Features: alt-svc AsynchDNS brotli HSTS HTTPS-proxy IPv6 Largefile libz NTLM PSL SSL threadsafe TLS-SRP TrackMemory UnixSockets zstd
#17 DONE 10.1s

Output for donet installation :

#21 1.419 Archive:  dotnet-install.zip
#21 1.419 28ba87d0c95854ac6255659209364b7c2b0130e8
#21 1.424   inflating: /usr/local/bin/dotnet-install.sh  
#21 8.137 /usr/local/bin/dotnet-install.sh: line 1380: link_types[$link_index]: unbound variable
#21 ERROR: process "/bin/sh -c curl --retry 10 --retry-all-errors -sSL https://some-private-repositoryt/repository/github-proxy/dotnet/install-scripts/archive/refs/heads/main.zip -o dotnet-install.zip   && unzip -j dotnet-install.zip install-scripts-main/src/dotnet-install.sh -d /usr/local/bin   && rm -f dotnet-install.zip   && chmod +x /usr/local/bin/dotnet-install.sh   && dotnet-install.sh -c 8.0   && dotnet-install.sh -c 9.0   && dotnet --info " did not complete successfully: exit code: 1

Output using curl 8.13.0.

Image

Activity

  1. baronfel commented on Jun 3, 2025

    @baronfel
    Member

    Can you run the failing dotnet-install invocation with the --verbose flag so we can see detailed diagnostic output?

  2. mchaves27 commented on Jun 3, 2025

    @mchaves27
    Author

    Thanks for the suggestion! Sure, here are the complete logs from the start of the installation process:

    1.290   inflating: /usr/local/bin/dotnet-install.sh  
    1.315 dotnet-install: Note that the intended use of this script is for Continuous Integration (CI) scenarios, where:
    1.315 dotnet-install: - The SDK needs to be installed without user interaction and without admin rights.
    1.315 dotnet-install: - The SDK installation doesn't need to persist across multiple CI runs.
    1.315 dotnet-install: To set up a development environment or to run apps, use installers rather than this script. Visit https://dotnet.microsoft.com/download to get the installer.
    1.317 dotnet-install: Calling: machine_has curl
    1.317 dotnet-install: Calling: calculate_vars 
    1.322 dotnet-install: Calling: get_normalized_architecture_from_architecture <auto>
    1.327 dotnet-install: Calling: get_machine_architecture 
    1.332 dotnet-install: Normalized architecture: 'x64'.
    1.333 dotnet-install: Calling: get_normalized_os 
    1.338 dotnet-install: Calling: get_current_os_name 
    1.343 dotnet-install: Calling: get_linux_platform_name 
    1.351 dotnet-install: Normalized OS: 'linux'.
    1.352 dotnet-install: Calling: get_normalized_quality 
    1.357 dotnet-install: Normalized quality: ''.
    1.358 dotnet-install: Calling: get_normalized_channel 8.0
    1.362 dotnet-install: Normalized channel: '8.0'.
    1.363 dotnet-install: Calling: get_normalized_product 
    1.368 dotnet-install: Normalized product: 'dotnet-sdk'.
    1.369 dotnet-install: Calling: resolve_installation_path <auto>
    1.370 dotnet-install: Calling: get_user_install_path 
    1.370 dotnet-install: resolve_installation_path: user_install_path=/usr/lib64/dotnet
    1.370 dotnet-install: InstallRoot: '/usr/lib64/dotnet'.
    1.371 dotnet-install: Calling: get_normalized_architecture_for_specific_sdk_version Latest 8.0 x64
    1.374 dotnet-install: Calling: get_current_os_name 
    1.379 dotnet-install: Calling: get_linux_platform_name 
    1.391 dotnet-install: Calling: get_download_link_from_aka_ms 
    1.391 dotnet-install: Retrieving primary payload URL from aka.ms for channel: '8.0', quality: '', product: 'dotnet-sdk', os: 'linux', architecture: 'x64'.
    1.391 dotnet-install: Constructed aka.ms link: 'https://aka.ms/dotnet/8.0/dotnet-sdk-linux-x64.tar.gz'.
    1.392 dotnet-install: Calling: get_http_header https://aka.ms/dotnet/8.0/dotnet-sdk-linux-x64.tar.gz true
    1.392 dotnet-install: Calling: machine_has curl
    1.392 dotnet-install: Calling: get_http_header_curl https://aka.ms/dotnet/8.0/dotnet-sdk-linux-x64.tar.gz true
    2.268 dotnet-install: Received response: HTTP/1.1 200 Connected
    2.268 
    2.268 HTTP/1.1 301 Moved Permanently
    2.268 Server: Kestrel
    2.268 Location: https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.410/dotnet-sdk-8.0.410-linux-x64.tar.gz
    2.268 Request-Context: appId=cid-v1:d94c0f68-64bf-4036-8409-a0e761bb7ee1
    2.268 X-Response-Cache-Status: True
    2.268 Content-Length: 0
    2.268 Expires: Tue, 03 Jun 2025 01:32:13 GMT
    2.268 Cache-Control: max-age=0, no-cache, no-store
    2.268 Pragma: no-cache
    2.268 Date: Tue, 03 Jun 2025 01:32:13 GMT
    2.268 Connection: keep-alive
    2.268 Strict-Transport-Security: max-age=31536000 ; includeSubDomains
    2.268 
    2.268 HTTP/1.1 200 Connected
    2.268 
    2.268 HTTP/1.1 200 OK
    2.268 Content-Type: application/octet-stream
    2.268 Content-MD5: Uaz/eRani77Y/Cf4imRFBA==
    2.268 Last-Modified: Thu, 22 May 2025 19:27:56 GMT
    2.268 ETag: 0x8DD9966C167BD4E
    2.268 x-ms-request-id: 31e97d2a-301e-001b-2541-d05b63000000
    2.268 x-ms-version: 2009-09-19
    2.268 x-ms-lease-status: unlocked
    2.268 x-ms-blob-type: BlockBlob
    2.268 Cache-Control: public, max-age=435465
    2.268 Date: Tue, 03 Jun 2025 01:32:14 GMT
    2.268 Connection: keep-alive
    2.268 Content-Length: 216261108
    2.268 Akamai-GRN: 0.cdc6cf17.1748914334.1de3cab1
    2.268 
    2.289 dotnet-install: The aka.ms link 'https://aka.ms/dotnet/8.0/dotnet-sdk-linux-x64.tar.gz' is not valid: received HTTP code: 200,200.
    2.289 dotnet-install: Falling back to latest.version file approach.
    2.290 dotnet-install: Calling: get_specific_version_from_version https://builds.dotnet.microsoft.com/dotnet 8.0 x64 Latest 
    2.295 dotnet-install: Calling: get_version_from_latestversion_file https://builds.dotnet.microsoft.com/dotnet 8.0 x64 false
    2.295 dotnet-install: get_version_from_latestversion_file: latest url: https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0/latest.version
    2.296 dotnet-install: Calling: download https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0/latest.version
    2.296 dotnet-install: Calling: machine_has curl
    2.296 dotnet-install: Calling: downloadcurl https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0/latest.version 
    2.802 dotnet-install: get_specific_version_from_version: version_info=8.0.410
    2.804 dotnet-install: Calling: get_version_from_latestversion_file_content 
    2.810 dotnet-install: Calling: get_specific_product_version https://builds.dotnet.microsoft.com/dotnet 8.0.410
    2.811 dotnet-install: Calling: get_specific_product_version_url https://builds.dotnet.microsoft.com/dotnet 8.0.410 true 
    2.811 dotnet-install: Constructed productVersion link: https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.410/sdk-productVersion.txt
    2.812 dotnet-install: Calling: get_specific_product_version_url https://builds.dotnet.microsoft.com/dotnet 8.0.410 false 
    2.812 dotnet-install: Constructed productVersion link: https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.410/productVersion.txt
    2.813 dotnet-install: Checking for the existence of https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.410/sdk-productVersion.txt
    2.813 dotnet-install: Calling: machine_has curl
    3.132 dotnet-install: specific_version=8.0.410
    3.133 dotnet-install: Calling: construct_download_link https://builds.dotnet.microsoft.com/dotnet 8.0 x64 8.0.410 linux
    3.134 dotnet-install: Calling: get_specific_product_version https://builds.dotnet.microsoft.com/dotnet 8.0.410
    3.135 dotnet-install: Calling: get_specific_product_version_url https://builds.dotnet.microsoft.com/dotnet 8.0.410 true 
    3.135 dotnet-install: Constructed productVersion link: https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.410/sdk-productVersion.txt
    3.136 dotnet-install: Calling: get_specific_product_version_url https://builds.dotnet.microsoft.com/dotnet 8.0.410 false 
    3.137 dotnet-install: Constructed productVersion link: https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.410/productVersion.txt
    3.137 dotnet-install: Checking for the existence of https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.410/sdk-productVersion.txt
    3.137 dotnet-install: Calling: machine_has curl
    3.395 dotnet-install: Constructed primary named payload URL: https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.410/dotnet-sdk-8.0.410-linux-x64.tar.gz
    3.396 dotnet-install: Calling: construct_legacy_download_link https://builds.dotnet.microsoft.com/dotnet 8.0 x64 8.0.410
    3.397 dotnet-install: Calling: get_legacy_os_name 
    3.403 dotnet-install: Calling: get_legacy_os_name_from_platform rhel.8.10
    3.403 dotnet-install: Distribution specific OS name and version could not be detected: UName = Linux
    3.404 dotnet-install: Could not construct a legacy_download_link; omitting...
    3.404 dotnet-install: Calling: is_dotnet_package_installed /usr/lib64/dotnet sdk 8.0.410
    3.406 dotnet-install: Calling: combine_paths /usr/lib64/dotnet sdk
    3.408 dotnet-install: combine_paths: root_path=/usr/lib64/dotnet
    3.408 dotnet-install: combine_paths: child_path=sdk
    3.408 dotnet-install: Calling: combine_paths /usr/lib64/dotnet/sdk 8.0.410
    3.410 dotnet-install: combine_paths: root_path=/usr/lib64/dotnet/sdk
    3.410 dotnet-install: combine_paths: child_path=8.0.410
    3.411 dotnet-install: is_dotnet_package_installed: dotnet_package_path=/usr/lib64/dotnet/sdk/8.0.410
    3.412 dotnet-install: Calling: get_specific_version_from_version https://ci.dot.net/public 8.0 x64 Latest 
    3.417 dotnet-install: Calling: get_version_from_latestversion_file https://ci.dot.net/public 8.0 x64 false
    3.417 dotnet-install: get_version_from_latestversion_file: latest url: https://ci.dot.net/public/Sdk/8.0/latest.version
    3.417 dotnet-install: Calling: download https://ci.dot.net/public/Sdk/8.0/latest.version
    3.418 dotnet-install: Calling: machine_has curl
    3.418 dotnet-install: Calling: downloadcurl https://ci.dot.net/public/Sdk/8.0/latest.version 
    3.829 dotnet-install: get_specific_version_from_version: version_info=curl: (35) Recv failure: Connection reset by peer
    3.830 dotnet-install: Calling: get_version_from_latestversion_file_content 
    3.836 dotnet-install: Calling: get_specific_product_version https://ci.dot.net/public curl: (35) Recv failure: Connection reset by peer
    3.837 dotnet-install: Calling: get_specific_product_version_url https://ci.dot.net/public curl: (35) Recv failure: Connection reset by peer true 
    3.837 dotnet-install: Constructed productVersion link: https://ci.dot.net/public/Sdk/curl: (35) Recv failure: Connection reset by peer/sdk-productVersion.txt
    3.839 dotnet-install: Calling: get_specific_product_version_url https://ci.dot.net/public curl: (35) Recv failure: Connection reset by peer false 
    3.839 dotnet-install: Constructed productVersion link: https://ci.dot.net/public/Sdk/curl: (35) Recv failure: Connection reset by peer/productVersion.txt
    3.839 dotnet-install: Checking for the existence of https://ci.dot.net/public/Sdk/curl:
    3.839 dotnet-install: Calling: machine_has curl
    4.015 dotnet-install: Checking for the existence of (35)
    4.015 dotnet-install: Calling: machine_has curl
    4.025 dotnet-install: Checking for the existence of Recv
    4.025 dotnet-install: Calling: machine_has curl
    4.196 dotnet-install: Checking for the existence of failure:
    4.196 dotnet-install: Calling: machine_has curl
    4.207 dotnet-install: Checking for the existence of Connection
    4.207 dotnet-install: Calling: machine_has curl
    4.305 dotnet-install: Checking for the existence of reset
    4.305 dotnet-install: Calling: machine_has curl
    4.415 dotnet-install: Checking for the existence of by
    4.415 dotnet-install: Calling: machine_has curl
    4.539 dotnet-install: Checking for the existence of peer/sdk-productVersion.txt
    4.540 dotnet-install: Calling: machine_has curl
    4.640 dotnet-install: Checking for the existence of https://ci.dot.net/public/Sdk/curl:
    4.640 dotnet-install: Calling: machine_has curl
    4.886 dotnet-install: Checking for the existence of (35)
    4.886 dotnet-install: Calling: machine_has curl
    4.896 dotnet-install: Checking for the existence of Recv
    4.896 dotnet-install: Calling: machine_has curl
    4.999 dotnet-install: Checking for the existence of failure:
    5.000 dotnet-install: Calling: machine_has curl
    5.009 dotnet-install: Checking for the existence of Connection
    5.009 dotnet-install: Calling: machine_has curl
    5.165 dotnet-install: Checking for the existence of reset
    5.166 dotnet-install: Calling: machine_has curl
    5.261 dotnet-install: Checking for the existence of by
    5.261 dotnet-install: Calling: machine_has curl
    5.361 dotnet-install: Checking for the existence of peer/productVersion.txt
    5.361 dotnet-install: Calling: machine_has curl
    5.459 dotnet-install: Failed to get the version using productVersion.txt file. Download link will be parsed instead.
    5.459 dotnet-install: Calling: get_product_specific_version_from_download_link  curl: (35) Recv failure: Connection reset by peer
    5.460 dotnet-install: specific_version=curl: (35) Recv failure: Connection reset by peer
    5.461 dotnet-install: Calling: construct_download_link https://ci.dot.net/public 8.0 x64 curl: (35) Recv failure: Connection reset by peer linux
    5.462 dotnet-install: Calling: get_specific_product_version https://ci.dot.net/public curl: (35) Recv failure: Connection reset by peer
    5.463 dotnet-install: Calling: get_specific_product_version_url https://ci.dot.net/public curl: (35) Recv failure: Connection reset by peer true 
    5.463 dotnet-install: Constructed productVersion link: https://ci.dot.net/public/Sdk/curl: (35) Recv failure: Connection reset by peer/sdk-productVersion.txt
    5.465 dotnet-install: Calling: get_specific_product_version_url https://ci.dot.net/public curl: (35) Recv failure: Connection reset by peer false 
    5.465 dotnet-install: Constructed productVersion link: https://ci.dot.net/public/Sdk/curl: (35) Recv failure: Connection reset by peer/productVersion.txt
    5.465 dotnet-install: Checking for the existence of https://ci.dot.net/public/Sdk/curl:
    5.466 dotnet-install: Calling: machine_has curl
    5.725 dotnet-install: Checking for the existence of (35)
    5.725 dotnet-install: Calling: machine_has curl
    5.735 dotnet-install: Checking for the existence of Recv
    5.736 dotnet-install: Calling: machine_has curl
    5.905 dotnet-install: Checking for the existence of failure:
    5.905 dotnet-install: Calling: machine_has curl
    5.915 dotnet-install: Checking for the existence of Connection
    5.915 dotnet-install: Calling: machine_has curl
    6.016 dotnet-install: Checking for the existence of reset
    6.016 dotnet-install: Calling: machine_has curl
    6.167 dotnet-install: Checking for the existence of by
    6.167 dotnet-install: Calling: machine_has curl
    6.286 dotnet-install: Checking for the existence of peer/sdk-productVersion.txt
    6.286 dotnet-install: Calling: machine_has curl
    6.387 dotnet-install: Checking for the existence of https://ci.dot.net/public/Sdk/curl:
    6.387 dotnet-install: Calling: machine_has curl
    6.666 dotnet-install: Checking for the existence of (35)
    6.666 dotnet-install: Calling: machine_has curl
    6.677 dotnet-install: Checking for the existence of Recv
    6.677 dotnet-install: Calling: machine_has curl
    6.780 dotnet-install: Checking for the existence of failure:
    6.780 dotnet-install: Calling: machine_has curl
    6.791 dotnet-install: Checking for the existence of Connection
    6.791 dotnet-install: Calling: machine_has curl
    6.901 dotnet-install: Checking for the existence of reset
    6.901 dotnet-install: Calling: machine_has curl
    6.997 dotnet-install: Checking for the existence of by
    6.997 dotnet-install: Calling: machine_has curl
    7.161 dotnet-install: Checking for the existence of peer/productVersion.txt
    7.161 dotnet-install: Calling: machine_has curl
    7.332 dotnet-install: Failed to get the version using productVersion.txt file. Download link will be parsed instead.
    7.333 dotnet-install: Calling: get_product_specific_version_from_download_link  curl: (35) Recv failure: Connection reset by peer
    7.335 dotnet-install: Constructed primary named payload URL: https://ci.dot.net/public/Sdk/curl: (35) Recv failure: Connection reset by peer/dotnet-sdk-curl: (35) Recv failure: Connection reset by peer-linux-x64.tar.gz
    7.335 dotnet-install: Calling: construct_legacy_download_link https://ci.dot.net/public 8.0 x64 curl: (35) Recv failure: Connection reset by peer
    7.337 dotnet-install: Calling: get_legacy_os_name 
    7.343 dotnet-install: Calling: get_legacy_os_name_from_platform rhel.8.10
    7.343 dotnet-install: Distribution specific OS name and version could not be detected: UName = Linux
    7.344 dotnet-install: Could not construct a legacy_download_link; omitting...
    7.344 dotnet-install: Calling: is_dotnet_package_installed /usr/lib64/dotnet sdk curl: (35) Recv failure: Connection reset by peer
    7.345 dotnet-install: Calling: combine_paths /usr/lib64/dotnet sdk
    7.347 dotnet-install: combine_paths: root_path=/usr/lib64/dotnet
    7.347 dotnet-install: combine_paths: child_path=sdk
    7.348 dotnet-install: Calling: combine_paths /usr/lib64/dotnet/sdk curl: (35) Recv failure: Connection reset by peer
    7.350 dotnet-install: combine_paths: root_path=/usr/lib64/dotnet/sdk
    7.350 dotnet-install: combine_paths: child_path=curl: (35) Recv failure: Connection reset by peer
    7.350 dotnet-install: is_dotnet_package_installed: dotnet_package_path=/usr/lib64/dotnet/sdk/curl: (35) Recv failure: Connection reset by peer
    7.350 dotnet-install: Generated 16 links.
    7.350 dotnet-install: Link 0: primary, 8.0.410, https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.410/dotnet-sdk-8.0.410-linux-x64.tar.gz
    7.350 dotnet-install: Link 1: primary, curl:, https://ci.dot.net/public/Sdk/curl:
    7.351 /usr/local/bin/dotnet-install.sh: line 1380: link_types[$link_index]: unbound variable
    
  3. baronfel commented on Jun 3, 2025

    @baronfel
    Member

    @rbhanda this error seems to be happening when the latest.version files aren't found - are those updated like we were talking about yesterday? was this maybe a point-in-time issue with those and not something more systemic with curl?

  4. martincostello commented on Jun 8, 2025

    @martincostello
    Member

    Just ran into this myself on Ubuntu 24.04.

    RUN curl -L https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh \
      && chmod +x dotnet-install.sh \
      && ./dotnet-install.sh --version "8.0" --runtime dotnet \
      && rm dotnet-install.sh
     > [tests final 6/6] RUN curl -L https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh   && chmod +x dotnet-install.sh   && ./dotnet-install.sh --version "8.0"   && rm dotnet-install.sh:
    0.233   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    0.233                                  Dload  Upload   Total   Spent    Left  Speed
      0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
    100 65133    0 65133    0     0  81839      0 --:--:-- --:--:-- --:--:-- 1382k
    8.810 ./dotnet-install.sh: line 1440: effective_versions[$link_index]: unbound variable
    ------
    failed to solve: process "/bin/sh -c curl -L https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh   && chmod +x dotnet-install.sh   && ./dotnet-install.sh --version \"8.0\"   && rm dotnet-install.sh" did not complete successfully: exit code: 1
    
  5. martincostello commented on Jun 8, 2025

    @martincostello
    Member
    curl --version
    => => # 3.3 libpsl/0.21.2 (+libidn2/2.3.3) libssh2/1.10.0 nghttp2/1.52.0 librtmp/2.3 OpenLDAP/2.5.13
     => => # Release-Date: 2023-02-20, security patched: 7.88.1-10+deb12u12
     => => # Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtmp rtsp scp sf
     => => # tp smb smbs smtp smtps telnet tftp
     => => # Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_W
     => => # B PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd
    
  6. self-assigned this
    on Jun 11, 2025
  7. added
    untriagedIssue is awaiting triage
    and removed
    untriagedIssue is awaiting triage
    on Jun 11, 2025
  8. baronfel commented on Jun 12, 2025

    @baronfel
    Member

    wow @martincostello - that suggests that it's not a curl change (since your version is older), but perhaps some latent http processing problem in the script.

  9. ellahathaway commented on Jun 12, 2025

    @ellahathaway
    Member

    I'm unable to repro this on CentOS 8 and Ubuntu 24.04. Will try on mac, since #616 describes the issue happening there too.

    In the meantime, @martincostello, can you run the failing dotnet-install invocation with the --verbose flag so I can see detailed diagnostic output? I'd like to compare it with the output in #610 (comment)

  10. martincostello commented on Jun 12, 2025

    @martincostello
    Member

    Sure - I'll put something together tomorrow.

  11. ellahathaway commented on Jun 12, 2025

    @ellahathaway
    Member

    I was able to repro the issue on mac with curl 8.14.0. #617 will address the failures described in the original issue.

    I'm still unable to repro with the conditions described in #610 (comment) and #610 (comment). Let's continue that discussion in a new issue if that error continues to persist, because it appears unrelated to curl/curl#17554

  12. mchaves27 commented on Jun 13, 2025

    @mchaves27
    Author

    @ellahathaway and participants, thanks for the time and effort reproducing and resolving this.
    I confirm the issue has been successfully fixed for RHEL8 🚀

  13. nike4613 commented on Jun 13, 2025

    @nike4613

    Is the fix available on aka.ms already?

  14. ellahathaway commented on Jun 13, 2025

    @ellahathaway
    Member

    Is the fix available on aka.ms already?

    @nike4613 - the fix will be deployed to the stable script soon. In the meantime, the fix in #617 has been merged in, so you can access the updated script here.

  15. martincostello commented on Jun 14, 2025

    @martincostello
    Member

    I don't seem to be able to repro it now. I just get an error telling me that 8.0 is 404 (because it's only major.minor not major.minor.patch).

    This is what I did:

    FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
    
    RUN curl -L https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh \
      && chmod +x dotnet-install.sh \
      && ./dotnet-install.sh --version "8.0" --runtime dotnet \
      && rm dotnet-install.sh
    
    ENTRYPOINT [ "dotnet", "--info" ]
    8.475 dotnet-install: Attempting to download using primary link https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0/dotnet-runtime-8.0-linux-x64.tar.gz
    9.401 curl: (22) The requested URL returned error: 404
    9.578 dotnet-install: The resource at primary link 'https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0/dotnet-runtime-8.0-linux-x64.tar.gz' is not available.
    9.581 dotnet-install: Attempting to download using primary link https://ci.dot.net/public/Runtime/8.0/dotnet-runtime-8.0-linux-x64.tar.gz
    9.902 curl: (22) The requested URL returned error: 404
    10.26 dotnet-install: The resource at primary link 'https://ci.dot.net/public/Runtime/8.0/dotnet-runtime-8.0-linux-x64.tar.gz' is not available.
    10.26 dotnet_install: Error: Could not find `.NET Core Runtime` with version = 8.0
    10.26 dotnet_install: Error: Refer to: https://aka.ms/dotnet-os-lifecycle for information on .NET Core support
    ------
    Dockerfile:4
    --------------------
       3 |
       4 | >>> RUN curl -L https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh \
       5 | >>>   && chmod +x dotnet-install.sh \
       6 | >>>   && ./dotnet-install.sh --version "8.0" --runtime dotnet \
       7 | >>>   && rm dotnet-install.sh
       8 |
    --------------------
    ERROR: failed to solve: process "/bin/sh -c curl -L https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh   && chmod +x dotnet-install.sh   && ./dotnet-install.sh --version \"8.0\" --runtime dotnet   && rm dotnet-install.sh" did not complete successfully: exit code: 1
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions