-
Notifications
You must be signed in to change notification settings - Fork 181
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
Comments
Can you share 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 |
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. |
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.
|
1.9.19 works fine it's. 1.10 that hangs for me. 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 |
Please do use 1.9.19 for these tests. The path was wrong. Updated:
|
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. |
Thanks. Ok, that doesn't trigger the hang. |
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. 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. |
Please test v1.10.10. I don't believe that is? |
It is [email protected] See the output of 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 |
Ok, thanks. Sorry the multiple things tested per message was confusing. Can you try out #1209 and see if that fixes the hang. |
Sorry, I will need to figure out how to install that PR version on my phone first... I have in the meantime quickly checked on my (windows) computer. |
|
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) |
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. |
installed through
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
The text was updated successfully, but these errors were encountered: