Trebuchet.jl icon indicating copy to clipboard operation
Trebuchet.jl copied to clipboard

Visualisation breaks after a package update

Open MikeInnes opened this issue 6 years ago • 10 comments

Updating the manifest breaks the Trebuchet example. There's a WebIO upgrade involved so it could just be a WebIO/Juno incompatibility, but it might be worth investigating.

Edit: Pinning [email protected] is indeed enough to fix this.

MikeInnes avatar Jan 29 '19 16:01 MikeInnes

Pinning does fix this in IJulia as well (the visualization shows up), but below the animation I get

KERNEL EXCEPTION
KeyError: key "data" not found

Stacktrace:
 [1] getindex at .\dict.jl:478 [inlined]
 [2] dispatch(::WebIO.IJuliaConnection, ::Dict{String,Any}) at C:\Users\carsten\.julia\packages\WebIO\Pf4Gm\src\connection.jl:48
 [3] (::getfield(WebIO, Symbol("##74#75")){WebIO.IJuliaConnection})(::IJulia.Msg) at C:\Users\carsten\.julia\packages\WebIO\Pf4Gm\src\providers\ijulia.jl:20
 [4] comm_msg(::ZMQ.Socket, ::IJulia.Msg) at C:\Users\carsten\.julia\packages\IJulia\gI2uA\src\comm_manager.jl:134
 [5] #invokelatest#1 at .\essentials.jl:742 [inlined]
 [6] invokelatest at .\essentials.jl:741 [inlined]
 [7] eventloop(::ZMQ.Socket) at C:\Users\carsten\.julia\packages\IJulia\gI2uA\src\eventloop.jl:8
 [8] (::getfield(IJulia, Symbol("##15#18")))() at .\task.jl:259

which, however, doesn't seem to have any effect.

carstenbauer avatar Jul 23 '19 05:07 carstenbauer

I just spend 2 hours on this problem that nothing seems to work on current packages...

I am glad I found this issue now to be sure, that it is neither Firefox, nor Chrome, nor Julia version, nor whatever. It is just an incompatibility between Trebuchet and WebIO...

Please, consider taking the time and updating this example. I was trying to do a small demo for Flux.jl using Trebuchet.jl, however given it is not working on current packages, I cannot really present it... It is really a pity, especially seeing that this issue is already about a year old...

schlichtanders avatar May 19 '20 08:05 schlichtanders

Even worse, trying to install [email protected] is not possible due to incompatibility:

(@v1.4) pkg> add [email protected]
  Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Atom [c52e3926]:
 Atom [c52e3926] log:
 ├─possible versions are: [0.8.0-0.8.8, 0.9.0-0.9.1, 0.10.0-0.10.2, 0.11.0-0.11.3, 0.12.0-0.12.11] or uninstalled
 ├─restricted to versions * by an explicit requirement, leaving only versions [0.8.0-0.8.8, 0.9.0-0.9.1, 0.10.0-0.10.2, 0.11.0-0.11.3, 0.12.0-0.12.11]
 └─restricted by compatibility requirements with WebIO [0f1e0344] to versions: uninstalled — no versions left
   └─WebIO [0f1e0344] log:
     ├─possible versions are: [0.2.5-0.2.8, 0.3.0-0.3.4, 0.4.0-0.4.2, 0.6.0-0.6.2, 0.7.0, 0.8.0-0.8.1, 0.8.3-0.8.9, 0.8.11, 0.8.13-0.8.14] or uninstalled
     └─restricted to versions 0.6 by an explicit requirement, leaving only versions 0.6.0-0.6.2

and neither can I pin it

(@v1.4) pkg> pin [email protected]
ERROR: Unsatisfiable requirements detected for package WebIO [0f1e0344]:
 WebIO [0f1e0344] log:
 ├─possible versions are: [0.2.5-0.2.8, 0.3.0-0.3.4, 0.4.0-0.4.2, 0.6.0-0.6.2, 0.7.0, 0.8.0-0.8.1, 0.8.3-0.8.9, 0.8.11, 0.8.13-0.8.14] or uninstalled
 ├─restricted to versions 0.6 by an explicit requirement, leaving only versions 0.6.0-0.6.2
 └─restricted by compatibility requirements with Blink [ad839575] to versions: [0.8.0-0.8.1, 0.8.3-0.8.5, 0.8.7-0.8.9, 0.8.11, 0.8.13-0.8.14] — no versions left
   └─Blink [ad839575] log:
     ├─possible versions are: [0.8.0-0.8.1, 0.9.0, 0.10.0-0.10.1, 0.11.0, 0.12.0-0.12.3] or uninstalled
     └─restricted to versions 0.12.3 by an explicit requirement, leaving only versions 0.12.3

when removing blink, I get the same conflict as when adding

(@v1.4) pkg> pin [email protected]
ERROR: Unsatisfiable requirements detected for package Atom [c52e3926]:
 Atom [c52e3926] log:
 ├─possible versions are: [0.8.0-0.8.8, 0.9.0-0.9.1, 0.10.0-0.10.2, 0.11.0-0.11.3, 0.12.0-0.12.11] or uninstalled
 ├─restricted to versions 0.12.10 by an explicit requirement, leaving only versions 0.12.10
 └─restricted by compatibility requirements with WebIO [0f1e0344] to versions: uninstalled — no versions left
   └─WebIO [0f1e0344] log:
     ├─possible versions are: [0.2.5-0.2.8, 0.3.0-0.3.4, 0.4.0-0.4.2, 0.6.0-0.6.2, 0.7.0, 0.8.0-0.8.1, 0.8.3-0.8.9, 0.8.11, 0.8.13-0.8.14] or uninstalled
     └─restricted to versions 0.6 by an explicit requirement, leaving only versions 0.6.0-0.6.2

schlichtanders avatar May 19 '20 08:05 schlichtanders

The example given in the README seems to work on Julia 1.4.1 with these package versions:

(@v1.4) pkg> st
Status `~/.julia/environments/v1.4/Project.toml`
  [c52e3926] Atom v0.12.14
  [ad839575] Blink v0.12.3
  [e5e0dc1b] Juno v0.8.2
  [98b73d46] Trebuchet v0.1.0 [`~/.julia/dev/Trebuchet`]

Roboneet avatar Jun 03 '20 12:06 Roboneet

any plans to make this compatible with the current WebIO version?

schlichtanders avatar Jun 04 '20 12:06 schlichtanders

Made an update. Can you try master?

Roboneet avatar Jun 04 '20 14:06 Roboneet

@Roboneet thank you very much for trying to fix this. It works almost.

I can see a visualization, however if I do a second visualization in a jupyter notebook right below, only the visualization part works, but not the update of the Distance/Height/Time text fields respectively.

What happens is that the Distance/Height/Time fields from the very first visualization get updated instead.

Here a screenshot, as I don't how to create a gif quickly (I wrote my own wrapper function to actually trigger visualization, nothing of importance to this issue) Screenshot 2020-06-06 at 16 59 13

schlichtanders avatar Jun 06 '20 15:06 schlichtanders

Thanks for bringing that to notice. I've fixed it

Roboneet avatar Jun 08 '20 11:06 Roboneet

I can confirm, it works now for me! Really great. Thank you for very much for you efforts!

Are you going to do a new release?

schlichtanders avatar Jun 09 '20 06:06 schlichtanders

Yeah, I could make one

Roboneet avatar Jun 10 '20 13:06 Roboneet