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

GET Request leads to libmbedtls.dll error (compiling #sslconnection#18) #425

Closed
jkort opened this issue Jun 4, 2019 · 5 comments
Closed

Comments

@jkort
Copy link

jkort commented Jun 4, 2019

Julia 1.0.3
HTTP.jl 0.8.2
MbedTLS.jl 0.6.8 -- Please specify versions

Windows Server 2012 R2 (64-bit)

Possibly related to issue #372, but since closed I did not know how to reopen.

Based on closure of #372, I updated HTTP and MbedTLS packages to latest.

I get a similar error to #372:

`ERROR: LoadError: error compiling #sslconnection#18: error compiling Type: could
not load library "C:\Users\jort.julia\packages\MbedTLS\X4xar\deps\usr\bin\libm
bedtls.dll"
The specified procedure could not be found.

Stacktrace:
[1] #sslconnection at .\none:0 [inlined]
[2] #getconnection#17 at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\Connectio
nPool.jl:621 [inlined]
[3] #getconnection at .\none:0 [inlined]
[4] #getconnection#11(::Int64, ::Int64, ::Int64, ::Int64, ::Bool, ::Base.Iterat
ors.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofuncti
on, :basic_authorization),Tuple{Nothing,Bool}}}, ::Function, ::Type{HTTP.Connect
ionPool.Transaction{MbedTLS.SSLContext}}, ::SubString{String}, ::SubString{Strin
g}) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\ConnectionPool.jl:517
[5] (::getfield(HTTP.ConnectionPool, Symbol("#kw##getconnection")))(::NamedTupl
e{(:reuse_limit, :iofunction, :basic_authorization),Tuple{Int64,Nothing,Bool}},
::typeof(HTTP.ConnectionPool.getconnection), ::Type{HTTP.ConnectionPool.Transact
ion{MbedTLS.SSLContext}}, ::SubString{String}, ::SubString{String}) at .\none:0
[6] #request#1(::Nothing, ::Type, ::Int64, ::Base.Iterators.Pairs{Symbol,Union{
Nothing, Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :basic_authorizatio
n),Tuple{Nothing,Bool}}}, ::Function, ::Type{HTTP.ConnectionRequest.ConnectionPo
olLayer{HTTP.StreamRequest.StreamLayer}}, ::HTTP.URIs.URI, ::HTTP.Messages.Reque
st, ::Array{UInt8,1}) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\Connection
Request.jl:41
[7] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction, :basi
c_authorization),Tuple{Nothing,Bool}}, ::typeof(HTTP.request), ::Type{HTTP.Conne
ctionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}, ::HTTP.URIs.U
RI, ::HTTP.Messages.Request, ::Array{UInt8,1}) at .\none:0
[8] #request#1(::Base.Iterators.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol,
Symbol},NamedTuple{(:iofunction, :basic_authorization),Tuple{Nothing,Bool}}}, ::
Function, ::Type{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.Con
nectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}, ::HTTP.URIs.URI, ::Vararg{An
y,N} where N) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\ExceptionRequest.j
l:19
[9] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction, :basi
c_authorization),Tuple{Nothing,Bool}}, ::typeof(HTTP.request), ::Type{HTTP.Excep
tionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.Strea
mRequest.StreamLayer}}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::Array{UInt8
,1}) at .\none:0
[10] (::getfield(Base, Symbol("###44#45#46")){ExponentialBackOff,getfield(HTTP.
RetryRequest, Symbol("##2#3")){Bool,HTTP.Messages.Request},typeof(HTTP.request)}
)(::Base.Iterators.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol,Symbol},NamedT
uple{(:iofunction, :basic_authorization),Tuple{Nothing,Bool}}}, ::Function, ::Ty
pe, ::Vararg{Any,N} where N) at .\error.jl:203
[11] #request#1(::VersionNumber, ::String, ::Nothing, ::Nothing, ::Base.Iterato
rs.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:basic_authorization,),Tuple{Bool
}}}, ::Function, ::Type{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.Retry
Layer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPool
Layer{HTTP.StreamRequest.StreamLayer}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pa
ir{SubString{String},SubString{String}},1}, ::Array{UInt8,1}) at .\none:0
[12] #request at .\none:0 [inlined]
[13] #request#1(::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:b
asic_authorization,),Tuple{Bool}}}, ::Function, ::Type{HTTP.BasicAuthRequest.Bas
icAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.E
xceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.S
treamRequest.StreamLayer}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubStrin
g{String},SubString{String}},1}, ::Array{UInt8,1}) at C:\Users\jort.julia\packa
ges\HTTP\wY7Vc\src\BasicAuthRequest.jl:28
[14] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:basic_authorizat
ion,),Tuple{Bool}}, ::typeof(HTTP.request), ::Type{HTTP.BasicAuthRequest.BasicAu
thLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.Excep
tionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.Strea
mRequest.StreamLayer}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{St
ring},SubString{String}},1}, ::Array{UInt8,1}) at .\none:0
[15] #request#1(::Int64, ::Bool, ::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbo
l},NamedTuple{(:basic_authorization,),Tuple{Bool}}}, ::Function, ::Type{HTTP.Red
irectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequ
est.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLay
er{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}
}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}
},1}, ::Array{UInt8,1}) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\Redirect
Request.jl:24
[16] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:basic_authorizat
ion,),Tuple{Bool}}, ::typeof(HTTP.request), ::Type{HTTP.RedirectRequest.Redirect
Layer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP
.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionReq
uest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}}}}, ::String, ::HTTP
.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1
}) at .\none:0
[17] #request#5(::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:b
asic_authorization,),Tuple{Bool}}}, ::Function, ::String, ::HTTP.URIs.URI, ::Arr
ay{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}) at C:\Users\j
ort.julia\packages\HTTP\wY7Vc\src\HTTP.jl:300
[18] updateCRFversions(::String, ::String, ::String, ::String, ::String, ::Stri
ng, ::String, ::String) at .\none:0
[19] updatestudy(::Array{String,1}) at D:\julia_programs\odm\rave_current_produ
ction\update_study_toplevel.jl:26
[20] top-level scope at none:0
[21] include at .\boot.jl:317 [inlined]
[22] include_relative(::Module, ::String) at .\loading.jl:1044
[23] include(::Module, ::String) at .\sysimg.jl:29
[24] exec_options(::Base.JLOptions) at .\client.jl:266
[25] _start() at .\client.jl:425
in expression starting at D:\julia_programs\odm\rave_current_production\update_s
tudy_toplevel.jl:34`

I've not managed to create a simple example w/o proprietary company info in it as yet. BUT - here's the strange thing. If I run this program under Julia REPL using:

julia> ARGS =
julia> include("path\to\program.jl")

It works fine. But calling the same Windows commandline that has worked repeatedly prior to this HTTP/MbedTLS update, using:

D:>path\to\julia.exe path\to\program.jl "agr1 string" "arg2 string" etc.

is what throws the error. When I tried to create a stripped down program that still uses a top-level function calling another function that loops through some HTTP GETs, I can get it to work under Windows, so I'm not sure at what level of complexity the problem occurs. The full program is just repeated GETs together w/ some LibPQ interaction w/ a PostgreSQL database.

Since replacing those DLLs had helped before, I tried overwriting them w/ newer copies from LibCURL. First I overwrote libmedtls.dll, and the error shifted to:

`ERROR: LoadError: error compiling #SSLConfig#46: error compiling ca_chain!: erro
r compiling crt_parse: could not load library "C:\Users\jort.julia\packages\Mbe
dTLS\X4xar\deps\usr\bin\libmbedx509.dll"
The specified procedure could not be found.

Stacktrace:
[1] MbedTLS.SSLConfig(::Bool) at C:\Users\jort.julia\packages\MbedTLS\X4xar\sr
c\MbedTLS.jl:118
[2] global_sslconfig(::Bool) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\Co
nnectionPool.jl:607
[3] #sslconnection#18(::Bool, ::MbedTLS.SSLConfig, ::Base.Iterators.Pairs{Symbo
l,Union{Nothing, Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :basic_auth
orization),Tuple{Nothing,Bool}}}, ::Function, ::Sockets.TCPSocket, ::SubString{S
tring}) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\ConnectionPool.jl:630
[4] #sslconnection at .\none:0 [inlined]
[5] #getconnection#17 at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\Connectio
nPool.jl:621 [inlined]
[6] #getconnection at .\none:0 [inlined]
[7] #getconnection#11(::Int64, ::Int64, ::Int64, ::Int64, ::Bool, ::Base.Iterat
ors.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofuncti
on, :basic_authorization),Tuple{Nothing,Bool}}}, ::Function, ::Type{HTTP.Connect
ionPool.Transaction{MbedTLS.SSLContext}}, ::SubString{String}, ::SubString{Strin
g}) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\ConnectionPool.jl:517
[8] (::getfield(HTTP.ConnectionPool, Symbol("#kw##getconnection")))(::NamedTupl
e{(:reuse_limit, :iofunction, :basic_authorization),Tuple{Int64,Nothing,Bool}},
::typeof(HTTP.ConnectionPool.getconnection), ::Type{HTTP.ConnectionPool.Transact
ion{MbedTLS.SSLContext}}, ::SubString{String}, ::SubString{String}) at .\none:0
[9] #request#1(::Nothing, ::Type, ::Int64, ::Base.Iterators.Pairs{Symbol,Union{
Nothing, Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :basic_authorizatio
n),Tuple{Nothing,Bool}}}, ::Function, ::Type{HTTP.ConnectionRequest.ConnectionPo
olLayer{HTTP.StreamRequest.StreamLayer}}, ::HTTP.URIs.URI, ::HTTP.Messages.Reque
st, ::Array{UInt8,1}) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\Connection
Request.jl:41
[10] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction, :bas
ic_authorization),Tuple{Nothing,Bool}}, ::typeof(HTTP.request), ::Type{HTTP.Conn
ectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}, ::HTTP.URIs.
URI, ::HTTP.Messages.Request, ::Array{UInt8,1}) at .\none:0
[11] #request#1(::Base.Iterators.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol
,Symbol},NamedTuple{(:iofunction, :basic_authorization),Tuple{Nothing,Bool}}}, :
:Function, ::Type{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.Co
nnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}, ::HTTP.URIs.URI, ::Vararg{A
ny,N} where N) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\ExceptionRequest.
jl:19
[12] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction, :bas
ic_authorization),Tuple{Nothing,Bool}}, ::typeof(HTTP.request), ::Type{HTTP.Exce
ptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.Stre
amRequest.StreamLayer}}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::Array{UInt
8,1}) at .\none:0
[13] (::getfield(Base, Symbol("###44#45#46")){ExponentialBackOff,getfield(HTTP.
RetryRequest, Symbol("##2#3")){Bool,HTTP.Messages.Request},typeof(HTTP.request)}
)(::Base.Iterators.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol,Symbol},NamedT
uple{(:iofunction, :basic_authorization),Tuple{Nothing,Bool}}}, ::Function, ::Ty
pe, ::Vararg{Any,N} where N) at .\error.jl:203
[14] #request#1(::VersionNumber, ::String, ::Nothing, ::Nothing, ::Base.Iterato
rs.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:basic_authorization,),Tuple{Bool
}}}, ::Function, ::Type{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.Retry
Layer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPool
Layer{HTTP.StreamRequest.StreamLayer}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pa
ir{SubString{String},SubString{String}},1}, ::Array{UInt8,1}) at .\none:0
[15] #request at .\none:0 [inlined]
[16] #request#1(::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:b
asic_authorization,),Tuple{Bool}}}, ::Function, ::Type{HTTP.BasicAuthRequest.Bas
icAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.E
xceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.S
treamRequest.StreamLayer}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubStrin
g{String},SubString{String}},1}, ::Array{UInt8,1}) at C:\Users\jort.julia\packa
ges\HTTP\wY7Vc\src\BasicAuthRequest.jl:28
[17] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:basic_authorizat
ion,),Tuple{Bool}}, ::typeof(HTTP.request), ::Type{HTTP.BasicAuthRequest.BasicAu
thLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.Excep
tionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.Strea
mRequest.StreamLayer}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{St
ring},SubString{String}},1}, ::Array{UInt8,1}) at .\none:0
[18] #request#1(::Int64, ::Bool, ::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbo
l},NamedTuple{(:basic_authorization,),Tuple{Bool}}}, ::Function, ::Type{HTTP.Red
irectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequ
est.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLay
er{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}
}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}
},1}, ::Array{UInt8,1}) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\Redirect
Request.jl:24
[19] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:basic_authorizat
ion,),Tuple{Bool}}, ::typeof(HTTP.request), ::Type{HTTP.RedirectRequest.Redirect
Layer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP
.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionReq
uest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}}}}, ::String, ::HTTP
.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1
}) at .\none:0
[20] #request#5(::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:b
asic_authorization,),Tuple{Bool}}}, ::Function, ::String, ::HTTP.URIs.URI, ::Arr
ay{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}) at C:\Users\j
ort.julia\packages\HTTP\wY7Vc\src\HTTP.jl:300
[21] updateCRFversions(::String, ::String, ::String, ::String, ::String, ::Stri
ng, ::String, ::String) at .\none:0
[22] updatestudy(::Array{String,1}) at D:\julia_programs\odm\rave_current_produ
ction\update_study_toplevel.jl:26
[23] top-level scope at none:0
[24] include at .\boot.jl:317 [inlined]
[25] include_relative(::Module, ::String) at .\loading.jl:1044
[26] include(::Module, ::String) at .\sysimg.jl:29
[27] exec_options(::Base.JLOptions) at .\client.jl:266
[28] _start() at .\client.jl:425
in expression starting at D:\julia_programs\odm\rave_current_production\update_s
tudy_toplevel.jl:34
`
So I tried overwriting libmedx509.dll, but that lead to a missing function error in libmedtls.dll:

`ERROR: LoadError: ccall: could not find function mbedtls_ssl_check_pending in li
brary C:\Users\jort.julia\packages\MbedTLS\X4xar\deps\usr\bin\libmbedtls.dll
Stacktrace:
[1] ssl_check_pending(::MbedTLS.SSLContext) at C:\Users\jort.julia\packages\Mb
edTLS\X4xar\src\ssl.jl:644
[2] wait_for_decrypted_data(::MbedTLS.SSLContext) at C:\Users\jort.julia\packa
ges\MbedTLS\X4xar\src\ssl.jl:285
[3] read_to_buffer(::HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}, ::Int
64) at C:\Users\jort.julia\packages\MbedTLS\X4xar\src\ssl.jl:178
[4] readuntil(::HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}, ::Function
, ::Int64) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\ConnectionPool.jl:226

[5] readuntil at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\ConnectionPool.jl
:224 [inlined]
[6] readheaders(::HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}, ::HTTP.M
essages.Response) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\Messages.jl:47
1
[7] startread(::HTTP.Streams.Stream{HTTP.Messages.Response,HTTP.ConnectionPool.
Transaction{MbedTLS.SSLContext}}) at C:\Users\jort.julia\packages\HTTP\wY7Vc\sr
c\Streams.jl:153
[8] macro expansion at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\StreamReque
st.jl:65 [inlined]
[9] macro expansion at .\task.jl:244 [inlined]
[10] #request#1(::Nothing, ::Nothing, ::Int64, ::Base.Iterators.Pairs{Symbol,Bo
ol,Tuple{Symbol},NamedTuple{(:basic_authorization,),Tuple{Bool}}}, ::Function, :
:Type{HTTP.StreamRequest.StreamLayer}, ::HTTP.ConnectionPool.Transaction{MbedTLS
.SSLContext}, ::HTTP.Messages.Request, ::Array{UInt8,1}) at C:\Users\jort.julia
\packages\HTTP\wY7Vc\src\StreamRequest.jl:54
[11] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction, :bas
ic_authorization),Tuple{Nothing,Bool}}, ::typeof(HTTP.request), ::Type{HTTP.Stre
amRequest.StreamLayer}, ::HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}, :
:HTTP.Messages.Request, ::Array{UInt8,1}) at .\none:0
[12] #request#1(::Nothing, ::Type, ::Int64, ::Base.Iterators.Pairs{Symbol,Union
{Nothing, Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :basic_authorizati
on),Tuple{Nothing,Bool}}}, ::Function, ::Type{HTTP.ConnectionRequest.ConnectionP
oolLayer{HTTP.StreamRequest.StreamLayer}}, ::HTTP.URIs.URI, ::HTTP.Messages.Requ
est, ::Array{UInt8,1}) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\Connectio
nRequest.jl:56
[13] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction, :bas
ic_authorization),Tuple{Nothing,Bool}}, ::typeof(HTTP.request), ::Type{HTTP.Conn
ectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}, ::HTTP.URIs.
URI, ::HTTP.Messages.Request, ::Array{UInt8,1}) at .\none:0
[14] #request#1(::Base.Iterators.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol
,Symbol},NamedTuple{(:iofunction, :basic_authorization),Tuple{Nothing,Bool}}}, :
:Function, ::Type{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.Co
nnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}, ::HTTP.URIs.URI, ::Vararg{A
ny,N} where N) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\ExceptionRequest.
jl:19
[15] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction, :bas
ic_authorization),Tuple{Nothing,Bool}}, ::typeof(HTTP.request), ::Type{HTTP.Exce
ptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.Stre
amRequest.StreamLayer}}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::Array{UInt
8,1}) at .\none:0
[16] (::getfield(Base, Symbol("###44#45#46")){ExponentialBackOff,getfield(HTTP.
RetryRequest, Symbol("##2#3")){Bool,HTTP.Messages.Request},typeof(HTTP.request)}
)(::Base.Iterators.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol,Symbol},NamedT
uple{(:iofunction, :basic_authorization),Tuple{Nothing,Bool}}}, ::Function, ::Ty
pe, ::Vararg{Any,N} where N) at .\error.jl:203
[17] #request#1(::VersionNumber, ::String, ::Nothing, ::Nothing, ::Base.Iterato
rs.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:basic_authorization,),Tuple{Bool
}}}, ::Function, ::Type{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.Retry
Layer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPool
Layer{HTTP.StreamRequest.StreamLayer}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pa
ir{SubString{String},SubString{String}},1}, ::Array{UInt8,1}) at .\none:0
[18] #request at .\none:0 [inlined]
[19] #request#1(::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:b
asic_authorization,),Tuple{Bool}}}, ::Function, ::Type{HTTP.BasicAuthRequest.Bas
icAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.E
xceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.S
treamRequest.StreamLayer}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubStrin
g{String},SubString{String}},1}, ::Array{UInt8,1}) at C:\Users\jort.julia\packa
ges\HTTP\wY7Vc\src\BasicAuthRequest.jl:28
[20] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:basic_authorizat
ion,),Tuple{Bool}}, ::typeof(HTTP.request), ::Type{HTTP.BasicAuthRequest.BasicAu
thLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.Excep
tionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.Strea
mRequest.StreamLayer}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{St
ring},SubString{String}},1}, ::Array{UInt8,1}) at .\none:0
[21] #request#1(::Int64, ::Bool, ::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbo
l},NamedTuple{(:basic_authorization,),Tuple{Bool}}}, ::Function, ::Type{HTTP.Red
irectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequ
est.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLay
er{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}
}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}
},1}, ::Array{UInt8,1}) at C:\Users\jort.julia\packages\HTTP\wY7Vc\src\Redirect
Request.jl:24
[22] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:basic_authorizat
ion,),Tuple{Bool}}, ::typeof(HTTP.request), ::Type{HTTP.RedirectRequest.Redirect
Layer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP
.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionReq
uest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}}}}, ::String, ::HTTP
.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1
}) at .\none:0
[23] #request#5(::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:b
asic_authorization,),Tuple{Bool}}}, ::Function, ::String, ::HTTP.URIs.URI, ::Arr
ay{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}) at C:\Users\j
ort.julia\packages\HTTP\wY7Vc\src\HTTP.jl:300
[24] updateCRFversions(::String, ::String, ::String, ::String, ::String, ::Stri
ng, ::String, ::String) at .\none:0
[25] updatestudy(::Array{String,1}) at D:\julia_programs\odm\rave_current_produ
ction\update_study_toplevel.jl:26
[26] top-level scope at none:0
[27] include at .\boot.jl:317 [inlined]
[28] include_relative(::Module, ::String) at .\loading.jl:1044
[29] include(::Module, ::String) at .\sysimg.jl:29
[30] exec_options(::Base.JLOptions) at .\client.jl:266
[31] _start() at .\client.jl:425
in expression starting at D:\julia_programs\odm\rave_current_production\update_s
tudy_toplevel.jl:34
`
One last thing - on removing/deleting MbedTLS and then adding the package back in, I notice the build.log file has a warning:

┌ Warning: platform_key() is deprecated, use platform_key_abi() from now on │ caller = ip:0x0 └ @ Core :-1 [ Info: Downloading https://github.com/JuliaWeb/MbedTLSBuilder/releases/download/v0.16.0/MbedTLS.v2.13.1.x86_64-w64-mingw32.tar.gz to C:\Users\jort\.julia\packages\MbedTLS\X4xar\deps\usr\downloads\MbedTLS.v2.13.1.x86_64-w64-mingw32.tar.gz... [ Info: using prebuilt binaries

I realize I've not given you a lot to work with here, but I am dead in the water @ the moment, and I'm hoping the error points you to something obvious (to you, not to me).

@jkort
Copy link
Author

jkort commented Jun 4, 2019

Sorry, not sure what I did, but I seem to have been mistaken about this working in the REPL. Get that same sslconnection error. Which I guess is better, at least things are consistently broken for me.

@jkort
Copy link
Author

jkort commented Jun 5, 2019

I moved everything to Linux, and having no problem. Should've done that a long time ago. I hope you can find a fix for those stuck w/ Windows.

@anj00
Copy link

anj00 commented Jul 23, 2019

I seem to have a similar problem and a 4 line test code (although it is a combination of AWS and FTPClient to get HTTP problem triggered) bug in AWSS3

@haavardhvarnes
Copy link

haavardhvarnes commented Sep 7, 2019

Believe I have the same error:
ERROR: LoadError: error compiling #sslconnection#18: error compiling Type: could not load library "C:\Users\hvarnhav.julia\packages\MbedTLS\X4xar\deps\usr\bin\libmbedtls.dll"
The specified procedure could not be found.

I have checked that the dll is in this folder.

@quinnj
Copy link
Member

quinnj commented Dec 7, 2019

Fixed my ensuring the libmbedtls library used by Julia version & MbedTLS.jl version is the same.

@quinnj quinnj closed this as completed Dec 7, 2019
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

No branches or pull requests

4 participants