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

Precompilation stuck "Waiting for background task..." on v1.10 #50505

Closed
Liozou opened this issue Jul 11, 2023 · 2 comments
Closed

Precompilation stuck "Waiting for background task..." on v1.10 #50505

Liozou opened this issue Jul 11, 2023 · 2 comments

Comments

@Liozou
Copy link
Member

Liozou commented Jul 11, 2023

I am unable to precompile a package using PlotlyJS among its dependencies using julia v1.10. To reproduce, create an empty package (I call mine FooBarBaz), add PlotlyJS as its only dependency and try to precompile it.

The precompilation for that package is then stuck with a warning, and only stops when interrupted:

(@v1.10) pkg> dev FooBarBaz
   Resolving package versions...
  No Changes to `~/.julia/environments/v1.10/Project.toml`
  No Changes to `~/.julia/environments/v1.10/Manifest.toml`

(@v1.10) pkg> precompile FooBarBaz
Precompiling FooBarBaz
  Progress [========================================>]  64/65
  ◒ FooBarBaz Waiting for background task / IO / timer. Interrupt to inspect
^C Interrupted: Exiting precompilation...

  1 dependency had warnings during precompilation:
┌ FooBarBaz [e6723af2-ddc1-4dc9-99e9-2a6c595dec7e]
│  [pid 114961] waiting for IO to finish:
│   TYPE[FD/PID]       @UV_HANDLE_T->DATA
│   process[114964]    @0x2d769a0->0x7f38ba84c6a0
│  
│  [pid 114961] waiting for IO to finish:
│   TYPE[FD/PID]       @UV_HANDLE_T->DATA
│   pipe[17]           @0x2b962b0->0x7f38ba909eb0
│   pipe[11]           @0x2e43990->0x7f38ba909f50
│   process[114964]    @0x2d769a0->0x7f38ba84c6a0
│  
│  [pid 114961] waiting for IO to finish:
│   TYPE[FD/PID]       @UV_HANDLE_T->DATA
│   pipe[17]           @0x2b962b0->0x7f38ba909eb0
│   pipe[11]           @0x2e43990->0x7f38ba909f50
│   process[114964]    @0x2d769a0->0x7f38ba84c6a0
│  
│  [pid 114961] waiting for IO to finish:
│   TYPE[FD/PID]       @UV_HANDLE_T->DATA
│   pipe[17]           @0x2b962b0->0x7f38ba909eb0
│   pipe[11]           @0x2e43990->0x7f38ba909f50
│   process[114964]    @0x2d769a0->0x7f38ba84c6a
│  
│  [114961] signal (2): Interrupt
│  in expression starting at none:0
│  epoll_wait at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
│  uv__io_poll at /workspace/srcdir/libuv/src/unix/epoll.c:236
│  uv_run at /workspace/srcdir/libuv/src/unix/core.c:400
│  ijl_task_get_next at /cache/build/default-amdci5-1/julialang/julia-release-1-dot-10/src/partr.c:470

The block

│  [pid 114961] waiting for IO to finish:
│   TYPE[FD/PID]       @UV_HANDLE_T->DATA
│   pipe[17]           @0x2b962b0->0x7f38ba909eb0
│   pipe[11]           @0x2e43990->0x7f38ba909f50
│   process[114964]    @0x2d769a0->0x7f38ba84c6a

is repeated more the longer I wait before interrupting.

This occurs on master as well as on julia v1.10.0-alpha1, but not on julia v1.9 where the precompilation simply works. So I believe this is a Julia regression rather than a PlotlyJS issue, but I can close it here and reopen it there if you think it is more appropriate.

System information

versioninfo

julia> versioninfo()
Julia Version 1.10.0-alpha1
Commit f8ad15f7b16 (2023-07-06 10:36 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 40 × Intel(R) Xeon(R) Silver 4210R CPU @ 2.40GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, cascadelake)
  Threads: 11 on 40 virtual cores
Environment:
  JULIA_REVISE_WORKER_ONLY = 1
  JULIA_NUM_THREADS = 8
  DYLD_LIBRARY_PATH = /home/liozou/RASPA2/simulations/lib
  LD_LIBRARY_PATH = /usr/local/gromacs/lib:/home/liozou/RASPA2/simulations/lib

Pkg status

The results of ]st and ]st -m is identical on the tested julia versions 1.9 and 1.10.

(FooBarBaz) pkg> st
Project FooBarBaz v0.1.0
Status `~/.julia/dev/FooBarBaz/Project.toml`
  [f0f68f2c] PlotlyJS v0.18.10

(FooBarBaz) pkg> st -m
Project FooBarBaz v0.1.0
Status `~/.julia/dev/FooBarBaz/Manifest.toml`
  [bf4720bc] AssetRegistry v0.1.0
  [d1d4a3ce] BitFlags v0.1.7
  [ad839575] Blink v0.12.8
  [944b1d66] CodecZlib v0.7.1
  [35d6a980] ColorSchemes v3.21.0
  [3da002f7] ColorTypes v0.11.4
  [c3611d14] ColorVectorSpace v0.9.10
  [5ae59095] Colors v0.12.10
  [f0e56b4a] ConcurrentUtilities v2.2.0
  [9a962f9c] DataAPI v1.15.0
  [e2d170a0] DataValueInterfaces v1.0.0
  [8bb1440f] DelimitedFiles v1.9.1
  [ffbed154] DocStringExtensions v0.9.3
  [460bff9d] ExceptionUnwrapping v0.1.9
  [53c48c17] FixedPointNumbers v0.8.4
  [de31a74c] FunctionalCollections v0.5.0
⌃ [cd3eb016] HTTP v1.9.7
  [9fb69e20] Hiccup v0.2.2
  [92d709cd] IrrationalConstants v0.2.2
  [82899510] IteratorInterfaceExtensions v1.0.0
  [692b3bcd] JLLWrappers v1.4.1
  [97c1335a] JSExpr v0.5.4
  [682c06a0] JSON v0.21.4
  [b964fa9f] LaTeXStrings v1.3.0
  [50d2b5c4] Lazy v0.15.1
  [2ab3a3ac] LogExpFunctions v0.3.24
  [e6f89c97] LoggingExtras v1.0.0
  [1914dd2f] MacroTools v0.5.10
  [739be429] MbedTLS v1.1.7
  [ffc61752] Mustache v1.0.17
  [a975b10e] Mux v1.0.1
  [510215fc] Observables v0.5.4
  [4d8831e6] OpenSSL v1.4.1
  [bac558e1] OrderedCollections v1.6.0
  [d96e819e] Parameters v0.12.3
  [69de0a69] Parsers v2.7.1
  [fa939f87] Pidfile v1.3.0
  [a03496cd] PlotlyBase v0.8.19
  [f0f68f2c] PlotlyJS v0.18.10
  [aea7be01] PrecompileTools v1.1.2
  [21216c6a] Preferences v1.4.0
  [189a3867] Reexport v1.2.2
  [ae029012] Requires v1.3.0
  [777ac1f9] SimpleBufferStream v1.1.0
  [276daf66] SpecialFunctions v2.3.0
  [3783bdb8] TableTraits v1.0.1
  [bd369af6] Tables v1.10.1
  [62fd8b95] TensorCore v0.1.1
  [3bb67fe8] TranscodingStreams v0.9.13
  [5c2747f8] URIs v1.4.2
  [3a884ed6] UnPack v1.0.2
  [0f1e0344] WebIO v0.8.21
  [104b5d7c] WebSockets v1.6.0
  [cc8bc4a8] Widgets v0.6.6
  [f7e6163d] Kaleido_jll v0.2.1+0
  [458c3c95] OpenSSL_jll v3.0.9+0
  [efe28fd5] OpenSpecFun_jll v0.5.5+0
  [0dad84c5] ArgTools v1.1.1
  [56f22d72] Artifacts
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8ba89e20] Distributed
  [f43a241f] Downloads v1.6.0
  [7b1f6079] FileWatching
  [b77e0a4c] InteractiveUtils
  [b27032c2] LibCURL v0.6.4
  [76f85450] LibGit2
  [8f399da3] Libdl
  [37e2e46d] LinearAlgebra
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [ca575930] NetworkOptions v1.2.0
  [44cfe95a] Pkg v1.10.0
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA v0.7.0
  [9e88b42a] Serialization
  [6462fe0b] Sockets
  [2f01184e] SparseArrays v1.10.0
  [10745b16] Statistics v1.9.0
  [fa267f1f] TOML v1.0.3
  [a4e569a6] Tar v1.10.0
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
  [e66e0078] CompilerSupportLibraries_jll v1.0.5+0
  [deac9b47] LibCURL_jll v8.0.1+0
  [29816b5a] LibSSH2_jll v1.10.2+0
  [c8ffd9c3] MbedTLS_jll v2.28.2+0
  [14a3606d] MozillaCACerts_jll v2023.1.10
  [4536629a] OpenBLAS_jll v0.3.23+0
  [05823500] OpenLibm_jll v0.8.1+0
  [83775a58] Zlib_jll v1.2.13+0
  [8e850b90] libblastrampoline_jll v5.8.0+0
  [8e850ede] nghttp2_jll v1.52.0+0
  [3f19e933] p7zip_jll v17.4.0+0
@KristofferC
Copy link
Member

KristofferC commented Jul 11, 2023

So I believe this is a Julia regression rather than a PlotlyJS issue,

The issue is that PlotlyJS starts a process in __init__ that never finishes: https://github.com/JuliaPlots/PlotlyJS.jl/blob/43d38e97516e425dced10ae1aa9d8e638113cb5a/src/PlotlyJS.jl#L98

@Liozou
Copy link
Member Author

Liozou commented Jul 11, 2023

Aha, so this is actually #48506 and I had not found that issue because the warning message was changed between the issue ("Waiting for trailing task...") and the PR ("Waiting for background task...") at JuliaLang/Pkg.jl#3358 (and then in JuliaLang/Pkg.jl#3370).

Thank you for the pointer and sorry for the duplicate!

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