Documenter makedocs() failing to build locally

Hi Guys :slightly_smiling_face:

I’m trying to update the docs for a new package release, but makedocs() won’t build the HTML files locally. There is only a minor edit to the text in the new documentation and no change to the make.jl file, but for some reason it won’t work. :roll_eyes:
I’ve tried to run make.jl with different documenter versions, but the REPL crashes each time when expanding templates…

What is really weird is that the documentation was built successfully by JuliaHub when the new package was tagged. So if the docs can be built by JuliaHub, then it should be posssible to build them locally too, right? :man_shrugging:t2:

When I interrupt the execution of make.jl it appears that everything is hanging on one function that uses HTTP.jl:

> Stacktrace:
>  [1] try_yieldto(::typeof(Base.ensure_rescheduled)) at .\task.jl:656
>  [2] wait at .\task.jl:713 [inlined]
>  [3] uv_write(::Sockets.TCPSocket, ::Ptr{UInt8}, ::UInt64) at .\stream.jl:933
>  [4] unsafe_write(::Sockets.TCPSocket, ::Ptr{UInt8}, ::UInt64) at .\stream.jl:1005
>  [5] f_send(::Ptr{Nothing}, ::Ptr{UInt8}, ::UInt64) at C:\Users\Me\.julia\packages\MbedTLS\4YY6E\src\ssl.jl:263
>  [6] ssl_write(::MbedTLS.SSLContext, ::Ptr{UInt8}, ::UInt64) at C:\Users\Me\.julia\packages\MbedTLS\4YY6E\src\ssl.jl:714
>  [7] ssl_unsafe_write(::MbedTLS.SSLContext, ::Ptr{UInt8}, ::UInt64) at C:\Users\Me\.julia\packages\MbedTLS\4YY6E\src\ssl.jl:233
>  [8] unsafe_write at C:\Users\Me\.julia\packages\MbedTLS\4YY6E\src\ssl.jl:405 [inlined]
>  [9] unsafe_write at C:\Users\Me\.julia\packages\HTTP\IAI92\src\ConnectionPool.jl:171 [inlined]
>  [10] unsafe_write at .\io.jl:622 [inlined]
>  [11] write at .\io.jl:645 [inlined]
>  [12] startwrite(::HTTP.Streams.Stream{HTTP.Messages.Response,HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\Streams.jl:87
>  [13] request(::Type{HTTP.StreamRequest.StreamLayer{Union{}}}, ::HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}, ::HTTP.Messages.Request, ::Array{UInt8,1}; reached_redirect_limit::Bool, response_stream::Nothing, iofunction::Nothing, verbose::Int64, kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\StreamRequest.jl:37
>  [14] request(::Type{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::Array{UInt8,1}; proxy::Nothing, socket_type::Type{T} where T, reuse_limit::Int64, kw::Base.Iterators.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :reached_redirect_limit),Tuple{Nothing,Bool}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\ConnectionRequest.jl:96
>  [15] request(::Type{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}, ::HTTP.URIs.URI, ::Vararg{Any,N} where N; kw::Base.Iterators.Pairs{Symbol,Union{Nothing, Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :reached_redirect_limit),Tuple{Nothing,Bool}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\ExceptionRequest.jl:19
>  [16] (::Base.var"#56#58"{Base.var"#56#57#59"{ExponentialBackOff,HTTP.RetryRequest.var"#2#3"{Bool,HTTP.Messages.Request},typeof(HTTP.request)}})(::Type{T} where T, ::Vararg{Any,N} where N; kwargs::Base.Iterators.Pairs{Symbol,Union{Nothing, 
> Bool},Tuple{Symbol,Symbol},NamedTuple{(:iofunction, :reached_redirect_limit),Tuple{Nothing,Bool}}}) at .\error.jl:288
>  [17] #request#1 at C:\Users\Me\.julia\packages\HTTP\IAI92\src\RetryRequest.jl:44 [inlined]
>  [18] request(::Type{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}; http_version::VersionNumber, target::String, parent::Nothing, iofunction::Nothing, kw::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:reached_redirect_limit,),Tuple{Bool}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\MessageRequest.jl:51
>  [19] request(::Type{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}; kw::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:reached_redirect_limit,),Tuple{Bool}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\BasicAuthRequest.jl:28
>  [20] request(::Type{HTTP.RedirectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}; redirect_limit::Int64, forwardheaders::Bool, kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\RedirectRequest.jl:24
>  [21] request(::Type{HTTP.RedirectRequest.RedirectLayer{HTTP.BasicAuthRequest.BasicAuthLayer{HTTP.MessageRequest.MessageLayer{HTTP.RetryRequest.RetryLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer{Union{}}}}}}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\RedirectRequest.jl:21
>  [22] request(::String, ::String, ::Array{Pair{SubString{String},SubString{String}},1}, ::Array{UInt8,1}; headers::Array{Pair{SubString{String},SubString{String}},1}, body::Array{UInt8,1}, query::Nothing, kw::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at C:\Users\Me\.julia\packages\HTTP\IAI92\src\HTTP.jl:314
>  [23] request at C:\Users\Me\.julia\packages\HTTP\IAI92\src\HTTP.jl:314 [inlined] (repeats 2 times)
>  [24] #get#12 at C:\Users\Me\.julia\packages\HTTP\IAI92\src\HTTP.jl:391 [inlined]
>  [25] get at C:\Users\Me\.julia\packages\HTTP\IAI92\src\HTTP.jl:391 [inlined]
>  [26] ExampleData(::String) at c:\Users\Me\Files\EntropyHub\src\_ExampleData.jl:17
>  [27] top-level scope at none:1

The one function that uses HTTP.jl is not referenced in the docs or used in any docs example blocks, so I can’t understand why this issue is arising? :thinking:

Any help on this issue would be greatly appreciated :pray:t2: :innocent:
Thanks a mil! :blush: