[kepler-dev] [kepler-nightly] Kepler Build for 06Feb13-02:06:49
Christopher Brooks
cxh at eecs.berkeley.edu
Mon Feb 13 08:30:32 PST 2006
Hi Kevin,
I've included some old notes about Xvfb and headless java.
We used Xvfb under Solaris to allow GUI applications to run while
building other projects. The nightly build of Ptolemy still
does not use a head because I want to keep Ptolemy free of GUI
dependencies at runtime. We could have two test suites: one with
a head, the other without. Another thing that has kept me from
testing graphically is that there is no really easy way to verify
test results. Running a graphical demo or starting the ui
and saying that if it does not crash then it is ok is a smoke
test and while it has some value it does not verify that the results
are ok, just that the thing did not crash. This has value
but it lulls one in to complacency that the code is actually
tested.
It would be nice if we could have some easy way of having a
PlotTest actor that would somehow be a combination of Plot
and Test where in one mode it would Plot and in another mode
it would be like the Test actor and Test against known good
results. Having one class would be one way of doing this.
I've been thinking that having a Plot class that could save the known
good results during a run and then using the MoMLFilter to
transform this graphical plot class in to a regular Test actor
would be slick because then we would not require a graphical
head. Anyway, just an idea.
Anyway, Xvfb was the way to go for us under Solaris.
--start--
Xvfb is a virtual frame buffer that is installed on gigasource so that
the bldmastr user can run tests that use the X11 system.
* Download Xvfb for Solaris from
http://chartworks.com/support/server/XvfbonUnix.html
* Grab the install.xvfb and xvfb.server scripts from
http://developers.sun.com/solaris/articles/solaris_graphics.html
* Edit xvfb.server. I needed to set X_OPTIONS to:
X_OPTIONS="-screen 0 1280x1024x32 -pixdepths 8 24 -fbdir /tmp
-co $XVFB_DIR/rgb -fp
$XVFB_DIR/fonts/misc/,$XVFB_DIR/fonts/Speedo/,$XVFB_DIR/fonts/Type1/,$XVFB_DIR/fonts/75dpi/,$XVFB_DIR/fonts/100dpi/
-sp $XVFB_DIR/SecurityPolicy"
* Run install.xvfb
* To test:
Testing and Troubleshooting Once the X server is running,
you can use your servlet application to confirm that Java
platform graphics are working. If you have trouble, check
that the X server is operating properly. As the user running
the X display (tomcat by default) follow these steps,
matching the value of -display to match your server:
% /usr/openwin/bin/xclock -display :2 &
You can use xwd (X window dump) to capture the image. Under
the Solaris 9 OE, I find that /usr/openwin/bin/xwd crashes
(see Sun bug id 4766571), so I use a copy I've obtained from
the X11 distribution that I've placed in /usr/X11R6/bin:
% /usr/X11R6/bin/xwd -display :2 -root -out /tmp/xclock.xwd
Then copy the image file over to another system and display
it to check that graphics are working, using xwud:
% /usr/openwin/bin/xwud -in /tmp/xclock.xwdY
If xclock won't run, then the server is probably not
running. Make sure that xsun.server or xvfb.server is
properly configured.
--end--
--start--
Headless Java
# PJA "PJA (Pure Java AWT) Toolkit is a JavaTM library for drawing
graphics developed by eTeks. It is 100% Pure Java and doesn't use any
native graphics resource of the system on which the Java Virtual
Machine runs."
# Java 1.4.2 AWT Changes: Headless support
#
http://java.sun.com/products/java-media/2D/forDevelopers/java2dfaq.html#xvfb
- discussion about Xvfb vs. Headless
1.
# http://forum.java.sun.com/thread.jsp?forum=20&thread=132877 says:
The headless mode allows you to use certain graphics operations
like rendering to BufferImages, fonts, imaging, and printing
without graphics hardware.
The headless mode does not, however, allow you to run any GUI
application without graphics hardware. To achieve this, you need
to use Xvfb.
# Sun Java Forum about JDK1.4 headless vs. xvfb vs. PJA
To run our environment with a headless implementation, the follow
property may be specified at the java command line:
-Djava.awt.headless=true
If I run a mescal test with -Djava.awt.headless=true, I get:
java.awt.HeadlessException
at
java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:121)
at java.awt.Window.(Window.java:274)
at java.awt.Frame.(Frame.java:401)
at java.awt.Frame.(Frame.java:366)
at javax.swing.JFrame.(JFrame.java:154)
at
mescal.views.toolbox.SyntaxErrorViewer.(SyntaxErrorViewer.java:52)
at
mescal.domains.mescalPE.kernel.MescalPEDirector._init(MescalPEDirector.java:1605)
--end--
_Christopher
--------
Hi all,
I've done what I think from here. I believe the problem with the
workflows is again related to local X server access. It might be
worthwhile to investigate the dummy X driver and have the nightly-build
script attempt to start up X with the dummy driver. I've never
attempted to use the dummy driver, but this seems to make sense to me.
Also, when I run the workflows remotely (with my local X server some
1500 miles away), I end up with wacky NullPointer exceptions when the
workflow stops. On both Windows and Mac this bug does not appear. Can
somebody with a Linux development box attempt to run ptexecute with one
or more workflow?
Kevin
kepler-nightly-build at noreply.ecoinformatics.org wrote:
> Kepler Nightly Build Email Summary
> For a full report go to http://www.kepler-project.org/nightly
> -------------------------------------------------------------
> Build started 06Feb13-01:30:43
> Ptolemy Build Successful
> Kepler Build Successful
>
> JUnit Tests:
> All unit tests passed.
>
> Workflow Tests:
> For today's workflow test results visit http://www.kepler-project.org/nig
htly/today.html#workflow
> Workflow workflows/eco/eml-simple-plot.moml FAILED:
> [java] Exception in thread "main" java.lang.NoClassDefFoundError
> Workflow workflows/eco/LVPredPreyLogistic.xml FAILED:
> [java] Exception in thread "main" java.lang.NoClassDefFoundError
> Workflow workflows/eco/DiscreteLogistic.xml FAILED:
> [java] Exception in thread "main" java.lang.NoClassDefFoundError
> Workflow workflows/eco/DiscreteLogisticSDF.xml FAILED:
> [java] Exception in thread "main" java.lang.NoClassDefFoundError
> Workflow workflows/eco/Elk_Wolf.xml FAILED:
> [java] Exception in thread "main" java.lang.NoClassDefFoundError
> Workflow workflows/eco/garpModel.xml FAILED:
> [java] Exception in thread "main" java.lang.NoClassDefFoundError
> Workflow workflows/test/test-ecogrid-eml-gce-data.xml FAILED:
> [java] Exception in thread "main" java.lang.NoClassDefFoundError
> Workflow workflows/test/IPCC_Change_NightlyBuildTest.xml FAILED:
> [java] Exception in thread "main" java.lang.NoClassDefFoundError
> Workflow workflows/test/NonstrictTest.xml FAILED:
> [java] Exception in thread "main" java.lang.NoClassDefFoundError
>
> ------------------------------------------
> Build ended at 06Feb13-02:06:49
>
> _______________________________________________
> Kepler-nightly mailing list
> Kepler-nightly at ecoinformatics.org
> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-nigh
tly
>
_______________________________________________
Kepler-dev mailing list
Kepler-dev at ecoinformatics.org
http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev
--------
More information about the Kepler-dev
mailing list