Well, I guess at the end of the day this isn't fully a Flex Mojos
issue as I can SSH into the box and do a maven compile and it runs and
uses xvfb-run correctly. It also runs correctly using the 'regular
method' if I start a VNC server and connect to that and do a compile
from the UI. It only fails when running through Hudson so it appears
there is an issue with that.
However, there does appear to be a bug with <allowHeadlessMode>. In
AsVmLauncher.java there is the useXvfb() function which has three
tests:
protected boolean useXvfb()
{
return allowHeadlessMode && OSUtils.isLinux() &&
GraphicsEnvironment.isHeadless();
}
As the function is returning true it is obvious that all three tests
there are returning true. It also must be true that
GraphicsEnvironment.isHeadless() returns false when I run it from VNC
as it uses the 'regular' method there. So there must be an issue with
allowHeadlessMode.
Even though you don't have a Linux environment to test on, you should
be able to test allowHeadlessMode by temporarily removing the
OSUtils.isLinux() and GraphicsEnvironment.isHeadless() tests. I have
tried it both ways suggested with no success.
<build>
<sourceDirectory>src/main/flex</sourceDirectory>
<testSourceDirectory>src/test/flex</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.sonatype.flexmojos</groupId>
<artifactId>flexmojos-maven-plugin</artifactId>
<version>${flex.mojos.version}</version>
<extensions>true</extensions>
<configuration>
<allowHeadlessMode>false</allowHeadlessMode>
<testRunner>
<launcher>
<allowHeadlessMode>false</
allowHeadlessMode>
</launcher>
</testRunner>
Please let me know if you can test that for me quickly, it would be a
great help
Collin
On Sep 10, 8:30 am, Marvin Froeder <[email protected]> wrote:
> Yeah, but I have no linux box right now =D
> You may approve me on gtalk and we can discuss what to do here.
>
> VELO
>
> On Thu, Sep 10, 2009 at 11:53 AM, Collin Peters
> <[email protected]>wrote:
>
>
>
> > Hmmm... can you confirm that there is a bug with <allowHeadlessMode>?
> > All you should need there I guess is a Linux box. Headless or not, if
> > you set allowHeadlessMode to false it should not try to launch xvfb
> > (as I understand it)
>
> > Also, can you comment on the error:
> > #2048: Security sandbox violation:
>
> > file:///opt/tomcat/hudson_work/jobs/intouch-devel/workspace/intouch-devel/flexV3/intouch-flex-core-lib/target/test-classes/TestRunner.swf
> > cannot load data from 127.0.0.1:13540.
>
> > I will spend some more time with this today and see if I can come to a
> > resolution
>
> > Collin
>
> > On Sep 9, 4:49 pm, Marvin Froeder <[email protected]> wrote:
> > > Only debugging to know what is going on, but I have no env like that to
> > > reproduce your problem here....=/
>
> > > On Wed, Sep 9, 2009 at 8:04 PM, Collin Peters <[email protected]
> > >wrote:
>
> > > > Hmm... still doesn't seem to make a difference. I have this now...
> > > > ----------------------
> > > > <build>
> > > > <sourceDirectory>src/main/flex</sourceDirectory>
> > > > <testSourceDirectory>src/test/flex</testSourceDirectory>
> > > > <plugins>
> > > > <plugin>
> > > > <groupId>org.sonatype.flexmojos</groupId>
> > > > <artifactId>flexmojos-maven-plugin</artifactId>
> > > > <version>${flex.mojos.version}</version>
> > > > <extensions>true</extensions>
> > > > <configuration>
> > > > <testRunner>
> > > > <launcher>
> > > > <allowHeadlessMode>false</
> > > > allowHeadlessMode>
> > > > </launcher>
> > > > </testRunner>
> > > > ----------------------
>
> > > > Again if I use true or false for <allowHeadlessMode> I get the same
> > > > output
> > > > [INFO] [flexmojos:test-run {execution: default-test-run}]
> > > > [INFO] flexmojos 3.3.0 - GNU GPL License (NO WARRANTY) - See COPYRIGHT
> > > > file
> > > > [INFO] Running tests /opt/apache-tomcat-6.0.18/hudson_work/jobs/
> > > > intouch-devel/workspace/intouch-devel/flexV3/intouch-flex-core-lib/
> > > > target/test-classes/TestRunner.swf
> > > > [WARNING] [LAUNCHER] Using xvfb-run to launch headless tests
>
> > > > Collin
>
> > > > On Sep 9, 12:36 pm, Marvin Froeder <[email protected]> wrote:
> > > > > Ow cheat, that maven-plexus bug again....
> > > > > Try that.... should work...
>
> > > > > <configuration>
> > > > > <testRunner>
> > > > > <launcher>
> > > > > <allowHeadlessMode>true</...
> > > > > </...
> > > > > </...
> > > > > </...
>
> > > > > On Wed, Sep 9, 2009 at 4:28 PM, Collin Peters <
> > [email protected]
> > > > >wrote:
>
> > > > > > Hmm... that doesn't seem to make a difference.
>
> > > > > > I have:
> > > > > > <build>
> > > > > > <sourceDirectory>src/main/flex</sourceDirectory>
> > > > > > <testSourceDirectory>src/test/flex</testSourceDirectory>
> > > > > > <plugins>
> > > > > > <plugin>
> > > > > > <groupId>org.sonatype.flexmojos</groupId>
> > > > > > <artifactId>flexmojos-maven-plugin</artifactId>
> > > > > > <version>${flex.mojos.version}</version>
> > > > > > <extensions>true</extensions>
> > > > > > <configuration>
> > > > > > <allowSourcePathOverlap>true</
> > > > > > allowSourcePathOverlap>
> > > > > > <allowHeadlessMode>false</allowHeadlessMode>
> > > > > > etc...
>
> > > > > > No matter what I set <allowHeadlessMode> to (true or false), it
> > always
> > > > > > tries to run xvfb. I see the output:
> > > > > > [INFO] [flexmojos:test-run {execution: default-test-run}]
> > > > > > [INFO] flexmojos 3.3.0 - GNU GPL License (NO WARRANTY) - See
> > COPYRIGHT
> > > > > > file
> > > > > > [INFO] Running tests /opt/apache-tomcat-6.0.18/hudson_work/jobs/
> > > > > > intouch-devel/workspace/intouch-devel/flexV3/intouch-flex-core-lib/
> > > > > > target/test-classes/TestRunner.swf
> > > > > > [WARNING] [LAUNCHER] Using xvfb-run to launch headless tests
>
> > > > > > Not sure if there is a bug there or not. The strange part of all
> > of
> > > > > > this is if I ssh into my (headless) buildserver and run mvn against
> > > > > > this project on the command line, it works, tests and all. The
> > same
> > > > > > project run through Hudson fails with the "#2048: Security sandbox
> > > > > > violation". It strikes me that there must be some kind of
> > environment
> > > > > > issue that makes Hudson run it differently. Does anything jump out
> > at
> > > > > > you from the output of the above two links?
>
> > > > > > Thanks,
> > > > > > Collin
>
> > > > > > On Sep 9, 12:04 pm, Marvin Froeder <[email protected]> wrote:
> > > > > > > I think we have a bug on java here =D
> > > > > > > Flexmojos checks if JVM is running on headless mode, if yes, try
> > to
> > > > use
> > > > > > > xvfb. And as far I understand, when you launch JVM under xvnc it
> > does
> > > > > > give
> > > > > > > an UI to JVM. But ok, I won't worry about that, at least not now
> > =D
>
> > > > > > > Block flexmojos headless mode
>
> > > >http://sites.sonatype.org/flexmojos/flexmojos-maven-plugin/test-run-m.
> > ..
>
> > > > > > > VELO
>
> > > > > > > On Wed, Sep 9, 2009 at 3:53 PM, Collin Peters <
> > > > [email protected]
> > > > > > >wrote:
>
> > > > > > > > I'll start off by saying this is not a path issue :) Flex
> > Mojos
> > > > has
> > > > > > > > no trouble finding the Flash Player.
>
> > > > > > > > I believe this issue is caused by our recent upgrade to Flex
> > Mojos
> > > > 3.3
> > > > > > > > as things worked before that. We used xvnc and that entire
> > setup
> > > > > > > > worked great. It seems that 3.3 defaults to xvfb now, though,
> > and
> > > > I
> > > > > > > > don't even know how to tell it to not use xvfb. We would
> > prefer to
> > > > > > > > use xvnc, so if I can find the option to go back that, that
> > would
> > > > be
> > > > > > > > perfect
>
> > > > > > > > What is happening now is that the build is failing when run
> > through
> > > > > > > > Hudson. It works on my Ubunutu Linux development box (i.e.
> > with a
> > > > > > > > GUI) and it even works when I manually run mvn on the command
> > line
> > > > on
> > > > > > > > the build server (which is headless). It only fails when run
> > > > through
> > > > > > > > Hudson. The output on a normal build is:
> > > > > > > > ------------
> > > > > > > > [INFO] [flexmojos:test-run {execution: default-test-run}]
> > > > > > > > [INFO] flexmojos 3.3.0 - GNU GPL License (NO WARRANTY) - See
> > > > COPYRIGHT
> > > > > > > > file
> > > > > > > > [INFO] Running tests
> > /opt/tomcat/hudson_work/jobs/intouch-devel/
>
> > workspace/intouch-devel/flexV3/intouch-flex-core-lib/target/test-
> > > > > > > > classes/TestRunner.swf
> > > > > > > > [WARNING] [LAUNCHER] Using xvfb-run to launch headless tests
> > > > > > > > ------------
> > > > > > > > And then it just hangs there. If I look at the process list I
> > can
> > > > see
> > > > > > > > it running the xvfb command
> > > > > > > > ----------------
> > > > > > > > \_ /bin/sh /usr/bin/xvfb-run -a -e /tmp/
> > > > > > > > xvfbrun2113825775593935247flashplayer flashplayer /opt/tomcat/
> > > > > > > > hudson_work/jobs/intouch-devel/workspace/intouch-devel/flexV3
> > > > > > > > \_ Xvfb :99 -screen 0 640x480x8 -nolisten tcp
> > > > > > > > \_ flashplayer /opt/tomcat/hudson_work/jobs/intouch-devel/
>
> > workspace/intouch-devel/flexV3/intouch-flex-core-lib/target/test-
> > > > > > > > classes/TestRunner.swf
> > > > > > > > ------------------
>
> > > > > > > > The verbose out (-X option) shows that the classes are compiled
> > and
> > > > > > > > attempted to run through the flash player but it results in the
> > > > > > > > message:
> > > > > > > > [DEBUG] [SYSOUT]: Error #2044: Unhandled securityError:.
> > text=Error
> > > > > > > > #2048: Security sandbox violation:
>
> > file:///opt/tomcat/hudson_work/jobs/intouch-devel/workspace/intouch-devel/flexV3/intouch-flex-core-lib/target/test-classes/TestRunner.swf
> > > > > > > > cannot load data from 127.0.0.1:13540.
> > > > > > > > [DEBUG] [SYSOUT]: at
>
> > org.sonatype.flexmojos.unitestingsupport::ControlSocket/connect()[/
>
> > > > home/nexus/flexmojos/trunk/target/checkout/flexmojos-testing/flexmojos-
> > > > > > > > unittest-support/src/main/flex/org/sonatype/flexmojos/
> > > > > > > > unitestingsupport/ControlSocket.as:33]
> > > > > > > > [DEBUG] [SYSOUT]: at
>
> > > > org.sonatype.flexmojos.unitestingsupport::TestApplication/runTests()[/
>
> > > > home/nexus/flexmojos/trunk/target/checkout/flexmojos-testing/flexmojos-
> > > > > > > > unittest-support/src/main/flex/org/sonatype/flexmojos/
> > > > > > > > unitestingsupport/TestApplication.as:39]
> > > > > > > > [DEBUG] [SYSOUT]: at flash.events::EventDispatcher/
> > > > > > > > dispatchEventFunction()
> > > > > > > > [DEBUG] [SYSOUT]: at
> > > > flash.events::EventDispatcher/dispatchEvent()
> > > > > > > > [DEBUG] [SYSOUT]: at mx.core::UIComponent/dispatchEvent()[C:
> > > > > > > > \autobuild\3.3.0\frameworks\projects\framework\src\mx\core
> > > > > > > > \UIComponent.as:9308]
> > > > > > > > [DEBUG] [SYSOUT]: at mx.core::UIComponent/set
> > initialized()[C:
> > > > > > > > \autobuild\3.3.0\frameworks\projects\framework\src\mx\core
> > > > > > > > \UIComponent.as:1169]
> > > > > > > > [DEBUG] [SYSOUT]: at
> > > > mx.managers::LayoutManager/doPhasedInstantiation
>
> > ()[C:\autobuild\3.3.0\frameworks\projects\framework\src\mx\managers
> > > > > > > > \LayoutManager.as:718]
> > > > > > > > [DEBUG] [SYSOUT]: at Function/http://adobe.com/AS3/2006/
> > > > > > > > builtin::apply()
> > > > > > > > [DEBUG]
>
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Flex Mojos" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/flex-mojos?hl=en?hl=en
http://blog.flex-mojos.info/
-~----------~----~----~----~------~----~------~--~---