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

IOError: stream is closed or unusable #80

Closed
mariok90 opened this issue Dec 23, 2020 · 4 comments
Closed

IOError: stream is closed or unusable #80

mariok90 opened this issue Dec 23, 2020 · 4 comments

Comments

@mariok90
Copy link

I started to experiment with Dash.jl and tried to run the examples. When I run

app = dash(external_stylesheets = ["https://codepen.io/chriddyp/pen/bWLwgP.css"])

app.layout = html_div() do
    dcc_input(id = "my-id", value="initial value", type = "text"),
    html_div(id = "my-div")
end

callback!(app, Output("my-div", "children"), Input("my-id", "value")) do input_value
    "You've entered $(input_value)"
end

run_server(app)

I can load the page and the plot is displayed but the REPL shows an error message:

[ Info: Listening on: 127.0.0.1:8050
┌ Error: error handling request
│   exception =
│    IOError: stream is closed or unusable
│    Stacktrace:
│     [1] check_open at .\stream.jl:328 [inlined]
│     [2] uv_write_async(::Sockets.TCPSocket, ::Ptr{UInt8}, ::UInt64) at .\stream.jl:959
│     [3] uv_write(::Sockets.TCPSocket, ::Ptr{UInt8}, ::UInt64) at .\stream.jl:922     
│     [4] unsafe_write(::Sockets.TCPSocket, ::Ptr{UInt8}, ::UInt64) at .\stream.jl:1005│     [5] unsafe_write at C:\Users\Mario\.julia\packages\HTTP\IAI92\src\ConnectionPool.jl:171 [inlined]
│     [6] unsafe_write at .\io.jl:622 [inlined]
│     [7] write at .\io.jl:645 [inlined]
│     [8] startwrite(::HTTP.Streams.Stream{HTTP.Messages.Request,HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}) at C:\Users\Mario\.julia\packages\HTTP\IAI92\src\Streams.jl:87
│     [9] handle(::HTTP.Handlers.RequestHandlerFunction{Dash.HttpHelpers.var"#4#5"{Array{String,1},Int64,HTTP.Handlers.RequestHandlerFunction{Dash.HttpHelpers.var"#7#8"{Dash.var"#65#67"{Dash.DashApp},HTTP.Handlers.RequestHandlerFunction{Dash.HttpHelpers.var"#1#2"{Dash.HttpHelpers.Router,Dash.HandlerState}}}}}}, ::HTTP.Streams.Stream{HTTP.Messages.Request,HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}) at C:\Users\Mario\.julia\packages\HTTP\IAI92\src\Handlers.jl:278
│     [10] #4 at C:\Users\Mario\.julia\packages\HTTP\IAI92\src\Handlers.jl:345 [inlined]
│     [11] macro expansion at C:\Users\Mario\.julia\packages\HTTP\IAI92\src\Servers.jl:367 [inlined]
│     [12] (::HTTP.Servers.var"#13#14"{HTTP.Handlers.var"#4#5"{HTTP.Handlers.RequestHandlerFunction{Dash.HttpHelpers.var"#4#5"{Array{String,1},Int64,HTTP.Handlers.RequestHandlerFunction{Dash.HttpHelpers.var"#7#8"{Dash.var"#65#67"{Dash.DashApp},HTTP.Handlers.RequestHandlerFunction{Dash.HttpHelpers.var"#1#2"{Dash.HttpHelpers.Router,Dash.HandlerState}}}}}}},HTTP.ConnectionPool.Transaction{Sockets.TCPSocket},HTTP.Streams.Stream{HTTP.Messages.Request,HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}})() at .\task.jl:356└ @ HTTP.Servers C:\Users\Mario\.julia\packages\HTTP\IAI92\src\Servers.jl:373

This happens to several examples I have found. So it seems to be a generel problem with my setup/installation. However, the dashboard stays responsive and the callback still works.

In case it helps, my installed versions are:

  [1b08a953] Dash v0.1.3
  [1b08a953] DashCoreComponents v1.12.0
  [1b08a953] DashHtmlComponents v1.1.1
@rpkyle
Copy link
Contributor

rpkyle commented Dec 23, 2020

Hi @mariok90, thanks for reporting this issue. I believe it may be a duplicate of #67, which seems to be related to waralex/Dashboards.jl#18.

We previously suspected (in #67) that this issue is related to HTTP.jl, which Dash.jl relies upon. A PR was recently merged there that might address this problem.

@clarkevans
Copy link

clarkevans commented Dec 23, 2020

HTTP v0.9.2 should have this fix; and it was recently merged.

@rpkyle
Copy link
Contributor

rpkyle commented Dec 23, 2020

HTTP v0.9.2 should have this fix; and it was recently merged.

Thanks @clarkevans! I came to the same conclusion in my reply above, and @waralex is already aware too. If this does the trick, we'll likely be able to close #67 and #80.

@etpinard
Copy link
Collaborator

This issue is probably outdated. Closing.

Please open a new issue if a similar problem is found using the latest Dash.jl version.

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

4 participants