Bug #3694
openSharing installation among users fails, users must have write permission
0%
Description
Jianwu Wang writes:
Hi all,
One of our partner has the following requirements, which I think it is >quite common.
They want to install Kepler on one machine only once and it can be shared >by multiple users. So Kepler was installed by root user and it was started >through kepler.sh command by other users. But we got the following exception:regArray: >org.ecoinformatics.ecogrid.registry.stub.RegistryEntryArrayType@312ae32c
ERROR >(org.ecoinformatics.seek.ecogrid.SearchRegistryAction:queryRegistryRewriteConfig:246) >Problem writing new services to config file
Unable to process kar file: /home/invite/SANDIEGO/kepler/./kar/actors/ImageJ.karThe exception is because that the user do not the right to write the config >file.
To make Kepler sharable by multiple users, can we divide the config file
into public part and private part so that each user can read the public part
from the $Kepler directory and write the private part into private file, such
as in $HOME/.kepler directory?
To go future and make actors sharable, can we also divide the config file of >actors into public part and private part so that each user can use the public >actors from the $Kepler directory and private actors from private file, such >as in $HOME/.kepler directory? In this way, each user can make/import his/her >own kar files and use the actors.
I noticed this yesterday . . .
Under Windows 2003 Server, I installed Kepler 1.0.0 as adminstrator
and then ran Kepler by clicking on the icon as non-administrator and
the following appeared in a console window that was brought up by Kepler:
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: keplerLog4J.log (Access is denied)
at java.io.FileOutputStream.openAppend(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at org.apache.log4j.FileAppender.setFile(FileAppender.java:272)
at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java
:156)
at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:151)
at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:2
47)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.j
ava:123)
at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.j
ava:87)
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigura
tor.java:645)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigura
tor.java:603)
at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyC
onfigurator.java:500)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurato
r.java:406)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurato
r.java:432)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionCon
verter.java:460)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
at org.apache.log4j.Logger.getLogger(Logger.java:85)
at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:1
02)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactory
Impl.java:525)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactory
Impl.java:272)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
at org.ecoinformatics.util.Config.<clinit>(Config.java:90)
at org.kepler.gui.KeplerApplication.main(KeplerApplication.java:63)
at org.kepler.loader.Kepler.main(Kepler.java:100)
KAR Library directories: [C:\Program Files\Kepler\kar\actors, C:\Program Files\K
epler\kar\directors]
regArray: org.ecoinformatics.ecogrid.registry.stub.RegistryEntryArrayType@312ae3
2c
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.EcoGridServicesController:mergeServicesLi
st:392) could not add service:The service type is invalid or null: KeplerSlaveNo
de. Couldn't be added to list
ERROR (org.ecoinformatics.seek.ecogrid.SearchRegistryAction:queryRegistryRewrite
Config:246) Problem writing new services to config file
And this stack trace occurred in a stack trace window:
java.io.FileNotFoundException: C:\Program Files\Kepler\lib\config.xml (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileWriter.<init>(Unknown Source)
at edu.ucsb.nceas.configxml.ConfigXML.saveDOM(ConfigXML.java:648)
at edu.ucsb.nceas.configxml.ConfigXML.save(ConfigXML.java:622)
at org.ecoinformatics.util.Config.save(Config.java:392)
at org.ecoinformatics.seek.ecogrid.EcoGridServicesController.writeServicesToConfig(EcoGridServicesController.java:937)
at org.ecoinformatics.seek.ecogrid.SearchRegistryAction.queryRegistryRewriteConfig(SearchRegistryAction.java:241)
at org.kepler.gui.KeplerInitializer$1.run(KeplerInitializer.java:215)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
_Christopher