Unable to run flashplayer under Jenkins

246 views
Skip to first unread message

Wim Deblauwe

unread,
Jan 7, 2014, 7:35:56 AM1/7/14
to jenkins...@googlegroups.com
Hi,

I am trying to get the latest flashplayer running under Ubuntu using WINE with Jenkins using vncserver. I have it running fine when logging in manually as the 'jenkins' user. I can see the flashplayer in the remote desktop. However, it does not work from inside the Jenkins application.

This is what the log shows:

[DEBUG] [LAUNCHER] exec: [flashplayer] - /var/lib/jenkins/jobs/Flux/workspace/client-domain/target/test-classes/TestRunner.swf 
[DEBUG] [LAUNCHER] Creating process 
[WARNING] [LAUNCHER] Using regular flashplayer tests 
[DEBUG] [LAUNCHER] Executing command: [flashplayer, /var/lib/jenkins/jobs/Flux/workspace/client-domain/target/test-classes/TestRunner.swf] 
[DEBUG] [net.flexmojos.oss.test.monitor.ResultHandler] opened server socket on port 34936 
[DEBUG] [LAUNCHER] Process created java.lang.UNIXProcess@43c15a1e 
[DEBUG] [MOJO] launcher STARTED 
[DEBUG] [MOJO] pinger STARTED 
[DEBUG] [MOJO] resultHandler STARTED 
[DEBUG] [LAUNCHER] Output pumpers ON 
[DEBUG] [LAUNCHER] Waiting for flashplayer termination 
[DEBUG] [SYSOUT]: Starting flashplayer using WINE 
[DEBUG] [SYSOUT]: DISPLAY=:86 

[DEBUG] [MOJO] launcher RUNNING 
[DEBUG] [MOJO] pinger STARTED 
[DEBUG] [MOJO] resultHandler STARTED 

[DEBUG] [SYSERR]: p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory 
[DEBUG] [MOJO] launcher RUNNING 
[DEBUG] [MOJO] pinger STARTED 
[DEBUG] [MOJO] resultHandler STARTED 

[DEBUG] [MOJO] launcher RUNNING 
[DEBUG] [MOJO] pinger STARTED 
[DEBUG] [MOJO] resultHandler STARTED 
[DEBUG] [SYSERR]: libGL error: failed to load driver: swrast 
[DEBUG] [SYSERR]: libGL error: Try again with LIBGL_DEBUG=verbose for more details. 
[DEBUG] [SYSERR]: err:wgl:X11DRV_WineGL_InitOpenglInfo  couldn't initialize OpenGL, expect problems 
[DEBUG] [SYSERR]: fixme:win:EnumDisplayDevicesW ((null),0,0x33e0e8,0x00000000), stub! 
[DEBUG] [SYSERR]: fixme:thread:start_thread Started native thread 0000002b 

[DEBUG] [SYSERR]: Segmentation fault (core dumped) 
[DEBUG] [LAUNCHER] Flashplayer closed 
[DEBUG] [LAUNCHER] runtime exit as expected 
[DEBUG] [MOJO] launcher DONE 
[DEBUG] [MOJO] pinger STARTED 
[DEBUG] [MOJO] resultHandler STARTED 

The most important line is probably:

[DEBUG] [SYSERR]: libGL error: failed to load driver: swrast 

I can reproduce this error with glxinfo (Ubuntu command line tool) running as the jenkins user:

The strange thing is that I can start flashplayer this way (manually from the command line as the jenkins user) without an issue. But starting this same flashplayer script (which in turn starts wine to start the flashplayer .exe) in a jenkins build fails with the same message as glxinfo:

jenkins@wdb-vb-java7:~/jobs/Flux/workspace/client-domain$ LIBGL_DEBUG=verbose glxinfo
name of display: :1
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL error: failed to load driver: swrast
Error: couldn't find RGB GLX visual or fbconfig
Error: couldn't find RGB GLX visual or fbconfig

You can see more info at my question: http://askubuntu.com/questions/401459/failure-to-load-swrast-driver


Any idea what might the difference between Jenkins the webapp running and logging in manually as the jenkins user ?

regards,

Wim


Dirk Heinrichs

unread,
Jan 7, 2014, 8:32:38 AM1/7/14
to jenkins...@googlegroups.com
Am 07.01.2014 13:35, schrieb Wim Deblauwe:
Any idea what might the difference between Jenkins the webapp running and logging in manually as the jenkins user ?

A real user has $DISPLAY set, Jenkins has not. You could try using Xvfb to give your Jenkins job a (virtual) display (there should even be a Jenkins plugin).

HTH...

    Dirk
--

Dirk Heinrichs, Senior Systems Engineer, Engineering Solutions
Recommind GmbH, Von-Liebig-Straße 1, 53359 Rheinbach
Tel: +49 2226 1596666 (Ansage) 1149
Email: d...@recommind.com
Skype: dirk.heinrichs.recommind
www.recommind.com

Wim Deblauwe

unread,
Jan 7, 2014, 8:35:09 AM1/7/14
to jenkins...@googlegroups.com
I am using vncserver and the vncserver plugin in jenkins to provide $DISPLAY. I check with a pre-compilation step if $DISPLAY is set and it is. I can connect with vinagre to the remote desktop while the jenkins job is running.


2014/1/7 Dirk Heinrichs <d...@recommind.com>

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-users/1e0FGxYHs_Y/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-use...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Logo.gif

Dirk Heinrichs

unread,
Jan 7, 2014, 9:08:05 AM1/7/14
to jenkins...@googlegroups.com
Am 07.01.2014 14:35, schrieb Wim Deblauwe:

I am using vncserver and the vncserver plugin in jenkins to provide $DISPLAY. I check with a pre-compilation step if $DISPLAY is set and it is. I can connect with vinagre to the remote desktop while the jenkins job is running.

Can you tell exactly which VNC server package you have installed (and which Ubuntu version it is)? My Ubunutu 13.10 offers 3 different VNC server packages:

tightvncserver - virtual network computing server software
vnc4server - Virtual network computing server software
x11vnc - VNC server to allow remote access to an existing X session

I will then try to reproduce this @home.

Bye...

Wim Deblauwe

unread,
Jan 7, 2014, 9:11:28 AM1/7/14
to jenkins...@googlegroups.com
I am using Ubuntu 13.10 with vnc4server


2014/1/7 Dirk Heinrichs <d...@recommind.com>

--
Logo.gif

Dirk Heinrichs

unread,
Jan 8, 2014, 1:29:49 AM1/8/14
to jenkins...@googlegroups.com
Am 07.01.2014 15:11, schrieb Wim Deblauwe:

I am using Ubuntu 13.10 with vnc4server

I could reproduce the problem. However, I didn't find a solution. Looks like both Xvnc and Xvfb don't have proper OpenGL support. Maybe you could setup a Windows slave (VM) for running flashplayer.

HTH...

Wim Deblauwe

unread,
Jan 8, 2014, 3:10:22 AM1/8/14
to jenkins...@googlegroups.com
Hi, 

Thanks for testing this. But how come it can work if I start flashplayer manually from the command line into Xvnc ?

Is it possible to only run 1 maven child project in a multi-module project on a different slave ?

regards,

Wim


2014/1/8 Dirk Heinrichs <d...@recommind.com>

--
Logo.gif

JonathanRRogers

unread,
Jan 8, 2014, 1:05:11 PM1/8/14
to jenkins...@googlegroups.com
On Wednesday, January 8, 2014 3:10:22 AM UTC-5, Wim Deblauwe wrote:
Hi, 

Thanks for testing this. But how come it can work if I start flashplayer manually from the command line into Xvnc ?

I haven't tried running flashplayer under Wine connected to a vncserver so I can't say if it's reasonable to expect it to work. However, any difference in behavior you're seeing is most likely the result of differences in the environment, whether DISPLAY or some other variable. I had a number of difficult to understand problems with my Jenkins builds until I made a concerted effort to set up the same environment in an interactive login and Jenkins job run.

Since OpenGL is involved, I'd look at variables which affect shared library loading. It's even possible that when you run flashplayer in an interactive shell, it's using the OpenGL library of real hardware while displaying in a vncserver.


Wim Deblauwe

unread,
Jan 9, 2014, 11:12:42 AM1/9/14
to jenkins...@googlegroups.com
Hi,

"Since OpenGL is involved, I'd look at variables which affect shared library loading."

Do you have information on what variables that are? I suppose PATH is, but are there others?

"It's even possible that when you run flashplayer in an interactive shell, it's using the OpenGL library of real hardware while displaying in a vncserver."

Sounds crazy, but it could explain the behaviour I see indeed.

regards,

Wim



2014/1/8 JonathanRRogers <jonatha...@gmail.com>

Jonathan Rogers

unread,
Jan 9, 2014, 11:20:07 AM1/9/14
to jenkins...@googlegroups.com
Wim Deblauwe wrote:
> Hi,
>
> "Since OpenGL is involved, I'd look at variables which affect shared
> library loading."
>
> Do you have information on what variables that are? I suppose PATH is,
> but are there others?

The man page for the dynamic loader would be a good place to start. You
also might want to look at the docs for the particular OpenGL
driver/library currently in use. Or, just look at variables which are
different between the interactive shell and Jenkins job environment.

<URL:http://man7.org/linux/man-pages/man8/ld.so.8.html>
<http://man7.org/linux/man-pages/man8/ld.so.8.html>

>
> "It's even possible that when you run flashplayer in an interactive
> shell, it's using the OpenGL library of real hardware while displaying
> in a vncserver."
>
> Sounds crazy, but it could explain the behaviour I see indeed.
>
> regards,
>
> Wim
>
>

--
Jonathan Rogers

Reply all
Reply to author
Forward
0 new messages