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

Pluto disconnects the running process due to ECONNRESET error #2796

Closed
eladfisher opened this issue Jan 29, 2024 · 1 comment
Closed

Pluto disconnects the running process due to ECONNRESET error #2796

eladfisher opened this issue Jan 29, 2024 · 1 comment

Comments

@eladfisher
Copy link

Hi, my notebook crashes when running heavy computation, after several hours, it happened several times already, but it isn't consistent, and i could not reliably reproduce the error.

the stack trace is (with the warnings that printed with the crash itself):
┌ Warning: Response function to message of type :reshow_cell failed
└ @ Pluto ~/.julia/packages/Pluto/KkVLI/src/webserver/WebServer.jl:410
┌ Warning: Processing message failed for unknown reason:
│ parentbody =
│ Dict{Any, Any} with 5 entries:
│ "client_id" => "1r2oekw"
│ "body" => Dict{Any, Any}("cell_id"=>"adsf", "dim"=>1, "objectid"=>"1ccd8a135dce7d5a")
│ "request_id" => "15rxj4m"
│ "notebook_id" => "fe129314-bdad-11ee-0302-b164498ec3b1"
│ "type" => "reshow_cell"
│ exception =
│ ArgumentError: Malformed UUID string: "adsf"
│ Stacktrace:
│ [1] (::Base.var"#throw_malformed_uuid#934")(s::String)
│ @ Base ./uuid.jl:80
│ [2] parse
│ @ ./uuid.jl:83 [inlined]
│ [3] Base.UUID(s::String)
│ @ Base ./uuid.jl:87
│ [4] response_reshow_cell(🙋::Pluto.ClientRequest)
│ @ Pluto ~/.julia/packages/Pluto/KkVLI/src/webserver/Dynamic.jl:513
│ [5] process_ws_message(session::Pluto.ServerSession, parentbody::Dict{Any, Any}, clientstream::HTTP.WebSockets.WebSocket)
│ @ Pluto ~/.julia/packages/Pluto/KkVLI/src/webserver/WebServer.jl:408
│ [6] (::Pluto.var"#431#441"{Pluto.ServerSession})(clientstream::HTTP.WebSockets.WebSocket)
│ @ Pluto ~/.julia/packages/Pluto/KkVLI/src/webserver/WebServer.jl:215
│ [7] upgrade(f::Pluto.var"#431#441"{Pluto.ServerSession}, http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.Connections.Connection{Sockets.TCPSocket}}; suppress_close_error::Bool, maxframesize::Int64, maxfragmentation::Int64, kw::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
│ @ HTTP.WebSockets ~/.julia/packages/HTTP/bDoga/src/WebSockets.jl:440
│ [8] upgrade
│ @ ~/.julia/packages/HTTP/bDoga/src/WebSockets.jl:420 [inlined]
│ [9] (::Pluto.var"#430#440"{Pluto.ServerSession, Pluto.var"#327#329"{Pluto.var"#330#332"{HTTP.Handlers.Router{typeof(Pluto.default_404), typeof(HTTP.Handlers.default405), Nothing}}, Pluto.ServerSession}})(http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.Connections.Connection{Sockets.TCPSocket}})
│ @ Pluto ~/.julia/packages/Pluto/KkVLI/src/webserver/WebServer.jl:196
│ [10] #invokelatest#2
│ @ ./essentials.jl:819 [inlined]
│ [11] invokelatest
│ @ ./essentials.jl:816 [inlined]
│ [12] handle_connection(f::Function, c::HTTP.Connections.Connection{Sockets.TCPSocket}, listener::HTTP.Servers.Listener{Nothing, Sockets.TCPServer}, readtimeout::Int64, access_log::Nothing)
│ @ HTTP.Servers ~/.julia/packages/HTTP/bDoga/src/Servers.jl:450
│ [13] macro expansion
│ @ ~/.julia/packages/HTTP/bDoga/src/Servers.jl:386 [inlined]
│ [14] (::HTTP.Servers.var"#16#17"{Pluto.var"#430#440"{Pluto.ServerSession, Pluto.var"#327#329"{Pluto.var"#330#332"{HTTP.Handlers.Router{typeof(Pluto.default_404), typeof(HTTP.Handlers.default405), Nothing}}, Pluto.ServerSession}}, HTTP.Servers.Listener{Nothing, Sockets.TCPServer}, Set{HTTP.Connections.Connection}, Int64, Nothing, Base.Semaphore, HTTP.Connections.Connection{Sockets.TCPSocket}})()
│ @ HTTP.Servers ./task.jl:514
└ @ Pluto ~/.julia/packages/Pluto/KkVLI/src/webserver/WebServer.jl:222
Worker 4 terminated.
Unhandled Task ERROR: IOError: read: connection reset by peer (ECONNRESET)
Stacktrace:
[1] wait_readnb(x::Sockets.TCPSocket, nb::Int64)
@ Base ./stream.jl:410
[2] (::Base.var"#wait_locked#715")(s::Sockets.TCPSocket, buf::IOBuffer, nb::Int64)
@ Base ./stream.jl:949
[3] unsafe_read(s::Sockets.TCPSocket, p::Ptr{UInt8}, nb::UInt64)
@ Base ./stream.jl:955
[4] unsafe_read
@ ./io.jl:761 [inlined]
[5] unsafe_read(s::Sockets.TCPSocket, p::Base.RefValue{NTuple{4, Int64}}, n::Int64)
@ Base ./io.jl:760
[6] read!
@ ./io.jl:762 [inlined]
[7] deserialize_hdr_raw
@ ~/julia-1.9.4/share/julia/stdlib/v1.9/Distributed/src/messages.jl:167 [inlined]
[8] message_handler_loop(r_stream::Sockets.TCPSocket, w_stream::Sockets.TCPSocket, incoming::Bool)
@ Distributed ~/julia-1.9.4/share/julia/stdlib/v1.9/Distributed/src/process_messages.jl:172
[9] process_tcp_streams(r_stream::Sockets.TCPSocket, w_stream::Sockets.TCPSocket, incoming::Bool)
@ Distributed ~/julia-1.9.4/share/julia/stdlib/v1.9/Distributed/src/process_messages.jl:133
[10] (::Distributed.var"#103#104"{Sockets.TCPSocket, Sockets.TCPSocket, Bool})()
@ Distributed ./task.jl:514

unfortunately, i can't reproduce or give a minimal working example, so i don't have much to add to the stack trace, i tried to update Pluto to v0.19.36 from # v0.19.32, but it didn't fix the problem, also the same notebook worked before, so i don't think it something that i did.

@fonsp
Copy link
Owner

fonsp commented Jan 29, 2024

The first two warnings are unrelated.

The final error message just says that the notebook process crashed. This could be because it ran out of memory. Did you also run the same computation outside of Pluto? You could try to run include("my_notebook_file.jl") in a REPL?

@fonsp fonsp closed this as not planned Won't fix, can't repro, duplicate, stale Aug 10, 2024
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