Iβm using Julia 1.9.4
binaries from AUR (en) - julia-bin
GR version v0.72.10
WebIO version v0.8.21
Mux version v1.0.1
Trying to make an interactif plot following the Mux example here: How to make dynamic plots with slider bars - #4 by ericphanson
Everything succeeds but when I open the browser window I get the plot, but not interactive since the websocket connection seems to be broken. I get this error in the terminal (pretty long, but I think the relevant info is at the beginning):
julia> /home/hugo/.julia/artifacts/7f59a0ec3d19c98dce30a3ba8ea9cbd8824ce4a6/bin/gksqt: /usr/bin/../lib/julia/libcurl.so.4: version `CURL_OPENSSL_4' not found (required by /usr/lib/libproxy/libpxbackend-1.0.so)
connect: Connexion refusΓ©e
GKS: can't connect to GKS socket application
GKS: Open failed in routine OPEN_WS
GKS: GKS not in proper state. GKS must be either in the state WSOP or WSAC in routine ACTIVATE_WS
Error handling websocket connection:
TaskFailedException
Stacktrace:
[1] wait
@ ./task.jl:349 [inlined]
[2] create_socket(req::Dict{Any, Any})
@ WebIO ~/.julia/packages/WebIO/8Xm9p/src/providers/mux.jl:47
[3] (::Mux.var"#5#6"{Mux.var"#29#30"{Vector{SubString{String}}}, typeof(WebIO.create_socket)})(f::Function, x::Dict{Any, Any})
@ Mux ~/.julia/packages/Mux/PipQ9/src/Mux.jl:17
[4] (::Mux.var"#1#2"{Mux.var"#5#6"{Mux.var"#29#30"{Vector{SubString{String}}}, typeof(WebIO.create_socket)}, Mux.var"#1#2"{typeof(Mux.wclose), Mux.var"#1#2"{Mux.var"#19#20"{Mux.var"#23#24"{Symbol, Int64}}, Mux.var"#21#22"{String}}}})(x::Dict{Any, Any})
@ Mux ~/.julia/packages/Mux/PipQ9/src/Mux.jl:10
[5] splitquery(app::Mux.var"#1#2"{Mux.var"#5#6"{Mux.var"#29#30"{Vector{SubString{String}}}, typeof(WebIO.create_socket)}, Mux.var"#1#2"{typeof(Mux.wclose), Mux.var"#1#2"{Mux.var"#19#20"{Mux.var"#23#24"{Symbol, Int64}}, Mux.var"#21#22"{String}}}}, req::Dict{Any, Any})
@ Mux ~/.julia/packages/Mux/PipQ9/src/basics.jl:31
[6] #1
@ ~/.julia/packages/Mux/PipQ9/src/Mux.jl:10 [inlined]
[7] wcatch(app::Mux.var"#1#2"{typeof(Mux.splitquery), Mux.var"#1#2"{Mux.var"#5#6"{Mux.var"#29#30"{Vector{SubString{String}}}, typeof(WebIO.create_socket)}, Mux.var"#1#2"{typeof(Mux.wclose), Mux.var"#1#2"{Mux.var"#19#20"{Mux.var"#23#24"{Symbol, Int64}}, Mux.var"#21#22"{String}}}}}, req::Dict{Any, Any})
@ Mux ~/.julia/packages/Mux/PipQ9/src/websockets_integration.jl:11
[8] #1
@ ~/.julia/packages/Mux/PipQ9/src/Mux.jl:10 [inlined]
[9] todict
@ ~/.julia/packages/Mux/PipQ9/src/basics.jl:25 [inlined]
[10] #3 (repeats 2 times)
@ ~/.julia/packages/Mux/PipQ9/src/Mux.jl:14 [inlined]
[11] (::Mux.var"#1#2"{Mux.var"#3#4"{Mux.var"#3#4"{typeof(Mux.todict), typeof(Mux.wcatch)}, typeof(Mux.splitquery)}, Mux.var"#1#2"{Mux.var"#5#6"{Mux.var"#29#30"{Vector{SubString{String}}}, typeof(WebIO.create_socket)}, Mux.var"#1#2"{typeof(Mux.wclose), Mux.var"#1#2"{Mux.var"#19#20"{Mux.var"#23#24"{Symbol, Int64}}, Mux.var"#21#22"{String}}}}})(x::HTTP.WebSockets.WebSocket)
@ Mux ~/.julia/packages/Mux/PipQ9/src/Mux.jl:10
[12] (::Mux.var"#9#10"{Mux.App})(sock::HTTP.WebSockets.WebSocket)
@ Mux ~/.julia/packages/Mux/PipQ9/src/server.jl:48
[13] upgrade(f::Mux.var"#9#10"{Mux.App}, 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{}}})
β Error: handle_connection handler error.
β
β ===========================
β HTTP Error message:
β
β ERROR: IOError: write: broken pipe (EPIPE)
β Stacktrace:
β [1] uv_write(s::Sockets.TCPSocket, p::Ptr{UInt8}, n::UInt64)
β @ Base ./stream.jl:1066
β [2] unsafe_write(s::Sockets.TCPSocket, p::Ptr{UInt8}, n::UInt64)
β @ Base ./stream.jl:1120
β [3] unsafe_write
β @ ~/.julia/packages/HTTP/bDoga/src/Connections.jl:129 [inlined]
β [4] write
β @ ./strings/io.jl:244 [inlined]
β [5] write
β @ ./io.jl:676 [inlined]
β [6] unsafe_write(http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.Connections.Connection{Sockets.TCPSocket}}, p::Ptr{UInt8}, n::UInt64)
β @ HTTP.Streams ~/.julia/packages/HTTP/bDoga/src/Streams.jl:95
β [7] write
β @ ./strings/io.jl:244 [inlined]
β [8] write(io::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.Connections.Connection{Sockets.TCPSocket}}, s::Base.CodeUnits{UInt8, String})
β @ Base ./strings/basic.jl:761
β [9] (::HTTP.Handlers.var"#1#2"{Mux.var"#7#8"{Mux.App}})(stream::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.Connections.Connection{Sockets.TCPSocket}})
β @ HTTP.Handlers ~/.julia/packages/HTTP/bDoga/src/Handlers.jl:61
β [10] (::Mux.var"#14#15"{Mux.App, Mux.App})(http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.Connections.Connection{Sockets.TCPSocket}})
β @ Mux ~/.julia/packages/Mux/PipQ9/src/server.jl:83
β [11] #invokelatest#2
β @ ./essentials.jl:819 [inlined]
β [12] invokelatest
β @ ./essentials.jl:816 [inlined]
β [13] 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
β [14] macro expansion
β @ ~/.julia/packages/HTTP/bDoga/src/Servers.jl:386 [inlined]
β [15] (::HTTP.Servers.var"#16#17"{Mux.var"#14#15"{Mux.App, Mux.App}, HTTP.Servers.Listener{Nothing, Sockets.TCPServer}, Set{HTTP.Connections.Connection}, Int64, Nothing, Base.Semaphore, HTTP.Connections.Connection{Sockets.TCPSocket}})()
β @ HTTP.Servers ./task.jl:514
β @ HTTP.Servers ~/.julia/packages/HTTP/bDoga/src/Servers.jl:465
@ HTTP.WebSockets ~/.julia/packages/HTTP/bDoga/src/WebSockets.jl:440
[14] upgrade
@ ~/.julia/packages/HTTP/bDoga/src/WebSockets.jl:420 [inlined]
[15] (::Mux.var"#14#15"{Mux.App, Mux.App})(http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.Connections.Connection{Sockets.TCPSocket}})
@ Mux ~/.julia/packages/Mux/PipQ9/src/server.jl:81
[16] #invokelatest#2
@ ./essentials.jl:819 [inlined]
[17] invokelatest
@ ./essentials.jl:816 [inlined]
[18] 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
[19] macro expansion
@ ~/.julia/packages/HTTP/bDoga/src/Servers.jl:386 [inlined]
[20] (::HTTP.Servers.var"#16#17"{Mux.var"#14#15"{Mux.App, Mux.App}, HTTP.Servers.Listener{Nothing, Sockets.TCPServer}, Set{HTTP.Connections.Connection}, Int64, Nothing, Base.Semaphore, HTTP.Connections.Connection{Sockets.TCPSocket}})()
@ HTTP.Servers ./task.jl:514
nested task error: MethodError: no method matching isopen(::HTTP.WebSockets.WebSocket)
Closest candidates are:
isopen(::Union{Base.DevNull, Core.CoreSTDERR, Core.CoreSTDOUT})
@ Base coreio.jl:24
isopen(::Union{Base.AsyncCondition, Timer})
@ Base asyncevent.jl:160
isopen(::Channel)
@ Base channels.jl:214
...
Stacktrace:
[1] (::WebIO.var"#98#99"{WebIO.WebSockConnection, HTTP.WebSockets.WebSocket})()
The error seems to come from gksqt, but when searching βgksqtβ, Iβm mostly seeing Julia+GR related issues and no clue how to fix this.
Iβm opening this thread to get help to better understand the problem and maybe fix it ^^
other topics on the forum: