[kepler-dev] Kepler can only be invoked once

Christopher Brooks cxh at eecs.berkeley.edu
Fri May 11 07:25:41 PDT 2007

Hi Norbert,

Your solution will probably run Ptolemy models that do not use the UI.
I'm not sure if it will run Kepler models that do anything fancy with
ontologies etc.

Also, I had to set the classpath.  
I got:
#! /bin/bash
java -Xmx512m -Xss5m -DKEPLER="$KEPLER" \
     -classpath "${PTII};${KEPLER}" \
     -Djava.endorsed.dirs=$KEPLER/lib/jar/apache \
     ptolemy.actor.gui.MoMLSimpleApplication $*

For info about invoking Ptolemy II, see

However, invoking Kepler twice on the same machine via "ant run-dev"
does not work.  I get:

     [java] Caused by: java.sql.SQLException: The database is already
     in use by another process: org.hsqldb.NIOLockFile at f0f563da[file =C:\Documents
     and Settings\cxh\.kepler\cache\cachedata\hsqldb.lck, exists=true, locked=false,
     valid=false,fl =null]: java.lang.Exception: The process cannot access the file
     because another process has locked a portion of the file :
     C:\Documents and Settings\cxh\.kepler\cache\cachedata\hsqldb.lck
     [java]     at org.hsqldb.jdbc.jdbcUtil.sqlException(Unknown Source)
     [java]     at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
     [java]     at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
     [java]     at org.hsqldb.jdbcDriver.connect(Unknown Source)
     [java]     at java.sql.DriverManager.getConnection(DriverManager.java:525)
     [java]     at java.sql.DriverManager.getConnection(DriverManager.java:171)
     [java]     at org.ecoinformatics.util.DBConnectionFactory.getDBConnection(DBConnectionFactory.java:91)
     [java]     at org.ecoinformatics.util.DBConnectionFactory.getDBConnection(DBConnectionFactory.java:73)
     [java]     at org.kepler.gui.KeplerInitializer.initializeSystem(KeplerInitializer.java:133)
     [java]     at org.kepler.gui.KeplerInitializer.<init>(KeplerInitializer.java:80)
     [java]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     [java]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
     [java]     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
     [java]     at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
     [java]     at java.lang.Class.newInstance0(Class.java:350)
     [java]     at java.lang.Class.newInstance(Class.java:303)
     [java]     at ptolemy.actor.gui.MoMLApplication.readConfiguration(MoMLApplication.java:396)
     [java]     ... 14 more

Total time: 9 seconds

This bug was marked as WONTFIX by Chad, who wrote:

> The only way we could fix this is to have multiple .kepler
> directories on one machine. This would require a profiling system
> like morpho has.  Since I don't think this is on our list of things
> to do, i'm going to mark this WONTFIX.  If at some point we add a
> profile system, possibly when we add authentication, this problem
> should be fixed.



    Hi Lisong,
    If you want to execute workflows from command-line, just create a script 
    similar to kepler.sh and replace the java command for the following:
    java -Xmx512m -Xss5m -DKEPLER="$KEPLER" 
    -Djava.library.path=$KEPLER/lib ptolemy.actor.gui.MoMLSimpleApplication $*
    (note, KEPLER should be defined for the above script)
    This can be executed several times at once, giving the workflow name as 
    Best regards
          Norbert Podhorszki
          University of California, Davis
          Department of Computer Science
          1 Shields Ave, 2236 Kemper Hall
          Davis, CA 95616
          (530) 752-5076
          pnorbert at cs.ucdavis.edu
    On Thu, 10 May 2007, Sun, Lisong wrote:
    > Dear Kepler developers,
    > Our group is developing a process integration framework which use Kepler 
    > build and run workflows to do scientific computations. We built an organi
    > application that will manage the workflow files on the WebDAV server,
    > input/output for each run and other provenance information.
    > So far we are very impressed by the capabilities of Kepler. Meanwhile we 
    > run into a few problems that we are not sure how to deal with.
    > One of the problem is that we found Kepler can only be invoked once. And 
    > there is a running Kepler, the second invoke command will fail. This does
    > get in our way of using the Kepler since we manage all the workflow files
    > using our organizer and need to be able to invoke multiple workflows thro
    > the organizer. We do noticed that it is possible to open multiple workflo
    > windows through the menu options. Wonder if there is any special reason w
    > it can't run with second invoke command.
    > Another goal we want to achieve is to deal with long running workflows. I
    > wonder if there is anyway we can use the Kepler as an execution engine an
    > run workflows without open the GUI window.
    > Thanks for your help.
    > Best regards,
    > Lisong Sun
    > Staff Scientist
    > Pacific Northwest National Laboratory
    > _______________________________________________
    > Kepler-dev mailing list
    > Kepler-dev at ecoinformatics.org
    > http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev
    Kepler-dev mailing list
    Kepler-dev at ecoinformatics.org

More information about the Kepler-dev mailing list