[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