Bug #6794
openCannot run two instances at the same time with two different users
0%
Description
If I try to run Kepler at the same time with two different users the second instance fails with the following error:
[run] Kepler Initializing...
[run] Command failed
[run] Arguments: -kepler
[run]
[run] java.lang.Exception: Failed to parse "-kepler"
[run] at ptolemy.actor.gui.ConfigurationApplication.throwArgsException(ConfigurationApplication.java:845)
[run] at ptolemy.actor.gui.ConfigurationApplication.<init>(ConfigurationApplication.java:320)
[run] at ptolemy.actor.gui.MoMLApplication.<init>(MoMLApplication.java:80)
[run] at ptolemy.vergil.VergilApplication.<init>(VergilApplication.java:112)
[run] at ptolemy.vergil.VergilApplication$1.run(VergilApplication.java:243)
[run] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
[run] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
[run] at java.awt.EventQueue.access$200(EventQueue.java:103)
[run] at java.awt.EventQueue$3.run(EventQueue.java:694)
[run] at java.awt.EventQueue$3.run(EventQueue.java:692)
[run] at java.security.AccessController.doPrivileged(Native Method)
[run] at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
[run] at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
[run] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
[run] at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
[run] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
[run] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
[run] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
[run] at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
[run] Caused by: java.lang.Exception: Failed to read configuration 'file:/diskb/scratch/vforchi/sw/reflex/common-2.4/configs/ptolemy/configs/kepler/configuration.xml'
[run] at ptolemy.vergil.VergilApplication._createDefaultConfiguration(VergilApplication.java:335)
[run] at ptolemy.vergil.VergilApplication._createEmptyConfiguration(VergilApplication.java:371)
[run] at ptolemy.actor.gui.ConfigurationApplication._parseArgs(ConfigurationApplication.java:1327)
[run] at ptolemy.vergil.VergilApplication._parseArgs(VergilApplication.java:501)
[run] at ptolemy.actor.gui.ConfigurationApplication.<init>(ConfigurationApplication.java:244)
[run] ... 17 more
[run] Caused by: java.lang.Exception: Failed to call application initializer class "org.kepler.gui.KeplerInitializer". Perhaps the configuration file "file:/diskb/scratch/vforchi/sw/reflex/common-2.4/configs/ptolemy/configs/kepler/configuration.xml" has a problem?
[run] at ptolemy.actor.gui.ConfigurationApplication.readConfiguration(ConfigurationApplication.java:686)
[run] at ptolemy.vergil.VergilApplication._createDefaultConfiguration(VergilApplication.java:333)
[run] ... 21 more
[run] Caused by: java.sql.SQLException: Access is denied
[run] at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
[run] at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
[run] at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
[run] at org.hsqldb.jdbcDriver.connect(Unknown Source)
[run] at java.sql.DriverManager.getConnection(DriverManager.java:571)
[run] at java.sql.DriverManager.getConnection(DriverManager.java:215)
[run] at org.kepler.util.sql.HSQL._getConnection(HSQL.java:489)
[run] at org.kepler.util.sql.DatabaseFactory.getDBConnection(DatabaseFactory.java:141)
[run] at org.kepler.gui.KeplerInitializer.initializeSystem(KeplerInitializer.java:171)
[run] at org.kepler.gui.KeplerInitializer.<init>(KeplerInitializer.java:98)
[run] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[run] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
[run] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[run] at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
[run] at java.lang.Class.newInstance(Class.java:374)
[run] at ptolemy.actor.gui.ConfigurationApplication.readConfiguration(ConfigurationApplication.java:684)
[run] ... 22 more
[run] Checking for patches...
And the attached window pops up.
Are there any plans to fix this or is it there a workaround?
Files
Updated by Matt Jones over 9 years ago
What version of Kepler do you have? I thought we had worked out these issues with launching multiple versions of Kepler with the 2.4 release. Details of the conflicts with HSQL ports for multiple instances are described here: https://kepler-project.org/developers/reference/accessing-hsql
Dan Crawl, do you have a sense whether this SQL exception on launching the second error is related to HSQL port conflicts? Seems like this should work under Kepler 2.4.
Updated by Daniel Crawl over 9 years ago
This problem is fixed in the Kepler svn trunk and in Kepler 2.4 as a patch. If you are using Kepler 2.4, make sure you have downloaded the patches. You can check by going to Tools -> Module Manager, and in the Current Suite tab list of modules, you should see core-2.4.1. If you have core-2.4.0, then you'll need to download the patches by going to the Available Suites and Modules tab and clicking on Check for Patches Now.
The error message in the stack trace looks like the second Kepler instance is trying to connect to the first instance using the same port.