HTTP.jl leads to Error with MbedTLS libmbedx509.dll


#1

Using Julia v1.0.3 (had same error on v1.0.2) on Windows Server 2012…all packages were updated as of yesterday; specifically HTTP.jl is at v0.7.1

making an HTTP request that had worked previously, I get this error now:

ERROR: error compiling #SSLConfig#46: error compiling ca_chain!: error compiling crt_parse: could not load library “C:\Users\jort.julia\packages\MbedTLS\r1Ufc\deps\usr\bin\libmbedx509.dll”
The specified procedure could not be found.

Stacktrace:
[1] MbedTLS.SSLConfig(::Bool) at C:\Users\jort.julia\packages\MbedTLS\r1Ufc\src\MbedTLS.jl:118
[2] global_sslconfig(::Bool) at C:\Users\jort.julia\packages\HTTP\YjRCz\src\ConnectionPool.jl:624
[3] #sslconnection#18(::Bool, ::MbedTLS.SSLConfig, ::Base.Iterators.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :basic_authorization),Tuple{Nothing,Bool}}}, ::Function, ::Sockets.TCPSocket, ::SubString{String}) at C:\Users\jort.julia\packages\HTTP\YjRCz\src\ConnectionPool.jl:647
[4] #sslconnection at .\none:0 [inlined]
[5] #getconnection#17 at C:\Users\jort.julia\packages\HTTP\YjRCz\src\ConnectionPool.jl:638 [inlined]
[6] #getconnection at .\none:0 [inlined]
[7] #getconnection#11(::Int64, ::Int64, ::Int64, ::Int64, ::Bool, ::Base.Iterators.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :basic_authorization),Tuple{Nothing,Bool}}}, ::Function,
::Type{HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}}, ::SubString{String}, ::SubString{String}) at C:\Users\jort.julia\packages\HTTP\YjRCz\src\ConnectionPool.jl:522
[8] (::getfield(HTTP.ConnectionPool, Symbol("#kw##getconnection")))(::NamedTuple{(:reuse_limit, :iofunction, :basic_authorization),Tuple{Int64,Nothing,Bool}}, ::typeof(HTTP.ConnectionPool.getconnection), ::Type{HTTP.ConnectionPool.Transaction{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_authorization),Tuple{Nothing,Bool}}}, ::Function, ::Type{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::Array{UInt8,1}) at C:\Users\jort.julia\packages\HTTP\YjRCz\src\ConnectionRequest.jl:41
[10] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:iofunction, :basic_authorization),Tuple{Nothing,Bool}}, ::typeof(HTTP.request), ::Type{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::Array{UInt8,1}) at .\none:0
[11] (::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},NamedTuple{(:iofunction, :basic_authorization),Tuple{Nothing,Bool}}}, ::Function, ::Type, ::Vararg{Any,N} where N) at .\error.jl:203
[12] #request#1(::VersionNumber, ::String, ::Nothing, ::Nothing, ::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:basic_authorization,),Tuple{Bool}}}, ::Function, ::Type{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}) at .\none:0
[13] #request at .\none:0 [inlined]
[14] #request#1(::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:basic_authorization,),Tuple{Bool}}}, ::Function, ::Type{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{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\YjRCz\src\BasicAuthRequest.jl:28
[15] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:basic_authorization,),Tuple{Bool}}, ::typeof(HTTP.request), ::Type{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}) at .\none:0
[16] #request#1(::Int64, ::Bool, ::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:basic_authorization,),Tuple{Bool}}}, ::Function, ::Type{HTTP.RedirectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLaer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pir{SubString{String},SubString{String}},1}, ::Array{UInt8,1}) at C:\Users\jort.julia\packages\HTTP\YjRCz\src\RedirectRequest.jl:24
[17] (::getfield(HTTP, Symbol("#kw##request")))(::NamedTuple{(:basic_authorization,),Tuple{Bool}}, ::typeof(HTTP.request), ::Type{HTTP.RedirectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequet.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String}SubString{String}},1}, ::Array{UInt8,1}) at .\none:0
[18] #request#3(::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:basic_authorization,),Tuple{Bool}}}, ::Function, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UIn8,1}) at C:\Users\jort.julia\packages\HTTP\YjRCz\src\HTTP.jl:302
[19] updateCRFversions(::String, ::String, ::String, ::String, ::String, ::String, ::String, ::String) at .\none:0
[20] top-level scope at none:0

I notice that the libmbedx509.DLL is only 143KB under MbedTLS vs. a copy under LibCURL that is 424KB. I am blocked by company firewall from downloading DLL Export Viewer, so I cannot confirm that crt_parse is truly missing from the DLL.

Any suggestions would be greatly appreciated! This newbie is in way over his head.

Best regards,
-Jack