Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Compilation Hang v1.10.14 #1208

Closed
eohne opened this issue Dec 18, 2024 · 15 comments · Fixed by #1210
Closed

Compilation Hang v1.10.14 #1208

eohne opened this issue Dec 18, 2024 · 15 comments · Fixed by #1210

Comments

@eohne
Copy link

eohne commented Dec 18, 2024

installed through

] add HTTP

Installing version 1.9.19 worked for me without precompilation hang.

GitHub suggests latest version is 1.9.19 but add HTTP installs version 1.10.14

@IanButterworth
Copy link
Member

Can you share versioninfo().

Also, some things are being backported to 1.9 hence why the latest release is 1.9.19, whilst the proper latest release is 1.10.14

@eohne
Copy link
Author

eohne commented Dec 18, 2024

julia> versioninfo()
Julia Version 1.11.2
Commit 5e9a32e7af2 (2024-12-01 20:02 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (aarch64-linux-gnu)

Full transparency this is running on my Galaxy S24 Ultra.

@IanButterworth
Copy link
Member

With 1.19.19 can you try each of this line by line in the repl and share the output, and note where it hangs.

  gzip_data(data::String) = read(GzipCompressorStream(IOBuffer(data)))
  _port = 57813
  cert, key = joinpath.(@__DIR__, "../test", "resources", ("cert.pem", "key.pem"))
  sslconfig = MbedTLS.SSLConfig(cert, key)

  server = HTTP.serve!("0.0.0.0", _port; verbose = -1, listenany=true, sslconfig=sslconfig) do req
      HTTP.Response(200,  ["Content-Encoding" => "gzip"], gzip_data("dummy response"))
  end

  _port = HTTP.port(server)
  url = "https://localhost:$_port"

  env = ["JULIA_NO_VERIFY_HOSTS" => "localhost", "JULIA_SSL_NO_VERIFY_HOSTS" => nothing, "JULIA_ALWAYS_VERIFY_HOSTS" => nothing]
  withenv(env...) do
      HTTP.get(url);
  end

  HTTP.forceclose(server)

@eohne
Copy link
Author

eohne commented Dec 19, 2024

1.9.19 works fine it's. 1.10 that hangs for me.
I would just mention that somewhere in the readme since 1.10.14 is installed by default

This line errors:

sslconfig = MbedTLS.SSLConfig(cert, key)
ERROR: SystemError: opening file "/root/../test/resources/cert.pem": No such file or directory

Edit full stacktrace:

Stacktrace:
  [1] systemerror(p::String, errno::Int32; extrainfo::Nothing)
    @ Base ./error.jl:176
  [2] systemerror
    @ ./error.jl:175 [inlined]
  [3] open(fname::String; lock::Bool, read::Nothing, write::Nothing, create::Nothing, truncate::Nothing, append::Nothing)
    @ Base ./iostream.jl:295
  [4] open
    @ ./iostream.jl:277 [inlined]
  [5] open(f::Base.var"#470#471"{Tuple{}}, args::String; kwargs::@Kwargs{})
    @ Base ./io.jl:408
  [6] open
    @ ./io.jl:407 [inlined]
  [7] read
    @ ./io.jl:505 [inlined]
  [8] crt_parse_file(path::String)
    @ MbedTLS ~/.julia/packages/MbedTLS/Vaaz8/src/x509_crt.jl:38
  [9] SSLConfig(cert_file::String, key_file::String)
    @ MbedTLS ~/.julia/packages/MbedTLS/Vaaz8/src/MbedTLS.jl:109
 [10] top-level scope
    @ REPL[27]:1

@IanButterworth
Copy link
Member

IanButterworth commented Dec 19, 2024

Please do use 1.9.19 for these tests.

The path was wrong. Updated:

gzip_data(data::String) = read(GzipCompressorStream(IOBuffer(data)))
  _port = 57813
  cert, key = joinpath.(pkgdir(HTTP), "test", "resources", ("cert.pem", "key.pem"))
  sslconfig = MbedTLS.SSLConfig(cert, key)

  server = HTTP.serve!("0.0.0.0", _port; verbose = -1, listenany=true, sslconfig=sslconfig) do req
      HTTP.Response(200,  ["Content-Encoding" => "gzip"], gzip_data("dummy response"))
  end

  _port = HTTP.port(server)
  url = "https://localhost:$_port/"

  env = ["JULIA_NO_VERIFY_HOSTS" => "localhost", "JULIA_SSL_NO_VERIFY_HOSTS" => nothing, "JULIA_ALWAYS_VERIFY_HOSTS" => nothing]
  withenv(env...) do
      HTTP.get(url);
  end

  HTTP.forceclose(server)

@eohne
Copy link
Author

eohne commented Dec 19, 2024

julia> using HTTP                                        
julia> using MbedTLS                                                                                              
julia> gzip_data(data::String) = read(GzipCompressorStream(IOBuffer(data)))
gzip_data (generic function with 1 method)

julia> _port = 57813                                    
 57813

julia> cert, key = joinpath.(pkgdir(HTTP), "test", "resources", ("cert.pem", "key.pem"))                          ("/root/.julia/packages/HTTP/1MepD/test/resources/cert.pem", "/root/.julia/packages/HTTP/1MepD/test/resources/key.pem")
                                                         
julia> sslconfig = MbedTLS.SSLConfig(cert, key)
MbedTLS.SSLConfig()                                      
julia> server = HTTP.serve!("0.0.0.0", _port; verbose = -1, listenany=true, sslconfig=sslconfig) do req                        
HTTP.Response(200,  ["Content-Encoding" => "gzip"], gzip_data("dummy response"))
         end                                             HTTP.Servers.Server{HTTP.Servers.Listener{SSLConfig, Sockets.TCPServer}}(HTTP.Servers.Listener{SSLConfig, Sockets.TCPServer}(Sockets.InetAddr{Sockets.IPv4}(ip"0.0.0.0", 57813), "0.0.0.0", "57813", MbedTLS.SSLConfig(), Sockets.TCPServer(RawFD(21) active)), nothing, Set{HTTP.Connections.Connection}(), Task (runnable, started) @0x000000793269eca0, ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (520398136752, 520376991328, 0)))

julia> _port = HTTP.port(server)                         
57813
                                                         
julia> url = "https://localhost:$_port/"
"https://localhost:57813/"
                                                         
julia> env = ["JULIA_NO_VERIFY_HOSTS" => "localhost", "JULIA_SSL_NO_VERIFY_HOSTS" => nothing, "JULIA_ALWAYS_VERIFY_HOSTS" => nothing]
3-element Vector{Pair{String, Union{Nothing, String}}}:       "JULIA_NO_VERIFY_HOSTS" => "localhost"
 "JULIA_SSL_NO_VERIFY_HOSTS" => nothing
 "JULIA_ALWAYS_VERIFY_HOSTS" => nothing                  
julia> withenv(env...) do
             HTTP.get(url);                                       end
                                                        
 ERROR: HTTP.ConnectError for url = `https://localhost:57813/`: DNSError: localhost, unknown node or service (EAI_NONAME)
Stacktrace:                                               
[1] getalladdrinfo(host::String)
   @ Sockets ~/julia-1.11.2/share/julia/stdlib/v1.11/Sockets/src/addrinfo.jl:113
 [2] getalladdrinfo
   @ ~/julia-1.11.2/share/julia/stdlib/v1.11/Sockets/src/addrinfo.jl:122 [inlined]
 [3] getconnection(::Type{…}, host::SubString{…}, port::SubString{…}; keepalive::Bool, readtimeout::Int64, kw::@Kwargs{})
   @ HTTP.Connections ~/.julia/packages/HTTP/1MepD/src/Connections.jl:515
 [4] getconnection                                          
@ ~/.julia/packages/HTTP/1MepD/src/Connections.jl:503 [inlined]                                                 [5] getconnection(::Type{…}, host::SubString{…}, port::SubString{…}; kw::@Kwargs{})                                @ HTTP.Connections ~/.julia/packages/HTTP/1MepD/src/Connections.jl:580                                          [6] getconnection
   @ ~/.julia/packages/HTTP/1MepD/src/Connections.jl:573 [inlined]
 [7] #10                                                   
 @ ~/.julia/packages/HTTP/1MepD/src/Connections.jl:462 [inlined]
 [8] macro expansion
   @ ~/.julia/packages/ConcurrentUtilities/j1gVM/src/try_with_timeout.jl:92 [inlined]
 [9] (::ConcurrentUtilities.var"#2#4"{Any, Channel{}, HTTP.Connections.var"#10#13"{}, Timer})()
   @ ConcurrentUtilities ~/.julia/packages/ConcurrentUtilities/j1gVM/src/ConcurrentUtilities.jl:9
Stacktrace:                                               
 [1] (::HTTP.ConnectionRequest.var"#connections#4"{})(req::HTTP.Messages.Request; proxy::Nothing, socket_type::Type, socket_type_tls::Type, readtimeout::Int64, connect_timeout::Int64, logerrors::Bool, logtag::Nothing, kw::@Kwargs{})
    @ HTTP.ConnectionRequest ~/.julia/packages/HTTP/1MepD/src/clientlayers/ConnectionRequest.jl:86                  
[2] (::Base.var"#106#108"{})(args::HTTP.Messages.Request; kwargs::@Kwargs{})
    @ Base ./error.jl:300
  [3] (::HTTP.RetryRequest.var"#manageretries#3"{})(req::HTTP.Messages.Request; retry::Bool, retries::Int64, retry_delays::ExponentialBackOff, retry_check::Function, retry_non_idempotent::Bool, kw::@Kwargs{})
    @ HTTP.RetryRequest ~/.julia/packages/HTTP/1MepD/src/clientlayers/RetryRequest.jl:75
  [4] manageretries
    @ ~/.julia/packages/HTTP/1MepD/src/clientlayers/RetryRequest.jl:30 [inlined]                                    [5] (::HTTP.CookieRequest.var"#managecookies#4"{})(req::HTTP.Messages.Request; cookies::Bool, cookiejar::HTTP.Cookies.CookieJar, kw::@Kwargs{})
    @ HTTP.CookieRequest ~/.julia/packages/HTTP/1MepD/src/clientlayers/CookieRequest.jl:42
  [6] managecookies                                          
@ ~/.julia/packages/HTTP/1MepD/src/clientlayers/CookieRequest.jl:19 [inlined]                                   [7] (::HTTP.HeadersRequest.var"#defaultheaders#2"{})(req::HTTP.Messages.Request; iofunction::Nothing, decompress::Nothing, basicauth::Bool, detect_content_type::Bool, canonicalize_headers::Bool, kw::@Kwargs{})
    @ HTTP.HeadersRequest ~/.julia/packages/HTTP/1MepD/src/clientlayers/HeadersRequest.jl:71
  [8] defaultheaders                                        
 @ ~/.julia/packages/HTTP/1MepD/src/clientlayers/HeadersRequest.jl:14 [inlined]
  [9] (::HTTP.RedirectRequest.var"#redirects#3"{})(req::HTTP.Messages.Request; redirect::Bool, redirect_limit::Int64, redirect_method::Nothing, forwardheaders::Bool, response_stream::Nothing, kw::@Kwargs{})
    @ HTTP.RedirectRequest ~/.julia/packages/HTTP/1MepD/src/clientlayers/RedirectRequest.jl:25
 [10] redirects
    @ ~/.julia/packages/HTTP/1MepD/src/clientlayers/RedirectRequest.jl:14 [inlined]
 [11] (::HTTP.MessageRequest.var"#makerequest#3"{})(method::String, url::URIs.URI, headers::Nothing, body::Vector{…}; copyheaders::Bool, response_stream::Nothing, http_version::HTTP.Strings.HTTPVersion, verbose::Int64, kw::@Kwargs{})
    @ HTTP.MessageRequest ~/.julia/packages/HTTP/1MepD/src/clientlayers/MessageRequest.jl:35
 [12] makerequest
    @ ~/.julia/packages/HTTP/1MepD/src/clientlayers/MessageRequest.jl:24 [inlined]                                 
[13] request(stack::HTTP.MessageRequest.var"#makerequest#3"{}, method::String, url::String, h::Nothing, b::Vector{…}, q::Nothing; headers::Nothing, body::Vector{…}, query::Nothing, kw::@Kwargs{})
    @ HTTP ~/.julia/packages/HTTP/1MepD/src/HTTP.jl:457
 [14] request(stack::Function, method::String, url::String, h::Nothing, b::Vector{UInt8}, q::Nothing)
    @ HTTP ~/.julia/packages/HTTP/1MepD/src/HTTP.jl:455
 [15] #request#20
    @ ~/.julia/packages/HTTP/1MepD/src/HTTP.jl:315 [inlined]
 [16] request (repeats 2 times)
    @ ~/.julia/packages/HTTP/1MepD/src/HTTP.jl:313 [inlined]
 [17] get(a::String)
    @ HTTP ~/.julia/packages/HTTP/1MepD/src/HTTP.jl:518
 [18] (::var"#3#4")()
    @ Main ./REPL[11]:2
 [19] withenv(::var"#3#4", ::Pair{String, Union{Nothing, String}}, ::Vararg{Pair{String, Union{Nothing, String}}})
    @ Base ./env.jl:265
 [20] top-level scope
    @ REPL[11]:1

caused by: DNSError: localhost, unknown node or service (EAI_NONAME)
Stacktrace:
 [1] getalladdrinfo(host::String)
   @ Sockets ~/julia-1.11.2/share/julia/stdlib/v1.11/Sockets/src/addrinfo.jl:113
 [2] getalladdrinfo
   @ ~/julia-1.11.2/share/julia/stdlib/v1.11/Sockets/src/addrinfo.jl:122 [inlined]
 [3] getconnection(::Type{…}, host::SubString{…}, port::SubString{…}; keepalive::Bool, readtimeout::Int64, kw::@Kwargs{})
   @ HTTP.Connections ~/.julia/packages/HTTP/1MepD/src/Connections.jl:515
 [4] getconnection
   @ ~/.julia/packages/HTTP/1MepD/src/Connections.jl:503 [inlined]
 [5] getconnection(::Type{…}, host::SubString{…}, port::SubString{…}; kw::@Kwargs{})
   @ HTTP.Connections ~/.julia/packages/HTTP/1MepD/src/Connections.jl:580
 [6] getconnection
   @ ~/.julia/packages/HTTP/1MepD/src/Connections.jl:573 [inlined]
 [7] #10
   @ ~/.julia/packages/HTTP/1MepD/src/Connections.jl:462 [inlined]
 [8] macro expansion
   @ ~/.julia/packages/ConcurrentUtilities/j1gVM/src/try_with_timeout.jl:92 [inlined]
 [9] (::ConcurrentUtilities.var"#2#4"{Any, Channel{}, HTTP.Connections.var"#10#13"{}, Timer})()
   @ ConcurrentUtilities ~/.julia/packages/ConcurrentUtilities/j1gVM/src/ConcurrentUtilities.jl:9
Stacktrace:
  [1] try_yieldto(undo::typeof(Base.ensure_rescheduled))
    @ Base ./task.jl:958
  [2] wait()
    @ Base ./task.jl:1022
  [3] wait(c::Base.GenericCondition{ReentrantLock}; first::Bool)
    @ Base ./condition.jl:130
  [4] wait
    @ ./condition.jl:125 [inlined]
  [5] take_unbuffered(c::Channel{Any})
    @ Base ./channels.jl:510
  [6] take!
    @ ./channels.jl:487 [inlined]
  [7] try_with_timeout(f::Function, timeout::Int64, ::Type{Any})
    @ ConcurrentUtilities ~/.julia/packages/ConcurrentUtilities/j1gVM/src/try_with_timeout.jl:99
  [8] try_with_timeout
    @ ~/.julia/packages/ConcurrentUtilities/j1gVM/src/try_with_timeout.jl:77 [inlined]
  [9] (::HTTP.Connections.var"#9#12"{OpenSSL.SSLStream, Int64, Int64, Bool, Bool, @Kwargs{}, SubString{}, SubString{}})()
    @ HTTP.Connections ~/.julia/packages/HTTP/1MepD/src/Connections.jl:459
 [10] acquire(f::HTTP.Connections.var"#9#12"{}, pool::ConcurrentUtilities.Pools.Pool{…}, key::Tuple{…}; forcenew::Bool, isvalid::HTTP.Connections.var"#11#14"{})
    @ ConcurrentUtilities.Pools ~/.julia/packages/ConcurrentUtilities/j1gVM/src/pools.jl:159
 [11] acquire
    @ ~/.julia/packages/ConcurrentUtilities/j1gVM/src/pools.jl:140 [inlined]
 [12] #newconnection#8
    @ ~/.julia/packages/HTTP/1MepD/src/Connections.jl:454 [inlined]
 [13] (::HTTP.ConnectionRequest.var"#connections#4"{})(req::HTTP.Messages.Request; proxy::Nothing, socket_type::Type, socket_type_tls::Type, readtimeout::Int64, connect_timeout::Int64, logerrors::Bool, logtag::Nothing, kw::@Kwargs{})
    @ HTTP.ConnectionRequest ~/.julia/packages/HTTP/1MepD/src/clientlayers/ConnectionRequest.jl:80
 [14] (::Base.var"#106#108"{})(args::HTTP.Messages.Request; kwargs::@Kwargs{})
    @ Base ./error.jl:300
 [15] (::HTTP.RetryRequest.var"#manageretries#3"{})(req::HTTP.Messages.Request; retry::Bool, retries::Int64, retry_delays::ExponentialBackOff, retry_check::Function, retry_non_idempotent::Bool, kw::@Kwargs{})
    @ HTTP.RetryRequest ~/.julia/packages/HTTP/1MepD/src/clientlayers/RetryRequest.jl:75
 [16] manageretries
    @ ~/.julia/packages/HTTP/1MepD/src/clientlayers/RetryRequest.jl:30 [inlined]
 [17] (::HTTP.CookieRequest.var"#managecookies#4"{})(req::HTTP.Messages.Request; cookies::Bool, cookiejar::HTTP.Cookies.CookieJar, kw::@Kwargs{})
    @ HTTP.CookieRequest ~/.julia/packages/HTTP/1MepD/src/clientlayers/CookieRequest.jl:42
 [18] managecookies
    @ ~/.julia/packages/HTTP/1MepD/src/clientlayers/CookieRequest.jl:19 [inlined]
 [19] (::HTTP.HeadersRequest.var"#defaultheaders#2"{})(req::HTTP.Messages.Request; iofunction::Nothing, decompress::Nothing, basicauth::Bool, detect_content_type::Bool, canonicalize_headers::Bool, kw::@Kwargs{})
    @ HTTP.HeadersRequest ~/.julia/packages/HTTP/1MepD/src/clientlayers/HeadersRequest.jl:71
 [20] defaultheaders
    @ ~/.julia/packages/HTTP/1MepD/src/clientlayers/HeadersRequest.jl:14 [inlined]
 [21] (::HTTP.RedirectRequest.var"#redirects#3"{})(req::HTTP.Messages.Request; redirect::Bool, redirect_limit::Int64, redirect_method::Nothing, forwardheaders::Bool, response_stream::Nothing, kw::@Kwargs{})
    @ HTTP.RedirectRequest ~/.julia/packages/HTTP/1MepD/src/clientlayers/RedirectRequest.jl:25
 [22] redirects
    @ ~/.julia/packages/HTTP/1MepD/src/clientlayers/RedirectRequest.jl:14 [inlined]
 [23] (::HTTP.MessageRequest.var"#makerequest#3"{})(method::String, url::URIs.URI, headers::Nothing, body::Vector{…}; copyheaders::Bool, response_stream::Nothing, http_version::HTTP.Strings.HTTPVersion, verbose::Int64, kw::@Kwargs{})
    @ HTTP.MessageRequest ~/.julia/packages/HTTP/1MepD/src/clientlayers/MessageRequest.jl:35
 [24] makerequest
    @ ~/.julia/packages/HTTP/1MepD/src/clientlayers/MessageRequest.jl:24 [inlined]
 [25] request(stack::HTTP.MessageRequest.var"#makerequest#3"{}, method::String, url::String, h::Nothing, b::Vector{…}, q::Nothing; headers::Nothing, body::Vector{…}, query::Nothing, kw::@Kwargs{})                                   
@ HTTP ~/.julia/packages/HTTP/1MepD/src/HTTP.jl:457
 [26] request(stack::Function, method::String, url::String, h::Nothing, b::Vector{UInt8}, q::Nothing)
    @ HTTP ~/.julia/packages/HTTP/1MepD/src/HTTP.jl:455   [27] #request#20
    @ ~/.julia/packages/HTTP/1MepD/src/HTTP.jl:315 [inlined]
 [28] request (repeats 2 times)                             
 @ ~/.julia/packages/HTTP/1MepD/src/HTTP.jl:313 [inlined]                                                       
[29] get(a::String)
    @ HTTP ~/.julia/packages/HTTP/1MepD/src/HTTP.jl:518   [30] (::var"#3#4")()
    @ Main ./REPL[11]:2                                   [31] withenv(::var"#3#4", ::Pair{String, Union{Nothing, String}}, ::Vararg{Pair{String, Union{Nothing, String}}})
    @ Base ./env.jl:265
 [32] top-level scope
    @ REPL[11]:1
Some type information was truncated. Use `show(err)` to see complete types.                                       

@IanButterworth
Copy link
Member

Thanks. Ok, that doesn't trigger the hang.
Can you try with v1.10.10

@eohne
Copy link
Author

eohne commented Dec 19, 2024

Sorry for the messy stacktraces somehow it doesn't copy nicely from the terminal on my phone.

Interestingly I just installed Julia 1.10.7.
precompilation of 1.10.14 fails (huge stacktrace). Version 1.9.19 works fine.

Note that with Julia 1.11.2 and [email protected] even

julia> using HTTP                                        
(@v1.11) pkg> status HTTP                                Status `~/.julia/environments/v1.11/Project.toml`
⌃ [cd3eb016] HTTP v1.9.19
Info Packages marked with ⌃ have new versions available and may be upgradable.

julia> HTTP.get("https://www.google.com")

Throws an error.

line by line:

(@v1.11) pkg> status HTTP
Status `~/.julia/environments/v1.11/Project.toml`        
⌃ [cd3eb016] HTTP v1.10.10
Info Packages marked with ⌃ have new versions available and may be upgradable.
julia> using HTTP, MbedTLS

julia> gzip_data(data::String) = read(GzipCompressorStream(IOBuffer(data)))                                       gzip_data (generic function with 1 method)

julia> _port = 57813
57813
julia> cert, key = joinpath.(pkgdir(HTTP), "test", "resources", ("cert.pem", "key.pem"))                          
("/root/.julia/packages/HTTP/FSzDg/test/resources/cert.pem", "/root/.julia/packages/HTTP/FSzDg/test/resources/key.pem")       
julia> server = HTTP.serve!("0.0.0.0", _port; verbose = -1, listenany=true, sslconfig=sslconfig) do req
             HTTP.Response(200,  ["Content-Encoding" => "gzip"], gzip_data("dummy response"))
         end                                                                                                            
HTTP.Servers.Server{HTTP.Servers.Listener{SSLConfig, Sockets.TCPServer}}(HTTP.Servers.Listener{SSLConfig, Sockets.TCPServer}(Sockets.InetAddr{Sockets.IPv4}(ip"0.0.0.0", 57813), "0.0.0.0", "57813", MbedTLS.SSLConfig(), Sockets.TCPServer(RawFD(21) active)), nothing, Set{HTTP.Connections.Connection}(), Task (runnable, started) @0x0000007e1c8f85e0, ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (25, 0, -1)))

julia> _port = HTTP.port(server)
57813

julia> url = "https://localhost:$_port"
"https://localhost:57813"

julia> env = ["JULIA_NO_VERIFY_HOSTS" => "localhost", "JULIA_SSL_NO_VERIFY_HOSTS" => nothing, "JULIA_ALWAYS_VERIFY_HOSTS" => nothing]
3-element Vector{Pair{String, Union{Nothing, String}}}:
 

julia> withenv(env...) do
             HTTP.get(url);
         end
ERROR: HTTP.ConnectError for url = `https://localhost:57813`: DNSError: localhost, unknown node or service (EAI_NONAME)
Stacktrace:
 [1] getalladdrinfo(host::String)
   @ Sockets ~/julia-1.11.2/share/julia/stdlib/v1.11/Sockets/src/addrinfo.jl:113
 [2] getalladdrinfo
   @ ~/julia-1.11.2/share/julia/stdlib/v1.11/Sockets/src/addrinfo.jl:122 [inlined]
 [3] getconnection(::Type{…}, host::SubString{…}, port::SubString{…}; keepalive::Bool, readtimeout::Int64, kw::@Kwargs{})
   @ HTTP.Connections ~/.julia/packages/HTTP/FSzDg/src/Connections.jl:520
 [4] getconnection
   @ ~/.julia/packages/HTTP/FSzDg/src/Connections.jl:508 [inlined]
 [5] getconnection(::Type{…}, host::SubString{…}, port::SubString{…}; kw::@Kwargs{})
   @ HTTP.Connections ~/.julia/packages/HTTP/FSzDg/src/Connections.jl:585
 [6] getconnection
   @ ~/.julia/packages/HTTP/FSzDg/src/Connections.jl:578 [inlined]
 [7] #10
   @ ~/.julia/packages/HTTP/FSzDg/src/Connections.jl:467 [inlined]
 [8] macro expansion
   @ ~/.julia/packages/ConcurrentUtilities/j1gVM/src/try_with_timeout.jl:92 [inlined]
 [9] (::ConcurrentUtilities.var"#2#4"{Any, Channel{}, HTTP.Connections.var"#10#13"{}, Timer})()
   @ ConcurrentUtilities ~/.julia/packages/ConcurrentUtilities/j1gVM/src/ConcurrentUtilities.jl:9
Stacktrace:
  [1] (::HTTP.ConnectionRequest.var"#connections#4"{})(req::HTTP.Messages.Request; proxy::Nothing, socket_type::Type, socket_type_tls::Nothing, readtimeout::Int64, connect_timeout::Int64, logerrors::Bool, logtag::Nothing, closeimmediately::Bool, kw::@Kwargs{})
    @ HTTP.ConnectionRequest ~/.julia/packages/HTTP/FSzDg/src/clientlayers/ConnectionRequest.jl:88
  [2] connections
    @ ~/.julia/packages/HTTP/FSzDg/src/clientlayers/ConnectionRequest.jl:60 [inlined]
  [3] (::Base.var"#106#108"{})(args::HTTP.Messages.Request; kwargs::@Kwargs{})
    @ Base ./error.jl:300
  [4] (::HTTP.RetryRequest.var"#manageretries#3"{})(req::HTTP.Messages.Request; retry::Bool, retries::Int64, retry_delays::ExponentialBackOff, retry_check::Function, retry_non_idempotent::Bool, kw::@Kwargs{})
    @ HTTP.RetryRequest ~/.julia/packages/HTTP/FSzDg/src/clientlayers/RetryRequest.jl:75
  [5] manageretries
    @ ~/.julia/packages/HTTP/FSzDg/src/clientlayers/RetryRequest.jl:30 [inlined]
  [6] (::HTTP.CookieRequest.var"#managecookies#4"{})(req::HTTP.Messages.Request; cookies::Bool, cookiejar::HTTP.Cookies.CookieJar, kw::@Kwargs{})
    @ HTTP.CookieRequest ~/.julia/packages/HTTP/FSzDg/src/clientlayers/CookieRequest.jl:42
  [7] managecookies
    @ ~/.julia/packages/HTTP/FSzDg/src/clientlayers/CookieRequest.jl:19 [inlined]
  [8] (::HTTP.HeadersRequest.var"#defaultheaders#2"{})(req::HTTP.Messages.Request; iofunction::Nothing, decompress::Nothing, basicauth::Bool, detect_content_type::Bool, canonicalize_headers::Bool, kw::@Kwargs{})
    @ HTTP.HeadersRequest ~/.julia/packages/HTTP/FSzDg/src/clientlayers/HeadersRequest.jl:71
  [9] defaultheaders
    @ ~/.julia/packages/HTTP/FSzDg/src/clientlayers/HeadersRequest.jl:14 [inlined]
 [10] (::HTTP.RedirectRequest.var"#redirects#3"{})(req::HTTP.Messages.Request; redirect::Bool, redirect_limit::Int64, redirect_method::Nothing, forwardheaders::Bool, response_stream::Nothing, kw::@Kwargs{})
    @ HTTP.RedirectRequest ~/.julia/packages/HTTP/FSzDg/src/clientlayers/RedirectRequest.jl:25
 [11] redirects
    @ ~/.julia/packages/HTTP/FSzDg/src/clientlayers/RedirectRequest.jl:14 [inlined]
 [12] (::HTTP.MessageRequest.var"#makerequest#3"{})(method::String, url::URIs.URI, headers::Nothing, body::Vector{…}; copyheaders::Bool, response_stream::Nothing, http_version::HTTP.Strings.HTTPVersion, verbose::Int64, kw::@Kwargs{})
    @ HTTP.MessageRequest ~/.julia/packages/HTTP/FSzDg/src/clientlayers/MessageRequest.jl:35
 [13] makerequest
    @ ~/.julia/packages/HTTP/FSzDg/src/clientlayers/MessageRequest.jl:24 [inlined]
 [14] request(stack::HTTP.MessageRequest.var"#makerequest#3"{}, method::String, url::String, h::Nothing, b::Vector{…}, q::Nothing; headers::Nothing, body::Vector{…}, query::Nothing, kw::@Kwargs{})
    @ HTTP ~/.julia/packages/HTTP/FSzDg/src/HTTP.jl:457
 [15] request(stack::Function, method::String, url::String, h::Nothing, b::Vector{UInt8}, q::Nothing)
    @ HTTP ~/.julia/packages/HTTP/FSzDg/src/HTTP.jl:455
 [16] #request#20
    @ ~/.julia/packages/HTTP/FSzDg/src/HTTP.jl:315 [inlined]
 [17] request (repeats 2 times)
    @ ~/.julia/packages/HTTP/FSzDg/src/HTTP.jl:313 [inlined]
 [18] get(a::String)
    @ HTTP ~/.julia/packages/HTTP/FSzDg/src/HTTP.jl:518
 [19] (::var"#3#4")()
    @ Main ./REPL[13]:2
 [20] withenv(::var"#3#4", ::Pair{String, Union{Nothing, String}}, ::Vararg{Pair{String, Union{Nothing, String}}})
    @ Base ./env.jl:265
 [21] top-level scope
    @ REPL[13]:1

caused by: DNSError: localhost, unknown node or service (EAI_NONAME)
Stacktrace:
 [1] getalladdrinfo(host::String)
   @ Sockets ~/julia-1.11.2/share/julia/stdlib/v1.11/Sockets/src/addrinfo.jl:113
 [2] getalladdrinfo
   @ ~/julia-1.11.2/share/julia/stdlib/v1.11/Sockets/src/addrinfo.jl:122 [inlined]
 [3] getconnection(::Type{…}, host::SubString{…}, port::SubString{…}; keepalive::Bool, readtimeout::Int64, kw::@Kwargs{})
   @ HTTP.Connections ~/.julia/packages/HTTP/FSzDg/src/Connections.jl:520
 [4] getconnection
   @ ~/.julia/packages/HTTP/FSzDg/src/Connections.jl:508 [inlined]
 [5] getconnection(::Type{…}, host::SubString{…}, port::SubString{…}; kw::@Kwargs{})
   @ HTTP.Connections ~/.julia/packages/HTTP/FSzDg/src/Connections.jl:585
 [6] getconnection
   @ ~/.julia/packages/HTTP/FSzDg/src/Connections.jl:578 [inlined]
 [7] #10
   @ ~/.julia/packages/HTTP/FSzDg/src/Connections.jl:467 [inlined]
 [8] macro expansion
   @ ~/.julia/packages/ConcurrentUtilities/j1gVM/src/try_with_timeout.jl:92 [inlined]
 [9] (::ConcurrentUtilities.var"#2#4"{Any, Channel{}, HTTP.Connections.var"#10#13"{}, Timer})()
   @ ConcurrentUtilities ~/.julia/packages/ConcurrentUtilities/j1gVM/src/ConcurrentUtilities.jl:9
Stacktrace:
  [1] try_yieldto(undo::typeof(Base.ensure_rescheduled))
    @ Base ./task.jl:958
  [2] wait()
    @ Base ./task.jl:1022
  [3] wait(c::Base.GenericCondition{ReentrantLock}; first::Bool)
    @ Base ./condition.jl:130
  [4] wait
    @ ./condition.jl:125 [inlined]
  [5] take_unbuffered(c::Channel{Any})
    @ Base ./channels.jl:510
  [6] take!
    @ ./channels.jl:487 [inlined]
  [7] try_with_timeout(f::Function, timeout::Int64, ::Type{Any})
    @ ConcurrentUtilities ~/.julia/packages/ConcurrentUtilities/j1gVM/src/try_with_timeout.jl:99
  [8] try_with_timeout
    @ ~/.julia/packages/ConcurrentUtilities/j1gVM/src/try_with_timeout.jl:77 [inlined]
  [9] (::HTTP.Connections.var"#9#12"{OpenSSL.SSLStream, Int64, Int64, Bool, Bool, @Kwargs{}, SubString{}, SubString{}})()
    @ HTTP.Connections ~/.julia/packages/HTTP/FSzDg/src/Connections.jl:464
 [10] acquire(f::HTTP.Connections.var"#9#12"{}, pool::ConcurrentUtilities.Pools.Pool{…}, key::Tuple{…}; forcenew::Bool, isvalid::HTTP.Connections.var"#11#14"{})
    @ ConcurrentUtilities.Pools ~/.julia/packages/ConcurrentUtilities/j1gVM/src/pools.jl:159
 [11] acquire
    @ ~/.julia/packages/ConcurrentUtilities/j1gVM/src/pools.jl:140 [inlined]
 [12] #newconnection#8
    @ ~/.julia/packages/HTTP/FSzDg/src/Connections.jl:459 [inlined]
 [13] (::HTTP.ConnectionRequest.var"#connections#4"{})(req::HTTP.Messages.Request; proxy::Nothing, socket_type::Type, socket_type_tls::Nothing, readtimeout::Int64, connect_timeout::Int64, logerrors::Bool, logtag::Nothing, closeimmediately::Bool, kw::@Kwargs{})
    @ HTTP.ConnectionRequest ~/.julia/packages/HTTP/FSzDg/src/clientlayers/ConnectionRequest.jl:82
 [14] connections
    @ ~/.julia/packages/HTTP/FSzDg/src/clientlayers/ConnectionRequest.jl:60 [inlined]
 [15] (::Base.var"#106#108"{})(args::HTTP.Messages.Request; kwargs::@Kwargs{})
    @ Base ./error.jl:300
 [16] (::HTTP.RetryRequest.var"#manageretries#3"{})(req::HTTP.Messages.Request; retry::Bool, retries::Int64, retry_delays::ExponentialBackOff, retry_check::Function, retry_non_idempotent::Bool, kw::@Kwargs{})
    @ HTTP.RetryRequest ~/.julia/packages/HTTP/FSzDg/src/clientlayers/RetryRequest.jl:75
 [17] manageretries
    @ ~/.julia/packages/HTTP/FSzDg/src/clientlayers/RetryRequest.jl:30 [inlined]
 [18] (::HTTP.CookieRequest.var"#managecookies#4"{})(req::HTTP.Messages.Request; cookies::Bool, cookiejar::HTTP.Cookies.CookieJar, kw::@Kwargs{})
    @ HTTP.CookieRequest ~/.julia/packages/HTTP/FSzDg/src/clientlayers/CookieRequest.jl:42
 [19] managecookies
    @ ~/.julia/packages/HTTP/FSzDg/src/clientlayers/CookieRequest.jl:19 [inlined]
 [20] (::HTTP.HeadersRequest.var"#defaultheaders#2"{})(req::HTTP.Messages.Request; iofunction::Nothing, decompress::Nothing, basicauth::Bool, detect_content_type::Bool, canonicalize_headers::Bool, kw::@Kwargs{})
    @ HTTP.HeadersRequest ~/.julia/packages/HTTP/FSzDg/src/clientlayers/HeadersRequest.jl:71
 [21] defaultheaders
    @ ~/.julia/packages/HTTP/FSzDg/src/clientlayers/HeadersRequest.jl:14 [inlined]
 [22] (::HTTP.RedirectRequest.var"#redirects#3"{})(req::HTTP.Messages.Request; redirect::Bool, redirect_limit::Int64, redirect_method::Nothing, forwardheaders::Bool, response_stream::Nothing, kw::@Kwargs{})
    @ HTTP.RedirectRequest ~/.julia/packages/HTTP/FSzDg/src/clientlayers/RedirectRequest.jl:25
 [23] redirects
    @ ~/.julia/packages/HTTP/FSzDg/src/clientlayers/RedirectRequest.jl:14 [inlined]
 [24] (::HTTP.MessageRequest.var"#makerequest#3"{})(method::String, url::URIs.URI, headers::Nothing, body::Vector{…}; copyheaders::Bool, response_stream::Nothing, http_version::HTTP.Strings.HTTPVersion, verbose::Int64, kw::@Kwargs{})
    @ HTTP.MessageRequest ~/.julia/packages/HTTP/FSzDg/src/clientlayers/MessageRequest.jl:35
 [25] makerequest
    @ ~/.julia/packages/HTTP/FSzDg/src/clientlayers/MessageRequest.jl:24 [inlined]
 [26] request(stack::HTTP.MessageRequest.var"#makerequest#3"{}, method::String, url::String, h::Nothing, b::Vector{…}, q::Nothing; headers::Nothing, body::Vector{…}, query::Nothing, kw::@Kwargs{})
    @ HTTP ~/.julia/packages/HTTP/FSzDg/src/HTTP.jl:457
 [27] request(stack::Function, method::String, url::String, h::Nothing, b::Vector{UInt8}, q::Nothing)
    @ HTTP ~/.julia/packages/HTTP/FSzDg/src/HTTP.jl:455
 [28] #request#20
    @ ~/.julia/packages/HTTP/FSzDg/src/HTTP.jl:315 [inlined]
 [29] request (repeats 2 times)
    @ ~/.julia/packages/HTTP/FSzDg/src/HTTP.jl:313 [inlined]
 [30] get(a::String)
    @ HTTP ~/.julia/packages/HTTP/FSzDg/src/HTTP.jl:518
 [31] (::var"#3#4")()
    @ Main ./REPL[13]:2
 [32] withenv(::var"#3#4", ::Pair{String, Union{Nothing, String}}, ::Vararg{Pair{String, Union{Nothing, String}}})
    @ Base ./env.jl:265
 [33] top-level scope
    @ REPL[13]:1
Some type information was truncated. Use `show(err)` to see complete types.

@IanButterworth
Copy link
Member

Please test v1.10.10. I don't believe that is?

@eohne
Copy link
Author

eohne commented Dec 19, 2024

It is [email protected]

See the output of ] status HTTPin the above call.

Happy to run sown more test for you tomorrow but it's one in the morning here and I have to work tomorrow.

Note that downgrading Julia to 1.10.7 (LTS) and installing [email protected] works for me for now.

Edit: fixing typos

@IanButterworth
Copy link
Member

Ok, thanks. Sorry the multiple things tested per message was confusing.

Can you try out #1209 and see if that fixes the hang.

@eohne
Copy link
Author

eohne commented Dec 19, 2024

Sorry, I will need to figure out how to install that PR version on my phone first...
wonder whether I can do something like ] add https://github.com/JuliaWeb/HTTP.jl/tree/ib/close_precompile_server directly. (don't have git on my phone etc).

I have in the meantime quickly checked on my (windows) computer.
Version 1.10.14 runs and compiles fine for me on Julia versions 1.9.1, 1.10.5, and 1.11.0 (all the ones I have currently installed)
I wonder whether it's a problem specific to running Julia on Ubuntu on Termux on an Android phone.

@IanButterworth
Copy link
Member

add HTTP#ib/close_precompile_server

@eohne
Copy link
Author

eohne commented Dec 19, 2024

HTTP#ib/close_precompile_server precompiles without hangs but gave the following error:

  1 dependency had output during precompilation:
┌ HTTP
│  ┌ Info: Ignoring an error that occurred during the precompilation workload
│  │   exception =
│  │    HTTP.ConnectError for url = `https://localhost:57813`: DNSError: localhost, unknown node or service (EAI_NONAME)
│  │    Stacktrace:
│  │     [1] getalladdrinfo(host::String)
│  │       @ Sockets ~/julia-1.11.2/share/julia/stdlib/v1.11/Sockets/src/addrinfo.jl:113
│  │     [2] getalladdrinfo
│  │       @ ~/julia-1.11.2/share/julia/stdlib/v1.11/Sockets/src/addrinfo.jl:122 [inlined]
│  │     [3] getconnection(::Type{Sockets.TCPSocket}, host::SubString{String}, port::SubString{String}; keepalive::Bool, readtimeout::Int64, kw::@Kwargs{require_ssl_verification::Bool, iofunction::Nothing, decompress::Nothing, verbose::Int64})
│  │       @ HTTP.Connections ~/.julia/packages/HTTP/1Vc4z/src/Connections.jl:520
│  │     [4] getconnection
│  │       @ ~/.julia/packages/HTTP/1Vc4z/src/Connections.jl:508 [inlined]
│  │     [5] getconnection(::Type{OpenSSL.SSLStream}, host::SubString{String}, port::SubString{String}; kw::@Kwargs{require_ssl_verification::Bool, keepalive::Bool, readtimeout::Int64, iofunction::Nothing, decompress::Nothing, verbose::Int64})
│  │       @ HTTP.Connections ~/.julia/packages/HTTP/1Vc4z/src/Connections.jl:585
│  │     [6] getconnection
│  │       @ ~/.julia/packages/HTTP/1Vc4z/src/Connections.jl:578 [inlined]
│  │     [7] #10
│  │       @ ~/.julia/packages/HTTP/1Vc4z/src/Connections.jl:467 [inlined]
│  │     [8] macro expansion
│  │       @ ~/.julia/packages/ConcurrentUtilities/j1gVM/src/try_with_timeout.jl:92 [inlined]
│  │     [9] (::ConcurrentUtilities.var"#2#4"{Any, Channel{Any}, HTTP.Connections.var"#10#13"{OpenSSL.SSLStream, Bool, Bool, @Kwargs{readtimeout::Int64, iofunction::Nothing, decompress::Nothing, verbose::Int64}, SubString{String}, SubString{String}}, Timer})()
│  │       @ ConcurrentUtilities ~/.julia/packages/ConcurrentUtilities/j1gVM/src/ConcurrentUtilities.jl:9

Running line by line

julia> gzip_data(data::String) = read(GzipCompressorStream(IOBuffer(data)))
gzip_data (generic function with 1 method)

julia> _port = 57813
57813

julia> cert, key = joinpath.(pkgdir(HTTP), "test", "resources", ("cert.pem", "key.pem"))
("/root/.julia/packages/HTTP/1Vc4z/test/resources/cert.pem", "/root/.julia/packages/HTTP/1Vc4z/test/resources/key.pem")

julia> sslconfig = MbedTLS.SSLConfig(cert, key)
MbedTLS.SSLConfig()

julia> server = HTTP.serve!("0.0.0.0", _port; verbose = -1, listenany=true, sslconfig=sslconfig) do req
             HTTP.Response(200,  ["Content-Encoding" => "gzip"], gzip_data("dummy response"))
         end
HTTP.Servers.Server{HTTP.Servers.Listener{SSLConfig, Sockets.TCPServer}}(HTTP.Servers.Listener{SSLConfig, Sockets.TCPServer}(Sockets.InetAddr{Sockets.IPv4}(ip"0.0.0.0", 57813), "0.0.0.0", "57813", MbedTLS.SSLConfig(), Sockets.TCPServer(RawFD(22) active)), nothing, Set{HTTP.Connections.Connection}(), Task (runnable, started) @0x00000071f17d47d0, ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (2, 3, 4)))

julia> _port = HTTP.port(server)
57813

julia> url = "https://localhost:$_port/"
"https://localhost:57813/"

julia> env = ["JULIA_NO_VERIFY_HOSTS" => "localhost", "JULIA_SSL_NO_VERIFY_HOSTS" => nothing, "JULIA_ALWAYS_VERIFY_HOSTS" => nothing]
3-element Vector{Pair{String, Union{Nothing, String}}}:
     "JULIA_NO_VERIFY_HOSTS" => "localhost"
 "JULIA_SSL_NO_VERIFY_HOSTS" => nothing
 "JULIA_ALWAYS_VERIFY_HOSTS" => nothing

julia> withenv(env...) do
             HTTP.get(url);
         end
ERROR: HTTP.ConnectError for url = `https://localhost:57813/`: DNSError: localhost, unknown node or service (EAI_NONAME)
Stacktrace:
 [1] getalladdrinfo(host::String)
   @ Sockets ~/julia-1.11.2/share/julia/stdlib/v1.11/Sockets/src/addrinfo.jl:113
 [2] getalladdrinfo
   @ ~/julia-1.11.2/share/julia/stdlib/v1.11/Sockets/src/addrinfo.jl:122 [inlined]
 [3] getconnection(::Type{…}, host::SubString{…}, port::SubString{…}; keepalive::Bool, readtimeout::Int64, kw::@Kwargs{})
   @ HTTP.Connections ~/.julia/packages/HTTP/1Vc4z/src/Connections.jl:520
 [4] getconnection
   @ ~/.julia/packages/HTTP/1Vc4z/src/Connections.jl:508 [inlined]
 [5] getconnection(::Type{…}, host::SubString{…}, port::SubString{…}; kw::@Kwargs{})
   @ HTTP.Connections ~/.julia/packages/HTTP/1Vc4z/src/Connections.jl:585
 [6] getconnection
   @ ~/.julia/packages/HTTP/1Vc4z/src/Connections.jl:578 [inlined]
 [7] #10
   @ ~/.julia/packages/HTTP/1Vc4z/src/Connections.jl:467 [inlined]
 [8] macro expansion
   @ ~/.julia/packages/ConcurrentUtilities/j1gVM/src/try_with_timeout.jl:92 [inlined]
 [9] (::ConcurrentUtilities.var"#2#4"{Any, Channel{}, HTTP.Connections.var"#10#13"{}, Timer})()
   @ ConcurrentUtilities ~/.julia/packages/ConcurrentUtilities/j1gVM/src/ConcurrentUtilities.jl:9
Stacktrace:
  [1] (::HTTP.ConnectionRequest.var"#connections#4"{})(req::HTTP.Messages.Request; proxy::Nothing, socket_type::Type, socket_type_tls::Nothing, readtimeout::Int64, connect_timeout::Int64, logerrors::Bool, logtag::Nothing, closeimmediately::Bool, kw::@Kwargs{})
    @ HTTP.ConnectionRequest ~/.julia/packages/HTTP/1Vc4z/src/clientlayers/ConnectionRequest.jl:88
  [2] connections
    @ ~/.julia/packages/HTTP/1Vc4z/src/clientlayers/ConnectionRequest.jl:60 [inlined]
  [3] (::Base.var"#106#108"{})(args::HTTP.Messages.Request; kwargs::@Kwargs{})
    @ Base ./error.jl:300
  [4] (::HTTP.RetryRequest.var"#manageretries#3"{})(req::HTTP.Messages.Request; retry::Bool, retries::Int64, retry_delays::ExponentialBackOff, retry_check::Function, retry_non_idempotent::Bool, kw::@Kwargs{})
    @ HTTP.RetryRequest ~/.julia/packages/HTTP/1Vc4z/src/clientlayers/RetryRequest.jl:75
  [5] manageretries
    @ ~/.julia/packages/HTTP/1Vc4z/src/clientlayers/RetryRequest.jl:30 [inlined]
  [6] (::HTTP.CookieRequest.var"#managecookies#4"{})(req::HTTP.Messages.Request; cookies::Bool, cookiejar::HTTP.Cookies.CookieJar, kw::@Kwargs{})
    @ HTTP.CookieRequest ~/.julia/packages/HTTP/1Vc4z/src/clientlayers/CookieRequest.jl:42
  [7] managecookies
    @ ~/.julia/packages/HTTP/1Vc4z/src/clientlayers/CookieRequest.jl:19 [inlined]
  [8] (::HTTP.HeadersRequest.var"#defaultheaders#2"{})(req::HTTP.Messages.Request; iofunction::Nothing, decompress::Nothing, basicauth::Bool, detect_content_type::Bool, canonicalize_headers::Bool, kw::@Kwargs{})
    @ HTTP.HeadersRequest ~/.julia/packages/HTTP/1Vc4z/src/clientlayers/HeadersRequest.jl:71
  [9] defaultheaders
    @ ~/.julia/packages/HTTP/1Vc4z/src/clientlayers/HeadersRequest.jl:14 [inlined]
 [10] (::HTTP.RedirectRequest.var"#redirects#3"{})(req::HTTP.Messages.Request; redirect::Bool, redirect_limit::Int64, redirect_method::Nothing, forwardheaders::Bool, response_stream::Nothing, kw::@Kwargs{})
    @ HTTP.RedirectRequest ~/.julia/packages/HTTP/1Vc4z/src/clientlayers/RedirectRequest.jl:25
 [11] redirects
    @ ~/.julia/packages/HTTP/1Vc4z/src/clientlayers/RedirectRequest.jl:14 [inlined]
 [12] (::HTTP.MessageRequest.var"#makerequest#3"{})(method::String, url::URIs.URI, headers::Nothing, body::Vector{…}; copyheaders::Bool, response_stream::Nothing, http_version::HTTP.Strings.HTTPVersion, verbose::Int64, kw::@Kwargs{})
    @ HTTP.MessageRequest ~/.julia/packages/HTTP/1Vc4z/src/clientlayers/MessageRequest.jl:35
 [13] makerequest
    @ ~/.julia/packages/HTTP/1Vc4z/src/clientlayers/MessageRequest.jl:24 [inlined]
 [14] request(stack::HTTP.MessageRequest.var"#makerequest#3"{}, method::String, url::String, h::Nothing, b::Vector{…}, q::Nothing; headers::Nothing, body::Vector{…}, query::Nothing, kw::@Kwargs{})
    @ HTTP ~/.julia/packages/HTTP/1Vc4z/src/HTTP.jl:457
 [15] request(stack::Function, method::String, url::String, h::Nothing, b::Vector{UInt8}, q::Nothing)
    @ HTTP ~/.julia/packages/HTTP/1Vc4z/src/HTTP.jl:455
 [16] #request#20
    @ ~/.julia/packages/HTTP/1Vc4z/src/HTTP.jl:315 [inlined]
 [17] request (repeats 2 times)
    @ ~/.julia/packages/HTTP/1Vc4z/src/HTTP.jl:313 [inlined]
 [18] get(a::String)
    @ HTTP ~/.julia/packages/HTTP/1Vc4z/src/HTTP.jl:518
 [19] (::var"#5#6")()
    @ Main ./REPL[18]:2
 [20] withenv(::var"#5#6", ::Pair{String, Union{Nothing, String}}, ::Vararg{Pair{String, Union{Nothing, String}}})
    @ Base ./env.jl:265
 [21] top-level scope
    @ REPL[18]:1

caused by: DNSError: localhost, unknown node or service (EAI_NONAME)

@IanButterworth
Copy link
Member

v1.10.15 is out with that change now, so you should be able to use HTTP.

The error will still be logged for info, and we need to figure out if there is anything we can fix/handle better there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants