JavaFX on headless Jenkins

Tom Eugelink tbee at tbee.org
Tue Jan 7 11:11:02 PST 2014


Nope, Xvfb has the same problem...

Xvfb starting$ /usr/bin/Xvfb :2 -screen 0 1024x768x24 -fbdir /var/lib/jenkins/2014-01-07_19-17-242962656246439721545xvfb

...

:*test*
Executing task ':test' (up-to-date check took 0.051 secs) due to:
   No history is available.
Starting process 'Gradle Worker 1'. Working directory: /var/lib/jenkins/workspace/JFXtrasLabs8.0 Command: /usr/lib/jvm/jdk1.8.0-ea/bin/java -Djava.security.manager=jarjar.org.gradle.process.internal.child.BootstrapSecurityManager -Dfile.encoding=UTF-8 -ea -cp /var/lib/jenkins/.gradle/caches/1.9/workerMain/gradle-worker.jar jarjar.org.gradle.process.internal.launcher.GradleWorkerMain
Successfully started process 'Gradle Worker 1'
Gradle Worker 1 executing tests.

jfxtras.labs.scene.control.test.ListSpinnerEditableTest > enterSelectValueByTyping STANDARD_ERROR
     Graphics Device initialization failed for :  es2, sw
     Error initializing QuantumRenderer: no suitable pipeline found
     java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
     	at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:300)
     	at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244)
     	at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:179)
     	at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210)
     	at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653)
     	at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
     	at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56)
     	at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158)
     	at java.lang.Thread.run(Thread.java:744)
     Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
     	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:98)
     	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:128)
     	... 1 more
     Exception in thread "Thread-4" java.lang.RuntimeException: No toolkit found
     	at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:191)
     	at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:210)
     	at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653)
     	at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
     	at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56)
     	at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158)
     	at java.lang.Thread.run(Thread.java:744)

jfxtras.labs.scene.control.test.ListSpinnerEditableTest > enterSelectValueByTyping FAILED
     java.lang.RuntimeException: Unable to show stage

         Caused by:
         java.util.concurrent.TimeoutException: Timeout waiting for task.



But I can start both the xvnc and Xvfb manually as user Jenkins, for example Xvfb:

/jenkins at leah:~$ /usr/bin/Xvfb :2 -screen 0 1024x768x24 -fbdir /tmp//
//SELinux: Disabled on system, not enabling in X server//
//[dix] Could not init font path element /usr/share/fonts/X11/cyrillic, removing from list!/

Then I need to ^C to terminate Xvfb.
But it does seem that your Travis environments indeed has run the tests:
https://travis-ci.org/JFXtras/jfxtras-labs/builds/15810910

So the question is: how did Travis do that (since both approaches are identical)? One thing I notice is that it starts Xfvb as a service, not as an application.
sh -e /etc/init.d/xvfb start

But that script is not available on my Linux after installing Xvfb...

Tom


On 2014-1-7 6:58, Tom Eugelink wrote:
> Ok. I saw xfvb passing by, but most blogs talked about xvnc, I'll give that a spin. Thanks.
>
> Tom
>
> BTW: the Travis environment keeps reporting errors; it has trouble downloading one of the supporting jar from maven.
>
>
> On 2014-1-6 23:49, Matthieu BROUILLARD wrote:
>> On the linux nodes on travis.org <http://travis.org> xvfb is used to mimic a GUI environment on headless nodes.
>> Have a look at : http://about.travis-ci.org/docs/user/gui-and-headless-browsers/ you might be probably able to do something like that on your linux box.
>>
>> Matthieu
>



More information about the openjfx-dev mailing list