Author Topic: Ubuntu: silently fails to launch  (Read 3223 times)

0 Members and 1 Guest are viewing this topic.

Offline howanu

  • VIP
  • Newbie
  • *
  • Posts: 2
    • View Profile
Ubuntu: silently fails to launch
« on: June 27, 2025, 01:35:05 »
When I try to launch (double-click or CLI), ancestris fails silently with "No X11 DISPLAY variable was set, or no headful library support was found, but this program performed an operation which requires it".

Which Operating System? : Linux
Which version of the O.S.? : Ubuntu 24.04
Which version of Ancestris? : Ancestris-13 26-81d21190648c8a1bae92bc9cdb0bb9783ae4912f (From ZIP)
What is your Java version? : java-21-openjdk-amd64
What are the windows opened on your Ancestris application? : N/A
This bug is related to the application itself or a plugin? : the application itself
If you use the beta version, do you update Ancestris each time a new version is available? : I am a first-time user

What is the process that makes the bug to appear (the more details  you can give, the better it is) :

Code: [Select]
~/src/ancestris$ echo $DISPLAY
:0
~/src/ancestris$ sudo X -version

X.Org X Server 1.21.1.11
X Protocol Version 11, Revision 0
Current Operating System: Linux Latitude-E6440 6.11.0-25-generic #25~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 15 17:20:50 UTC 2 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.11.0-25-generic root=UUID=e2034979-72e0-4f9f-8a87-2c7bcc2a1d78 ro quiet splash vt.handoff=7
xorg-server 2:21.1.12-1ubuntu1.3
Current version of pixman: 0.42.2
~/src/ancestris$ dpkg -l | grep xorg-core
ii  xserver-xorg-core                             2:21.1.12-1ubuntu1.3                     amd64        Xorg X server - core server
~/src/ancestris$ cd bin
~/src/ancestris/bin$ ./ancestris
 
Identifying path and application name:
   progdir=.
   APPNAME=ancestris
 
Checking configuration file on progdir/../etc:
   Configuration file found. Executing it.
 
Identifying userdir from configuration file:
   userdir(from conf file)=~/.ancestris/trunk
   userdir(after argument overwrite)=~/.ancestris/trunk
 
Checking configuration file on userdir/etc:
   Configuration file from userdir not found.
 
Checking if jdkhome is defined: (for MacOS, /Contents/Home should be at the end)
   jdkhome=/usr/lib/jvm/java-21-openjdk-amd64
 
Checking JAVA presence
   Linux...
================================================================
openjdk version "21.0.7" 2025-04-15
OpenJDK Runtime Environment (build 21.0.7+6-Ubuntu-0ubuntu124.04)
OpenJDK 64-Bit Server VM (build 21.0.7+6-Ubuntu-0ubuntu124.04, mixed mode, sharing)
================================================================
Found JAVA executable in PATH
JAVA is installed.
JAVA version is more than 1.8
 
Defining clusters:
   clusters=~/src/ancestris/ancestris:~/src/ancestris/harness:
 
Defining exec command:
   nbexec=./../platform/lib/nbexec
 
Running exec command:
   => Linux system detected...
 
Command to be executed:

exec /bin/bash './../platform/lib/nbexec'             --jdkhome '/usr/lib/jvm/java-21-openjdk-amd64'             --clusters '~/src/ancestris/ancestris:~/src/ancestris/harness:'             --userdir '~/.ancestris/trunk'             --branding ancestris -J-Xms96m -J-Xmx1g --laf javax.swing.plaf.nimbus.NimbusLookAndFeel -J-XX:+IgnoreUnrecognizedVMOptions -J-XX:+UseStringDeduplication -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.zip.disableMemoryMapping=true -J--add-opens=java.base/java.net=ALL-UNNAMED -J--add-opens=java.base/java.lang.ref=ALL-UNNAMED -J--add-opens=java.base/java.lang=ALL-UNNAMED  -J--add-opens=java.base/java.util=ALL-UNNAMED -J--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED -J--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED -J--add-exports=java.management/sun.management=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.text=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.synth=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED -J--add-opens=java.desktop/java.awt=ALL-UNNAMED -J--add-opens=java.desktop/java.awt.event=ALL-UNNAMED -J--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED -J--add-exports=java.desktop/com.sun.beans.editors=ALL-UNNAMED -J--add-exports=java.desktop/sun.swing=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt.im=ALL-UNNAMED -J--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED -J--add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED -J--add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED -J--add-opens=java.desktop/com.sun.java.swing.plaf.motif=ALL-UNNAMED

Backtrace in the log file :

Code: [Select]
java.awt.HeadlessException:
No X11 DISPLAY variable was set,
or no headful library support was found,
but this program performed an operation which requires it,

        at java.desktop/sun.awt.HeadlessToolkit.getScreenResolution(HeadlessToolkit.java:122)
        at genj.renderer.RenderOptions.<init>(RenderOptions.java:53)
        at genj.renderer.RenderOptions.<clinit>(RenderOptions.java:46)
Caused: java.lang.ExceptionInInitializerError
        at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
        at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1160)
        at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:300)
        at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newConstructorAccessor(MethodHandleAccessorFactory.java:103)
        at java.base/jdk.internal.reflect.ReflectionFactory.newConstructorAccessor(ReflectionFactory.java:200)
        at java.base/java.lang.reflect.Constructor.acquireConstructorAccessor(Constructor.java:549)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
        at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:789)
(Full messages.log is attached)

Offline Zurga

  • VIP
  • Supernatural Member
  • *
  • Posts: 4 945
    • View Profile
Re: Ubuntu: silently fails to launch
« Reply #1 on: June 27, 2025, 07:43:03 »
In your list of installed package, do you have a non headless Java ?

See here : https://improveandrepeat.com/2024/08/how-to-fix-the-no-x11-display-error-with-java-applications-on-ubuntu-24-04-lts/

Zurga
« Last Edit: June 27, 2025, 07:47:22 by Zurga »

Offline howanu

  • VIP
  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Ubuntu: silently fails to launch
« Reply #2 on: June 27, 2025, 22:21:03 »
Thank you so much for your help! Ancestris now works. Following the advice on the site that you recommended, I installed openjdk-21-jdk:

Code: [Select]
$ sudo apt install openjdk-21-jdk
<snip/>
$ java -version
openjdk version "21.0.7" 2025-04-15
OpenJDK Runtime Environment (build 21.0.7+6-Ubuntu-0ubuntu124.04)
OpenJDK 64-Bit Server VM (build 21.0.7+6-Ubuntu-0ubuntu124.04, mixed mode, sharing)

Strangely enough, the output of "java -version" above matches exactly with the output prior to installing. I'm not sure how to tell whether one is running headless openjdk, other than installing and seeing if that works.