JuliaImages / ImageView.jl

Interactive display of images and movies
MIT License
135 stars 34 forks source link

GTK related errors on HPC Cluster #298

Open ChantalJuntao opened 9 months ago

ChantalJuntao commented 9 months ago

I'm getting some weird issues running ImageView on an HPC Cluster.

using the following code:

]add ImageView
]add FileIO
]add TestImages

using ImageView, FileIO, TestImages
mri = testimage("mri");
imshow(mri);

I get an image window with no frame and issues with the player, with the following errors:

(process:335): Gtk-WARNING **: 12:56:57.808: Unable to acquire session bus: Failed to execute child process ?dbus-launch? (No such file or directory)
Gtk-WARNING **: 13:07:59.421: Unable to acquire the address of the accessibility bus: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files. If you are attempting to run GTK without a11y support, GTK_A11Y should be set to 'none'.

I get this error when I open the contrast popup (which also doesn't load with a frame.

(process:268): Gtk-WARNING **: 15:10:31.820: Broken accounting of active state for widget 0x9055860(GtkPopover)

I'm not sure how many of these are issues with the cluster and how many of these are issues with the compatibility of GTKObservables or ImageView with the cluster.

jwahlstrand commented 9 months ago

I've seen the first warning (which is usually harmless) but not the second. What's the output of versioninfo()?

ChantalJuntao commented 9 months ago
Julia Version 1.9.1
Commit 147bdf428cd (2023-06-07 08:27 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 32 × Intel(R) Xeon(R) Gold 6242 CPU @ 2.80GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, cascadelake)
  Threads: 1 on 32 virtual cores
Environment:
  JULIA_HISTORY = ~/.julia/logs/repl_history.jl
  JULIA_DEPOT_PATH = /storage1/fs1/holy/Active/chantal/.julia
  LD_LIBRARY_PATH = /opt/thpc/2023.06/linux/x86_64/intel/cascadelake/easybuild/software/Julia/1.9.1-linux-x86_64/lib:/opt/ibm/lsfsuite/lsf/10.1/linux2.6-glibc2.3-x86_64/lib::

For additional context, ImageView v0.11.7 performs fine

jwahlstrand commented 9 months ago

Huh, it seems likely to be a JLL issue. I wonder if some GTK4 dependency living in LD_LIBRARY_PATH is being picked up by the library. We may have to bring in someone who understands that stuff better than me. I will try to think of useful diagnostics when I have time (later this week).

jwahlstrand commented 7 months ago

Sorry for failing to return until now. I recently updated the GTK library to the latest version. If that doesn't change anything, you could try setting ENV["GSK_RENDERER"]="cairo" before calling using ImageView. This forces GTK4 to use the Cairo renderer, which is what GTK3 uses by default.