Skip to content

Errors when pressing Ctrl+C to stop Pluto #827

Closed
@yurivish

Description

I noticed that if you open Pluto, wait until it opens its page in the browser and print the Press Ctrl+C in this terminal to stop Pluto message, then press Ctrl+C, a variety of internal errors can occur. In some cases I had to press Ctrl+C twice to stop Pluto.

These might be Pluto bugs or they might be Julia bugs, not sure. In all of the cases I only pressed Ctrl+C after the instructions appeared to do so.

yurivish@Compy ~ % julia --eval "using Pluto; Pluto.run()"

Opening http://localhost:1235/?secret=BIQXRb8h in your default browser... ~ have fun!

Press Ctrl+C in this terminal to stop Pluto

^C^Cfatal: error thrown and no exception handler available.
InterruptException()
jl_mutex_unlock at /Users/julia/buildbot/worker/package_macos64/build/src/./locks.h:144 [inlined]
jl_task_get_next at /Users/julia/buildbot/worker/package_macos64/build/src/partr.c:476
poptask at ./task.jl:704
wait at ./task.jl:712 [inlined]
task_done_hook at ./task.jl:442
jl_apply at /Users/julia/buildbot/worker/package_macos64/build/src/./julia.h:1690 [inlined]
jl_finish_task at /Users/julia/buildbot/worker/package_macos64/build/src/task.c:196
start_task at /Users/julia/buildbot/worker/package_macos64/build/src/task.c:715
yurivish@Compy ~ % julia --eval "using Pluto; Pluto.run()"

Opening http://localhost:1235/?secret=D2o9hd74 in your default browser... ~ have fun!

Press Ctrl+C in this terminal to stop Pluto

^C^C┌ Warning: Response function to message of type completepath failed
└ @ Pluto ~/.julia/packages/Pluto/luIaC/src/webserver/WebServer.jl:359


Closing Pluto... Restart Julia for a fresh session.

Have a nice day! 🎈
yurivish@Compy ~ % julia --eval "using Pluto; Pluto.run()"

Opening http://localhost:1235/?secret=Mkr9O4nK in your default browser... ~ have fun!

Press Ctrl+C in this terminal to stop Pluto

^C^Cfatal: error thrown and no exception handler available.
InterruptException()
jl_mutex_unlock at /Users/julia/buildbot/worker/package_macos64/build/src/./locks.h:144 [inlined]
jl_task_get_next at /Users/julia/buildbot/worker/package_macos64/build/src/partr.c:476
poptask at ./task.jl:704
wait at ./task.jl:712 [inlined]
task_done_hook at ./task.jl:442
jl_apply at /Users/julia/buildbot/worker/package_macos64/build/src/./julia.h:1690 [inlined]
jl_finish_task at /Users/julia/buildbot/worker/package_macos64/build/src/task.c:196
start_task at /Users/julia/buildbot/worker/package_macos64/build/src/task.c:715
yurivish@Compy ~ %
yurivish@Compy ~ % julia --eval "using Pluto; Pluto.run()"

Opening http://localhost:1235/?secret=iSO9pwAI in your default browser... ~ have fun!

Press Ctrl+C in this terminal to stop Pluto

^C┌ Warning: Failed to write to WebSocket of 15mi8yp
│   exception =
│    InterruptException:
│    Stacktrace:
│     [1] pack_format(::Base.GenericIOBuffer{Array{UInt8,1}}, ::MsgPack.MapFixFormat, ::Dict{Symbol,Any}) at /Users/yurivish/.julia/packages/MsgPack/pN9xd/src/pack.jl:283
│     [2] pack_type at /Users/yurivish/.julia/packages/MsgPack/pN9xd/src/pack.jl:273 [inlined]
│     [3] pack(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Dict{Symbol,Any}) at /Users/yurivish/.julia/packages/MsgPack/pN9xd/src/pack.jl:25
│     [4] pack_format(::Base.GenericIOBuffer{Array{UInt8,1}}, ::MsgPack.MapFixFormat, ::Dict{Symbol,Any}) at /Users/yurivish/.julia/packages/MsgPack/pN9xd/src/pack.jl:283
│     [5] pack_type at /Users/yurivish/.julia/packages/MsgPack/pN9xd/src/pack.jl:273 [inlined]
│     [6] pack(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Dict{Symbol,Any}) at /Users/yurivish/.julia/packages/MsgPack/pN9xd/src/pack.jl:25
│     [7] pack(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Vararg{Any,N} where N) at /Users/yurivish/.julia/packages/Pluto/luIaC/src/webserver/MsgPack.jl:73
│     [8] serialize_message_to_stream(::Base.GenericIOBuffer{Array{UInt8,1}}, ::Pluto.UpdateMessage) at /Users/yurivish/.julia/packages/Pluto/luIaC/src/webserver/PutUpdates.jl:15
│     [9] sprint(::Function, ::Pluto.UpdateMessage; context::Nothing, sizehint::Int64) at ./strings/io.jl:105
│     [10] sprint at ./strings/io.jl:101 [inlined]
│     [11] serialize_message at /Users/yurivish/.julia/packages/Pluto/luIaC/src/webserver/PutUpdates.jl:19 [inlined]
│     [12] flushclient(::Pluto.ClientSession) at /Users/yurivish/.julia/packages/Pluto/luIaC/src/webserver/PutUpdates.jl:73
│     [13] putclientupdates!(::Pluto.ClientSession, ::Pluto.UpdateMessage) at /Users/yurivish/.julia/packages/Pluto/luIaC/src/webserver/PutUpdates.jl:50
│     [14] putclientupdates! at /Users/yurivish/.julia/packages/Pluto/luIaC/src/webserver/PutUpdates.jl:56 [inlined]
│     [15] (::Pluto.var"#124#126")(::Pluto.ServerSession, ::Dict{Any,Any}, ::Nothing; initiator::Pluto.Initiator) at /Users/yurivish/.julia/packages/Pluto/luIaC/src/webserver/Dynamic.jl:21
│     [16] process_ws_message(::Pluto.ServerSession, ::Dict{Any,Any}, ::HTTP.WebSockets.WebSocket{HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}) at /Users/yurivish/.julia/packages/Pluto/luIaC/src/webserver/WebServer.jl:357
│     [17] (::Pluto.var"#215#225"{Pluto.ServerSession,Base.RefValue{Function}})(::HTTP.WebSockets.WebSocket{HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}) at /Users/yurivish/.julia/packages/Pluto/luIaC/src/webserver/WebServer.jl:160
│     [18] upgrade(::Pluto.var"#215#225"{Pluto.ServerSession,Base.RefValue{Function}}, ::HTTP.Streams.Stream{HTTP.Messages.Request,HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}; binary::Bool) at /Users/yurivish/.julia/packages/HTTP/IAI92/src/WebSockets.jl:160
│     [19] upgrade at /Users/yurivish/.julia/packages/HTTP/IAI92/src/WebSockets.jl:142 [inlined]
│     [20] (::Pluto.var"#214#224"{Pluto.ServerSession,HTTP.Handlers.Router{Symbol("##253")},Base.RefValue{Function}})(::HTTP.Streams.Stream{HTTP.Messages.Request,HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}) at /Users/yurivish/.julia/packages/Pluto/luIaC/src/webserver/WebServer.jl:147
│     [21] handle at /Users/yurivish/.julia/packages/HTTP/IAI92/src/Handlers.jl:269 [inlined]
│     [22] #4 at /Users/yurivish/.julia/packages/HTTP/IAI92/src/Handlers.jl:345 [inlined]
│     [23] macro expansion at /Users/yurivish/.julia/packages/HTTP/IAI92/src/Servers.jl:367 [inlined]
│     [24] (::HTTP.Servers.var"#13#14"{HTTP.Handlers.var"#4#5"{HTTP.Handlers.StreamHandlerFunction{Pluto.var"#214#224"{Pluto.ServerSession,HTTP.Handlers.Router{Symbol("##253")},Base.RefValue{Function}}}},HTTP.ConnectionPool.Transaction{Sockets.TCPSocket},HTTP.Streams.Stream{HTTP.Messages.Request,HTTP.ConnectionPool.Transaction{Sockets.TCPSocket}}})() at ./task.jl:356
└ @ Pluto ~/.julia/packages/Pluto/luIaC/src/webserver/PutUpdates.jl:84
^C

Closing Pluto... Restart Julia for a fresh session.

Have a nice day! 🎈

This is on Julia 1.53 with Pluto v0.12.18:

julia> versioninfo()
Julia Version 1.5.3
Commit 788b2c77c1 (2020-11-09 13:37 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin18.7.0)
  CPU: Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-9.0.1 (ORCJIT, skylake)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions