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

[BUG] Not working on headless server

Open melioristic opened this issue 2 years ago • 4 comments

Before Filing a Report

  • Did I read the Documentation and/or docstrings?
  • Did I search the Javis GitHub to see if this bug has already been reported?
  • Am I familiar with the Javis philosophy?
  • Do I have the latest version of Javis installed?

Describe the bug

I cannot install Javis on one of the clusters.

To Reproduce

  1. Julia Version 1.6.1

  2. Operating system CentOS):

  3. Javis version NA

  4. Minimum working code example that led to bug:

add Javis after ] in Julia

Expected Behavior and Actual Behavior

Would expect Javis to install.

Stacktrace (If Applicable)

Precompiling project...
  ✗ GtkReactive
  ✗ Javis
  0 dependencies successfully precompiled in 5 seconds (192 already precompiled)

ERROR: The following 1 direct dependency failed to precompile:

Javis [78b212ba-a7f9-42d4-b726-60726080707e]

ERROR: LoadError: InitError: Cannot open display: 
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] Gtk.GLib.GError(f::Gtk.var"#318#324")
    @ Gtk.GLib ~/.julia/1.6.1/default-gpu/packages/Gtk/P4Gsu/src/GLib/gerror.jl:17
  [3] __init__()
    @ Gtk ~/.julia/1.6.1/default-gpu/packages/Gtk/P4Gsu/src/Gtk.jl:125
  [4] _include_from_serialized(path::String, depmods::Vector{Any})
    @ Base ./loading.jl:674
  [5] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
    @ Base ./loading.jl:760
  [6] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:998
  [7] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:914
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:901
  [9] include
    @ ./Base.jl:386 [inlined]
 [10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1213
 [11] top-level scope
    @ none:1
 [12] eval
    @ ./boot.jl:360 [inlined]
 [13] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [14] top-level scope
    @ none:1
during initialization of module Gtk
in expression starting at /p/home/jusers/anand1/juwels/.julia/1.6.1/default-gpu/packages/Javis/7StHG/src/Javis.jl:1
Stacktrace:
 [1] pkgerror(msg::String)
   @ Pkg.Types /dev/shm/goebbert1/juwelsbooster/Julia/1.6.1/gcccoremkl-10.3.0-2021.2.0/julia-1.6.1/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:55
 [2] precompile(ctx::Pkg.Types.Context; internal_call::Bool, strict::Bool, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Pkg.API /dev/shm/goebbert1/juwelsbooster/Julia/1.6.1/gcccoremkl-10.3.0-2021.2.0/julia-1.6.1/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:1244
 [3] precompile
   @ /dev/shm/goebbert1/juwelsbooster/Julia/1.6.1/gcccoremkl-10.3.0-2021.2.0/julia-1.6.1/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:920 [inlined]
 [4] #precompile#196
   @ /dev/shm/goebbert1/juwelsbooster/Julia/1.6.1/gcccoremkl-10.3.0-2021.2.0/julia-1.6.1/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:918 [inlined]
 [5] precompile()
   @ Pkg.API /dev/shm/goebbert1/juwelsbooster/Julia/1.6.1/gcccoremkl-10.3.0-2021.2.0/julia-1.6.1/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:918
 [6] top-level scope
   @ REPL[3]:1

melioristic avatar Oct 26 '21 10:10 melioristic

I assume the cluster doesn't have a display 😅 We just recently moved to this new organization and one of our plans is to remove the JavisViewer from the main package to a new repository. That way the dependency which needs a display would be removed.

Wikunia avatar Oct 26 '21 10:10 Wikunia

Is there some solution for this now? Since the cluster is really fast and trying animations is way faster on powerful computers. Is there some way to remove this dependence manually for the time being, or is it something really deep-rooted?

melioristic avatar Oct 26 '21 11:10 melioristic

You can have a look at #298 for now. It was done a while back but maybe it works out to merge the current master into that branch. In general I wouldn't expect major performance improvements on a cluster though as all the code is sequential.

Wikunia avatar Oct 26 '21 11:10 Wikunia

@Wikunia Thank you for the info. I might stick to doing this locally for now.

melioristic avatar Oct 26 '21 11:10 melioristic