Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 478041

Summary: JavaFX-related UI tests fail on GEF HIPP due to GLX version problem.
Product: Community Reporter: Alexander Nyßen <nyssen>
Component: CI-JenkinsAssignee: CI Admin Inbox <ci.admin-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P3 CC: cletavernier, denis.roy, mariotinsley, matthias.wienand, mikael.barbero, webmaster
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Alexander Nyßen CLA 2015-09-22 06:10:36 EDT
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.eclipse.gef4.mvc.fx.tests.AllTests
ES2 Prism: Error - reported GLX version = 1.2
    GLX version 1.3 or higher is required
Xlib:  extension "RANDR" missing on display ":1265.0".
Tests run: 6, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 11.774 sec <<< FAILURE!


We have recently added some UI tests to gef4-master, which are based on JavaFX. The tests fail and it seems the Prism engine of JavaFX would need GLX minimum version 1.3. Please update our HIPP accordingly.
Comment 1 Mikaël Barbero CLA 2015-09-29 11:28:40 EDT
I can't find any newer version of GLX available for the linux distribution we use for HIPP servers. 

Here are the options:

- build the the required lib and drop it in /shared/common
- wait until the host is upgraded to something that supports glx 1.3
- wait for availability of slaves on HIPPs. We will offer slaves with different flavors, so you will be able to choose one with the lib you need.
Comment 2 Alexander Nyßen CLA 2015-09-29 12:33:17 EDT
What distribution is used? What would be the timeframes for the respective options?
Comment 3 Denis Roy CLA 2015-09-30 14:23:25 EDT
HIPPs run on SLES 11 SP3, which is an entreprise Linux OS.  It may not be suitable for all builds.

As for the timeframe of the options:

- build the the required lib and drop it in /shared/common

You can do this now, since /shared/common is world-writable


- wait until the host is upgraded to something that supports glx 1.3

That could take a while, since it's a large undertaking.



- wait for availability of slaves on HIPPs. We will offer slaves with different flavors, so you will be able to choose one with the lib you need.

I believe we already have a recent version of CentOS, and RHEL is on the way.


Another option is to not use our build servers. I don't like offering this as an option, but it occurs to me that some projects may thing building on Eclipse servers is a requirement, when it is not.
Comment 4 Alexander Nyßen CLA 2015-10-01 06:01:59 EDT
(In reply to Denis Roy from comment #3)
> HIPPs run on SLES 11 SP3, which is an entreprise Linux OS.  It may not be
> suitable for all builds.
> 
> As for the timeframe of the options:
> 
> - build the the required lib and drop it in /shared/common

I fear its not as easy as this (see http://help.lockergnome.com/linux/upgrade-GLX--ftopict501894.html for example). What graphics cars is used on the machine?

> You can do this now, since /shared/common is world-writable
> 

How would I access the file system of my HIPP? /jobs/genie.gef does not seem to exist.

> 
> - wait until the host is upgraded to something that supports glx 1.3
> 
> That could take a while, since it's a large undertaking.
> 
> 
> 
> - wait for availability of slaves on HIPPs. We will offer slaves with
> different flavors, so you will be able to choose one with the lib you need.
> 
> I believe we already have a recent version of CentOS, and RHEL is on the way.

That sounds like an option. When will a client that supports javafx be available?

> 
> Another option is to not use our build servers. I don't like offering this
> as an option, but it occurs to me that some projects may thing building on
> Eclipse servers is a requirement, when it is not.

We have recently moved to the HIPP with quite some effort. I would like to get that running on Eclipse infrastructure, for the sake of transparency.
Comment 5 Mikaël Barbero CLA 2015-10-01 07:12:33 EDT
(In reply to Alexander Nyßen from comment #4)
> (In reply to Denis Roy from comment #3)
> > HIPPs run on SLES 11 SP3, which is an entreprise Linux OS.  It may not be
> > suitable for all builds.
> > 
> > As for the timeframe of the options:
> > 
> > - build the the required lib and drop it in /shared/common
> 
> I fear its not as easy as this (see
> http://help.lockergnome.com/linux/upgrade-GLX--ftopict501894.html for
> example). What graphics cars is used on the machine?
> 
> > You can do this now, since /shared/common is world-writable
> > 
> 
> How would I access the file system of my HIPP? /jobs/genie.gef does not seem
> to exist.

You can't. We don't provide ssh access to HIPP machines. What you can do, is a dummy job on your HIPP with a shell script doing what you want on /jobs/genie.gef.

> > 
> > - wait until the host is upgraded to something that supports glx 1.3
> > 
> > That could take a while, since it's a large undertaking.
> > 
> > 
> > 
> > - wait for availability of slaves on HIPPs. We will offer slaves with
> > different flavors, so you will be able to choose one with the lib you need.
> > 
> > I believe we already have a recent version of CentOS, and RHEL is on the way.
> 
> That sounds like an option. When will a client that supports javafx be
> available?

Our plan is to define a robust infrastructure to be able to provide slaves to all HIPPs (see bug 427908). We were waiting for the new version (3.3.1) of Hudson to be released to go forward with this (see bug 469724). It has been released last week but it does not seem to have the required plugin yet. I have pinged the Hudson team about the current state.

> > 
> > Another option is to not use our build servers. I don't like offering this
> > as an option, but it occurs to me that some projects may thing building on
> > Eclipse servers is a requirement, when it is not.
> 
> We have recently moved to the HIPP with quite some effort. I would like to
> get that running on Eclipse infrastructure, for the sake of transparency.

It is perfectly understandable. The move to the HIPP has required some more effort on your side compared to what we are used to see for other project. But it will provide more flexibility to you and to us.

In order to help you with that issue, I can add the Centos slave to your HIPP with a single executor .This slave support GLX 1.4 (I just installed the required package, see the output of glxinfo on https://hudson.eclipse.org/cbi/job/test-glx/lastBuild/console). Please be aware that we don't aim at supporting this slave on the long term and that it is used for other testing so it may be slow and/or break from time to time. 

This could be a temporary solution until we come with a much more robust infrastructure for providing slaves to HIPP (see bugs referenced above). I will talk later today with Denis about other solutions we may provide you.
Comment 6 Mikaël Barbero CLA 2015-10-08 12:06:21 EDT
I just installed the centos slave on your HIPP. I also changed the configuration of the gef4-master job make it run on it and started a new build.
Comment 7 Alexander Nyßen CLA 2015-10-08 13:08:16 EDT
(In reply to Mikael Barbero from comment #6)
> I just installed the centos slave on your HIPP. I also changed the
> configuration of the gef4-master job make it run on it and started a new
> build.

Great! Thanks! Looks like JavaFX is now available, while some tiny details still seem to be missing:

Error: JavaFX detected no fonts! Please refer to release notes for proper font configuration
Exception in thread "JavaFX Application Thread" java.lang.ExceptionInInitializerError

Could you please have a look at it?
Comment 8 Mikaël Barbero CLA 2015-10-09 04:13:06 EDT
I just installed xorg fonts on the slave and restarted a build.
Comment 9 Mikaël Barbero CLA 2015-10-09 06:06:04 EDT
It seems that new errors are now happening with SWT. It seems that it can be fixed with workaround specified in bug 430736 comment 50. Would you try that?
Comment 10 Alexander Nyßen CLA 2015-10-09 10:50:12 EDT
I added a system property to our surefire tests. Let's see if this is the last puzzle piece.
Comment 11 Alexander Nyßen CLA 2015-10-09 12:53:21 EDT
We're green again! Thanks for your support!
Comment 12 Denis Roy CLA 2015-10-09 13:36:02 EDT
Nice work gentlemen.