queryverse / ElectronDisplay.jl

An Electron.jl based figure and table display.
Other
85 stars 17 forks source link

Plotting VegaLite plot from REPL fails with `FATAL:gpu_data_manager_impl_private.cc(439)` #98

Open leoluecken opened 11 months ago

leoluecken commented 11 months ago

Hi, I'm stuck with this error, when trying to display a simple plot from VegaLite via ElectronDisplay:

 [30851:0724/155718.915298:FATAL:gpu_data_manager_impl_private.cc(439)] GPU process isn't usable. Goodbye.
ERROR: Unexpected end of input
Line: 0
Around: ......
           ^

Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] _error(message::String, ps::JSON.Parser.MemoryParserState)
    @ JSON.Parser ~/.julia/packages/JSON/93Ea8/src/Parser.jl:140
  [3] byteat
    @ ~/.julia/packages/JSON/93Ea8/src/Parser.jl:49 [inlined]
  [4] parse_value(pc::JSON.Parser.ParserContext{Dict{String, Any}, Int64, true, nothing}, ps::JSON.Parser.MemoryParserState)
    @ JSON.Parser ~/.julia/packages/JSON/93Ea8/src/Parser.jl:160
  [5] parse(str::String; dicttype::Type, inttype::Type{Int64}, allownan::Bool, null::Nothing)
    @ JSON.Parser ~/.julia/packages/JSON/93Ea8/src/Parser.jl:450
  [6] parse
    @ ~/.julia/packages/JSON/93Ea8/src/Parser.jl:443 [inlined]
  [7] req_response(app::Electron.Application, cmd::Dict{String, Any})
    @ Electron ~/.julia/packages/Electron/ILvWR/src/Electron.jl:242
  [8] Electron.Window(app::Electron.Application, options::Dict{String, Any})
    @ Electron ~/.julia/packages/Electron/ILvWR/src/Electron.jl:326
  [9] #Window#16
    @ ~/.julia/packages/Electron/ILvWR/src/Electron.jl:344 [inlined]
 [10] Window
    @ ~/.julia/packages/Electron/ILvWR/src/Electron.jl:340 [inlined]
 [11] Electron.Window(args::URIParser.URI; kwargs::Base.Pairs{Symbol, Dict{String, Dict{String, Bool}}, Tuple{Symbol}, NamedTuple{(:options,), Tuple{Dict{String, Dict{String, Bool}}}}})
    @ Electron ~/.julia/packages/Electron/ILvWR/src/Electron.jl:374
 [12] _getglobalplotwindow()
    @ ElectronDisplay ~/.julia/packages/ElectronDisplay/Mu44j/src/ElectronDisplay.jl:91
 [13] displayplot(d::ElectronDisplay.ElectronDisplayType, type::String, data::JSON.Writer.JSONText; options::Dict{String, Dict{String, Bool}})
    @ ElectronDisplay ~/.julia/packages/ElectronDisplay/Mu44j/src/ElectronDisplay.jl:99
 [14] displayplot
    @ ~/.julia/packages/ElectronDisplay/Mu44j/src/ElectronDisplay.jl:98 [inlined]
 [15] _display_vega(d::ElectronDisplay.ElectronDisplayType, major_version::String, x::VegaLite.VLSpec)
    @ ElectronDisplay ~/.julia/packages/ElectronDisplay/Mu44j/src/vega.jl:31
 [16] display
    @ ~/.julia/packages/ElectronDisplay/Mu44j/src/vega.jl:55 [inlined]
 [17] display(d::ElectronDisplay.ElectronDisplayType, x::VegaLite.VLSpec)
    @ ElectronDisplay ~/.julia/packages/ElectronDisplay/Mu44j/src/ElectronDisplay.jl:270
 [18] electrondisplay(x::VegaLite.VLSpec; config::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ ElectronDisplay ~/.julia/packages/ElectronDisplay/Mu44j/src/ElectronDisplay.jl:343
 [19] electrondisplay
    @ ~/.julia/packages/ElectronDisplay/Mu44j/src/ElectronDisplay.jl:324 [inlined]
 [20] plotCFNSolution(pltcfg::PlotConfig, trajectory_df::DataFrames.DataFrame)
    @ plotting ~/VS Code Workspace/Julia/CFNsim/src/plotting.jl:20
 [21] runSingle(config::Dict{String, Any})
    @ singlerun ~/VS Code Workspace/Julia/CFNsim/src/singlerun.jl:91
 [22] top-level scope
    @ REPL[28]:1

The corresponding code uses a DataFrame trajectory_df, which holds a trajectory:

    g = trajectory_df |> @vlplot(:line, x="t:t", y="b1")
    electrondisplay(g)

The code works fine, when I just save the plot as a png (by VegaLite.jl's save() method):

traj_test

(b1 is constant over time)

I am working on Xubuntu 22.10 (Xfce display), which might be integral to the problem. Any hints on how to resolve this are very appreciated!

Many thanks already!

leoluecken commented 11 months ago

Might the same issue as #96 and #97?