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

Plots.jl Example Does Not Work #2250

Closed
chetWS opened this issue Aug 23, 2022 · 1 comment
Closed

Plots.jl Example Does Not Work #2250

chetWS opened this issue Aug 23, 2022 · 1 comment

Comments

@chetWS
Copy link

chetWS commented Aug 23, 2022

Hello,

I installed the latest version of Julia and Pluto:

julia> versioninfo()
Julia Version 1.8.0
Commit 5544a0fab7 (2022-08-17 13:38 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 4 × Intel(R) Core(TM) i3 CPU 530 @ 2.93GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-13.0.1 (ORCJIT, westmere)
Threads: 1 on 4 virtual cores

Then I open up Pluto and scroll down to the Getting Started example programs that are on the home screen. I click on Plots.jl which says that it's "an introduction to Plots.jl". When I try to run it on this computer running Windows 10, it craps out giving the following long error message. For what it's worth, I get the same exact error message with the same version of Julia on a laptop running Windows 11.

Error message when trying to run the Plots.jl example in the Getting started section of the homescreen:

julia> using Pluto

julia> Pluto.run()
[ Info: Loading...
┌ Info:
└ Opening http://localhost:1234/?secret=aRu0ZsGL in your default browser... ~ have fun!
┌ Info:
│ Press Ctrl+C in this terminal to stop Pluto
└
┌ Warning: The active manifest file at `C:\Users\carasi\AppData\Local\Temp\jl_fziqY0\Manifest.toml` has an old format that is being maintained.
│ To update to the new format, which is supported by Julia versions ≥ 1.6.2, run `Pkg.upgrade_manifest()` which will upgrade the format without re-resolving.
│ To then record the julia version re-resolve with `Pkg.resolve()` and if there are resolve conflicts consider `Pkg.update()`.
└ @ Pkg.Types C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.8\Pkg\src\manifest.jl:287
┌ Warning: The active manifest file is an older format with no julia version entry. Dependencies may have been resolved with a different julia version.
└ @ C:\Users\carasi\AppData\Local\Temp\jl_fziqY0\Manifest.toml:0
┌ Warning: Response function to message of type :interrupt_all failed
└ @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:393
┌ Warning: Reading WebSocket client stream failed for unknown reason:
│   parentbody =
│    Dict{Any, Any} with 5 entries:
│      "client_id"   => "1j0turs"
│      "body"        => Dict{Any, Any}()
│      "request_id"  => "1256bvt"
│      ⋮             => ⋮
│   exception =
│    type Nothing has no field dowork_token
│    Stacktrace:
│      [1] getproperty(x::Nothing, f::Symbol)
│        @ Base .\Base.jl:38
│      [2] response_interrupt_all(🙋::Pluto.ClientRequest)
│        @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\Dynamic.jl:444
│      [3] process_ws_message(session::Pluto.ServerSession, parentbody::Dict{Any, Any}, clientstream::HTTP.WebSockets.WebSocket)
│        @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:391
│      [4] (::Pluto.var"#393#403"{Pluto.ServerSession})(clientstream::HTTP.WebSockets.WebSocket)
│        @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:188
│      [5] upgrade(f::Pluto.var"#393#403"{Pluto.ServerSession}, http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.ConnectionPool.Connection}; suppress_close_error::Bool, maxframesize::Int64, maxfragmentation::Int64, kw::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
│        @ HTTP.WebSockets C:\Users\carasi\.julia\packages\HTTP\4Xalq\src\WebSockets.jl:439
│      [6] upgrade
│        @ C:\Users\carasi\.julia\packages\HTTP\4Xalq\src\WebSockets.jl:419 [inlined]
│      [7] (::Pluto.var"#392#402"{Pluto.ServerSession, HTTP.Handlers.Router{typeof(Pluto.default_404), typeof(HTTP.Handlers.default405), Nothing}})(http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.ConnectionPool.Connection})
│        @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:171
│      [8] #invokelatest#2
│        @ .\essentials.jl:729 [inlined]
│      [9] invokelatest
│        @ .\essentials.jl:726 [inlined]
│     [10] handle_connection(f::Function, c::HTTP.ConnectionPool.Connection, listener::HTTP.Servers.Listener{Nothing, Sockets.TCPServer}, readtimeout::Int64, access_log::Nothing)
│        @ HTTP.Servers C:\Users\carasi\.julia\packages\HTTP\4Xalq\src\Servers.jl:446
│     [11] (::HTTP.Servers.var"#16#17"{Pluto.var"#392#402"{Pluto.ServerSession, HTTP.Handlers.Router{typeof(Pluto.default_404), typeof(HTTP.Handlers.default405), Nothing}}, HTTP.Servers.Listener{Nothing, Sockets.TCPServer}, Set{HTTP.ConnectionPool.Connection}, Int64, Nothing, Base.Semaphore, HTTP.ConnectionPool.Connection})()
│        @ HTTP.Servers .\task.jl:484
└ @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:194
┌ Warning: Response function to message of type :interrupt_all failed
└ @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:393
┌ Warning: Reading WebSocket client stream failed for unknown reason:
│   parentbody =
│    Dict{Any, Any} with 5 entries:
│      "client_id"   => "1j0turs"
│      "body"        => Dict{Any, Any}()
│      "request_id"  => "1cjupk1"
│      ⋮             => ⋮
│   exception =
│    type Nothing has no field dowork_token
│    Stacktrace:
│      [1] getproperty(x::Nothing, f::Symbol)
│        @ Base .\Base.jl:38
│      [2] response_interrupt_all(🙋::Pluto.ClientRequest)
│        @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\Dynamic.jl:444
│      [3] process_ws_message(session::Pluto.ServerSession, parentbody::Dict{Any, Any}, clientstream::HTTP.WebSockets.WebSocket)
│        @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:391
│      [4] (::Pluto.var"#393#403"{Pluto.ServerSession})(clientstream::HTTP.WebSockets.WebSocket)
│        @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:188
│      [5] upgrade(f::Pluto.var"#393#403"{Pluto.ServerSession}, http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.ConnectionPool.Connection}; suppress_close_error::Bool, maxframesize::Int64, maxfragmentation::Int64, kw::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
│        @ HTTP.WebSockets C:\Users\carasi\.julia\packages\HTTP\4Xalq\src\WebSockets.jl:439
│      [6] upgrade
│        @ C:\Users\carasi\.julia\packages\HTTP\4Xalq\src\WebSockets.jl:419 [inlined]
│      [7] (::Pluto.var"#392#402"{Pluto.ServerSession, HTTP.Handlers.Router{typeof(Pluto.default_404), typeof(HTTP.Handlers.default405), Nothing}})(http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.ConnectionPool.Connection})
│        @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:171
│      [8] #invokelatest#2
│        @ .\essentials.jl:729 [inlined]
│      [9] invokelatest
│        @ .\essentials.jl:726 [inlined]
│     [10] handle_connection(f::Function, c::HTTP.ConnectionPool.Connection, listener::HTTP.Servers.Listener{Nothing, Sockets.TCPServer}, readtimeout::Int64, access_log::Nothing)
│        @ HTTP.Servers C:\Users\carasi\.julia\packages\HTTP\4Xalq\src\Servers.jl:446
│     [11] (::HTTP.Servers.var"#16#17"{Pluto.var"#392#402"{Pluto.ServerSession, HTTP.Handlers.Router{typeof(Pluto.default_404), typeof(HTTP.Handlers.default405), Nothing}}, HTTP.Servers.Listener{Nothing, Sockets.TCPServer}, Set{HTTP.ConnectionPool.Connection}, Int64, Nothing, Base.Semaphore, HTTP.ConnectionPool.Connection})()
│        @ HTTP.Servers .\task.jl:484
└ @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:194
┌ Warning: Response function to message of type :interrupt_all failed
└ @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:393
┌ Warning: Reading WebSocket client stream failed for unknown reason:
│   parentbody =
│    Dict{Any, Any} with 5 entries:
│      "client_id"   => "1j0turs"
│      "body"        => Dict{Any, Any}()
│      "request_id"  => "1pyn4qm"
│      ⋮             => ⋮
│   exception =
│    type Nothing has no field dowork_token
│    Stacktrace:
│      [1] getproperty(x::Nothing, f::Symbol)
│        @ Base .\Base.jl:38
│      [2] response_interrupt_all(🙋::Pluto.ClientRequest)
│        @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\Dynamic.jl:444
│      [3] process_ws_message(session::Pluto.ServerSession, parentbody::Dict{Any, Any}, clientstream::HTTP.WebSockets.WebSocket)
│        @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:391
│      [4] (::Pluto.var"#393#403"{Pluto.ServerSession})(clientstream::HTTP.WebSockets.WebSocket)
│        @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:188
│      [5] upgrade(f::Pluto.var"#393#403"{Pluto.ServerSession}, http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.ConnectionPool.Connection}; suppress_close_error::Bool, maxframesize::Int64, maxfragmentation::Int64, kw::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
│        @ HTTP.WebSockets C:\Users\carasi\.julia\packages\HTTP\4Xalq\src\WebSockets.jl:439
│      [6] upgrade
│        @ C:\Users\carasi\.julia\packages\HTTP\4Xalq\src\WebSockets.jl:419 [inlined]
│      [7] (::Pluto.var"#392#402"{Pluto.ServerSession, HTTP.Handlers.Router{typeof(Pluto.default_404), typeof(HTTP.Handlers.default405), Nothing}})(http::HTTP.Streams.Stream{HTTP.Messages.Request, HTTP.ConnectionPool.Connection})
│        @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:171
│      [8] #invokelatest#2
│        @ .\essentials.jl:729 [inlined]
│      [9] invokelatest
│        @ .\essentials.jl:726 [inlined]
│     [10] handle_connection(f::Function, c::HTTP.ConnectionPool.Connection, listener::HTTP.Servers.Listener{Nothing, Sockets.TCPServer}, readtimeout::Int64, access_log::Nothing)
│        @ HTTP.Servers C:\Users\carasi\.julia\packages\HTTP\4Xalq\src\Servers.jl:446
│     [11] (::HTTP.Servers.var"#16#17"{Pluto.var"#392#402"{Pluto.ServerSession, HTTP.Handlers.Router{typeof(Pluto.default_404), typeof(HTTP.Handlers.default405), Nothing}}, HTTP.Servers.Listener{Nothing, Sockets.TCPServer}, Set{HTTP.ConnectionPool.Connection}, Int64, Nothing, Base.Semaphore, HTTP.ConnectionPool.Connection})()
│        @ HTTP.Servers .\task.jl:484
└ @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\webserver\WebServer.jl:194
fatal: error thrown and no exception handler available.
InterruptException()
jl_mutex_unlock at /cygdrive/c/buildbot/worker/package_win64/build/src\julia_locks.h:129 [inlined]
ijl_task_get_next at /cygdrive/c/buildbot/worker/package_win64/build/src\partr.c:567
poptask at .\task.jl:921
wait at .\task.jl:930
task_done_hook at .\task.jl:634
jfptr_task_done_hook_61674 at C:\Users\carasi\.julia\juliaup\julia-1.8.0+0.x64\lib\julia\sys.dll (unknown line)
jl_apply at /cygdrive/c/buildbot/worker/package_win64/build/src\julia.h:1838 [inlined]
jl_finish_task at /cygdrive/c/buildbot/worker/package_win64/build/src\task.c:254
start_task at /cygdrive/c/buildbot/worker/package_win64/build/src\task.c:942
Distributed.ProcessExitedException(2)
Stacktrace:
  [1] worker_from_id(pg::Distributed.ProcessGroup, i::Int64)
    @ Distributed C:\Users\carasi\.julia\juliaup\julia-1.8.0+0.x64\share\julia\stdlib\v1.8\Distributed\src\cluster.jl:1092
  [2] worker_from_id
    @ C:\Users\carasi\.julia\juliaup\julia-1.8.0+0.x64\share\julia\stdlib\v1.8\Distributed\src\cluster.jl:1089 [inlined]
  [3] #remotecall_fetch#162
    @ C:\Users\carasi\.julia\juliaup\julia-1.8.0+0.x64\share\julia\stdlib\v1.8\Distributed\src\remotecall.jl:492 [inlined]
  [4] remotecall_fetch
    @ C:\Users\carasi\.julia\juliaup\julia-1.8.0+0.x64\share\julia\stdlib\v1.8\Distributed\src\remotecall.jl:492 [inlined]
  [5] remotecall_eval(m::Module, pid::Int64, ex::Expr)
    @ Distributed C:\Users\carasi\.julia\juliaup\julia-1.8.0+0.x64\share\julia\stdlib\v1.8\Distributed\src\macros.jl:242
  [6] collect_soft_definitions(session_notebook::Tuple{Pluto.ServerSession, Pluto.Notebook}, modules::Set{Expr})
    @ Pluto.WorkspaceManager C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\evaluation\WorkspaceManager.jl:487
  [7] run_reactive_core!(session::Pluto.ServerSession, notebook::Pluto.Notebook, old_topology::Pluto.NotebookTopology, new_topology::Pluto.NotebookTopology, roots::Vector{Pluto.Cell}; deletion_hook::typeof(Pluto.WorkspaceManager.move_vars), user_requested_run::Bool, already_run::Vector{Pluto.Cell}, bond_value_pairs::Base.Iterators.Zip{Tuple{Vector{Symbol}, Vector{Any}}})
    @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\evaluation\Run.jl:220
  [8] run_reactive_core!
    @ C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\evaluation\Run.jl:59 [inlined]
  [9] (::Pluto.var"#258#262"{Bool, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, Pluto.ServerSession, Pluto.Notebook})()
    @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\evaluation\Run.jl:595
 [10] withtoken(f::Pluto.var"#258#262"{Bool, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, Pluto.ServerSession, Pluto.Notebook}, token::Pluto.Token)
    @ Pluto C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\evaluation\Tokens.jl:19
 [11] #257
    @ C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\evaluation\Run.jl:591 [inlined]
 [12] macro expansion
    @ C:\Users\carasi\.julia\packages\Pluto\rBF1P\src\evaluation\Tokens.jl:58 [inlined]
 [13] (::Pluto.var"#228#229"{Pluto.var"#257#261"{Bool, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, Pluto.ServerSession, Pluto.Notebook}})()
    @ Pluto .\task.jl:484
@fonsp
Copy link
Owner

fonsp commented Sep 1, 2022

Thank you for reporting an issue about Pluto! Let's get it fixed!

To report an issue, you need two things:

  1. 📹 A video recording demonstrating the problem. (You can drag a video file into this box)
  2. 📝 A short Pluto notebook file. (Upload the notebook file to https://gist.github.com/ and include the link.)
  3. 🤕 Try to clearly explain what the problem is, it might not be obvious to others! Instead of saying: "This does not work.", try to say: "I expected ..., but instead I am seeing ..."

🙋 But my issue is really simple, I don't want to make a screen recording / notebook!

Please do it anyways! It is really difficult to know exactly what information we will need to solve the issue, and a video recording can save a lot of follow-up questions.
Similarly, a notebook file means that we can start testing the problem immediately, saving Pluto's developers a lot of time.


How do I make a video recording?

On Windows, some options:

On MacOS: press Cmd+Shift+5, see https://support.apple.com/guide/mac-help/mh26782/mac

On Linux: see some options in https://web.archive.org/web/20211123192630/https://www.linuxuprising.com/2020/01/4-tools-to-record-your-linux-desktop.html

If your video file is too large to upload to github, upload it to youtube and include the link.

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