JuliaPlots / PlotlyJS.jl

Julia library for plotting with plotly.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pre-compilation does not finish with version 0.18.11

SupplyChef opened this issue · comments

I am developing a package that uses PlotlyJS. When I upgraded to version 0.18.11 the pre-compilation would not complete and would get stopped on github after 6 hours. Reverting to version 0.18.10 makes the pre-compilation work again.

Please provide the following:

Julia Version 1.9.4
Commit 8e5136fa29 (2023-11-14 08:46 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 12 × Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-14.0.6 (ORCJIT, skylake)
Threads: 1 on 12 virtual cores
Environment:
JULIA_IMAGE_THREADS = 1
JULIA_NUM_THREADS = 1

[31c24e10] Distributions v0.25.104
[86223c79] Graphs v1.9.0
[f0f68f2c] PlotlyJS v0.18.11
[8a0b78ce] SupplyChainModeling v0.1.2
[ade2ca70] Dates
[cf7118a7] UUIDs

I am not sure this is the same problem

I am having similar issues on Windows 10-11 and also Ubuntu 22

When adding my package on these machines it gets stuck during the pre-compilation of DashBasePlotlyJSExt (hangs forever).

It was working just fine before Julia 1.10

Please try 0.18.13

Hi, so version 0.18.13 does help with the pre-compilation on Windows, that can be completed now.

However, when "using my_package" it now loads forever (on Windows only). I have to cancel the "using my_package" and relaunch it several times before it is able to actually load the package. This is especially a problem for the CI as because of this it still fails on Windows!

Hope this helps, and thanks for the support

Nicolas

This is the error I get now when trying to use PlotlyJS on windows (after trying to load for 360min):

serial: Error During Test at D:\a\MAGEMinApp.jl\MAGEMinApp.jl\test\runtests.jl:15
  Got exception outside of a @test
  LoadError: InitError: InterruptException:
  Stacktrace:
    [1] poptask(W::Base.IntrusiveLinkedListSynchronized{Task})
      @ Base .\task.jl:974
    [2] wait()
      @ Base .\task.jl:983
    [3] wait(c::Base.GenericCondition{Base.Threads.SpinLock}; first::Bool)
      @ Base .\condition.jl:130
    [4] wait
      @ .\condition.jl:125 [inlined]
    [5] readuntil(x::Base.PipeEndpoint, c::UInt8; keep::Bool)
      @ Base .\stream.jl:1014
    [6] readuntil
      @ .\stream.jl:998 [inlined]
    [7] #readuntil#410
      @ .\io.jl:442 [inlined]
    [8] readuntil
      @ .\io.jl:442 [inlined]
    [9] readline(s::Pipe; keep::Bool)
      @ Base .\io.jl:548
   [10] readline
      @ .\io.jl:547 [inlined]
   [11] start(; plotly_version::Missing, mathjax::Missing, mathjax_version::VersionNumber, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
      @ PlotlyKaleido C:\Users\runneradmin\.julia\packages\PlotlyKaleido\HmwOd\src\PlotlyKaleido.jl:95
   [12] start
      @ C:\Users\runneradmin\.julia\packages\PlotlyKaleido\HmwOd\src\PlotlyKaleido.jl:29 [inlined]
   [13] __init__()
      @ PlotlyJS C:\Users\runneradmin\.julia\packages\PlotlyJS\b6MbQ\src\PlotlyJS.jl:104
   [14] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
      @ Base .\loading.jl:1115
   [15] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::Nothing, depmods::Vector{Any})
      @ Base .\loading.jl:1061
   [16] _tryrequire_from_serialized(modkey::Base.PkgId, path::String, ocachepath::Nothing, sourcepath::String, depmods::Vector{Any})
      @ Base .\loading.jl:1391
   [17] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128)
      @ Base .\loading.jl:1494
   [18] _require(pkg::Base.PkgId, env::String)
      @ Base .\loading.jl:1783
   [19] _require_prelocked(uuidkey::Base.PkgId, env::String)
      @ Base .\loading.jl:1660
   [20] macro expansion
      @ .\loading.jl:1648 [inlined]
   [21] macro expansion
      @ .\lock.jl:267 [inlined]
   [22] require(into::Module, mod::Symbol)
      @ Base .\loading.jl:1611
   [23] include(fname::String)
      @ Base.MainInclude .\client.jl:478
   [24] macro expansion
      @ D:\a\MAGEMinApp.jl\MAGEMinApp.jl\test\runtests.jl:16 [inlined]
   [25] macro expansion
      @ C:\hostedtoolcache\windows\julia\1.9.4\x64\share\julia\stdlib\v1.9\Test\src\Test.jl:1498 [inlined]
   [26] top-level scope
      @ D:\a\MAGEMinApp.jl\MAGEMinApp.jl\test\runtests.jl:16
   [27] include(fname::String)
      @ Base.MainInclude .\client.jl:478
   [28] top-level scope
      @ none:6
   [29] eval
      @ .\boot.jl:370 [inlined]
   [30] exec_options(opts::Base.JLOptions)
      @ Base .\client.jl:280
   [31] _start()
      @ Base .\client.jl:522
  during initialization of module PlotlyJS
  in expression starting at D:\a\MAGEMinApp.jl\MAGEMinApp.jl\test\tests.jl:4

This should be solved now. See the related comment in #473 (comment) for more details.

Edit: It does not specifically solves this in 0.18.11, you'd need to update to 0.18.13 and make sure that the dependent PlotlyKaleido is at least at version 2.2.4 (which should happen automatically if you install PlotlyJS from now on)