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

Broken pipe #4

Open
omus opened this issue Sep 11, 2018 · 5 comments
Open

Broken pipe #4

omus opened this issue Sep 11, 2018 · 5 comments

Comments

@omus
Copy link
Contributor

omus commented Sep 11, 2018

On Julia 0.6.4 and CloudWatchLogs 0.1.0 after running for around 14 minutes I got the following warning:

[warn | CloudWatchLogs]: connect: broken pipe (EPIPE)
try_yieldto(::Base.##298#299{Task}, ::Task) at ./event.jl:189
wait() at ./event.jl:234
wait(::Condition) at ./event.jl:27
stream_wait(::TCPSocket, ::Condition, ::Vararg{Condition,N} where N) at ./stream.jl:42
wait_connected(::TCPSocket) at ./stream.jl:258
connect at ./stream.jl:983 [inlined]
connect(::IPv4, ::UInt64) at ./socket.jl:742
#getconnection#14(::Bool, ::Int64, ::Array{Any,1}, ::Function, ::Type{TCPSocket}, ::SubString{String}, ::String) at /root/.julia/v0.6/HTTP/src/ConnectionPool.jl:548
(::HTTP.ConnectionPool.#kw##getconnection)(::Array{Any,1}, ::HTTP.ConnectionPool.#getconnection, ::Type{TCPSocket}, ::SubString{String}, ::String) at ./<missing>:0
#getconnection#17(::Array{Any,1}, ::Function, ::Type{MbedTLS.SSLContext}, ::SubString{String}, ::SubString{String}) at /root/.julia/v0.6/HTTP/src/ConnectionPool.jl:612
(::HTTP.ConnectionPool.#kw##getconnection)(::Array{Any,1}, ::HTTP.ConnectionPool.#getconnection, ::Type{MbedTLS.SSLContext}, ::SubString{String}, ::SubString{String}) at ./<missing>:0
#getconnection#11(::Int64, ::Int64, ::Int64, ::Int64, ::Bool, ::Array{Any,1}, ::Function, ::Type{HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}}, ::SubString{String}, ::SubString{String}) at /root/.julia/v0.6/HTTP/src/ConnectionPool.jl:497
(::HTTP.ConnectionPool.#kw##getconnection)(::Array{Any,1}, ::HTTP.ConnectionPool.#getconnection, ::Type{HTTP.ConnectionPool.Transaction{MbedTLS.SSLContext}}, ::SubString{String}, ::SubString{String}) at ./<missing>:0
#request#1(::Void, ::Type{T} where T, ::Array{Any,1}, ::Function, ::Type{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::String) at /root/.julia/v0.6/HTTP/src/ConnectionRequest.jl:38
(::HTTP.#kw##request)(::Array{Any,1}, ::HTTP.#request, ::Type{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::String) at ./<missing>:0
#request#1(::Array{Any,1}, ::Function, ::Type{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}, ::HTTP.URIs.URI, ::Vararg{Any,N} where N) at /root/.julia/v0.6/HTTP/src/ExceptionRequest.jl:19
(::HTTP.#kw##request)(::Array{Any,1}, ::HTTP.#request, ::Type{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}, ::HTTP.URIs.URI, ::HTTP.Messages.Request, ::String) at ./<missing>:0
#request#1(::VersionNumber, ::String, ::Void, ::Void, ::Array{Any,1}, ::Function, ::Type{HTTP.MessageRequest.MessageLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::String) at /root/.julia/v0.6/HTTP/src/MessageRequest.jl:45
(::HTTP.#kw##request)(::Array{Any,1}, ::HTTP.#request, ::Type{HTTP.MessageRequest.MessageLayer{HTTP.ExceptionRequest.ExceptionLayer{HTTP.ConnectionRequest.ConnectionPoolLayer{HTTP.StreamRequest.StreamLayer}}}}, ::String, ::HTTP.URIs.URI, ::Array{Pair{SubString{String},SubString{String}},1}, ::String) at ./<missing>:0
macro expansion at /root/.julia/v0.6/AWSCore/src/http.jl:36 [inlined]
macro expansion at /root/.julia/v0.6/Retry/src/repeat_try.jl:206 [inlined]
http_request(::Dict{Symbol,Any}) at /root/.julia/v0.6/AWSCore/src/http.jl:20
macro expansion at /root/.julia/v0.6/AWSCore/src/AWSCore.jl:421 [inlined]
macro expansion at /root/.julia/v0.6/Retry/src/repeat_try.jl:206 [inlined]
do_request(::Dict{Symbol,Any}) at /root/.julia/v0.6/AWSCore/src/AWSCore.jl:399
#service_json#8(::Array{Any,1}, ::Function, ::Dict{Symbol,Any}) at /root/.julia/v0.6/AWSCore/src/AWSCore.jl:263
(::AWSCore.#kw##service_json)(::Array{Any,1}, ::AWSCore.#service_json, ::Dict{Symbol,Any}) at ./<missing>:0
(::AWSSDK.CloudWatchLogs.#kw##put_log_events)(::Array{Any,1}, ::AWSSDK.CloudWatchLogs.#put_log_events, ::Dict{Symbol,Any}) at ./<missing>:0
(::CloudWatchLogs.##9#17{CloudWatchLogs.CloudWatchLogStream,Array{CloudWatchLogs.LogEvent,1}})() at /root/.julia/v0.6/CloudWatchLogs/src/stream.jl:251
(::Base.###49#50#52{ExponentialBackOff,CloudWatchLogs.#retry_cond#13{CloudWatchLogs.CloudWatchLogStream},CloudWatchLogs.##9#17{CloudWatchLogs.CloudWatchLogStream,Array{CloudWatchLogs.LogEvent,1}}})(::Array{Any,1}, ::Function) at ./error.jl:139
submit_logs(::CloudWatchLogs.CloudWatchLogStream, ::Array{CloudWatchLogs.LogEvent,1}) at /root/.julia/v0.6/CloudWatchLogs/src/stream.jl:257
process_available_logs!(::CloudWatchLogs.CloudWatchLogHandler{Memento.DefaultFormatter}) at /root/.julia/v0.6/CloudWatchLogs/src/handler.jl:72
process_logs!(::CloudWatchLogs.CloudWatchLogHandler{Memento.DefaultFormatter}) at /root/.julia/v0.6/CloudWatchLogs/src/handler.jl:93
(::CloudWatchLogs.##21#22{CloudWatchLogs.CloudWatchLogHandler{Memento.DefaultFormatter}})() at ./event.jl:73
@iamed2
Copy link
Member

iamed2 commented Sep 11, 2018

Hmm I feel like this should be handled by HTTP.jl but I guess I can add a retry for it

@iamed2
Copy link
Member

iamed2 commented Sep 11, 2018

This will be handled by HTTP.jl on Julia 0.7+ because UVError became just a regular IOError. For now I'll manually handle it but add a comment saying we can remove it later. Contributing back to HTTP.jl or AWSCore.jl is not possible as both have dropped 0.6, and HTTP.jl did it in a patch version...

This is going to be annoying if it happens anywhere else.

@iamed2
Copy link
Member

iamed2 commented Sep 11, 2018

Never mind, they don't actually wrap this error in an HTTP.IOError.

@iamed2
Copy link
Member

iamed2 commented Sep 25, 2018

This is fixed on HTTP and backported to a 0.6-compatible release

@iamed2 iamed2 closed this as completed Sep 25, 2018
@omus
Copy link
Contributor Author

omus commented Nov 13, 2018

Issues seems to still be occurring. Re-opening so it is easier to discover.

@omus omus reopened this Nov 13, 2018
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

2 participants