Project

General

Profile

Bug #3694

Sharing installation among users fails, users must have write permission

Added by Christopher Brooks about 10 years ago. Updated over 8 years ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
installer
Target version:
Start date:
12/05/2008
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:
3694

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.kar

The 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.&lt;clinit&gt;(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

History

#1 Updated by jianwu jianwu about 10 years ago

Currently, there is still the same exception for us. But each user can run Kepler and import his/her new actors into Kepler. Each user just establish his/her own kar files and import them to kepler independently. Other users can not see the imported actors unless they import by themselves.

Our test environment: Mandriva Linux 64 bit, 2007 spring. JVM 1.6 update 10. Kepler version: 8405, PTII version: 51666.

#2 Updated by jianwu jianwu almost 10 years ago

We managed to make it works on our environments (Mandriva Linux 64 bit, 2007 spring. JVM 1.6 update 10. Kepler version: 8405, PTII version: 51666. ). Our solution is simple: just delete the jar files from the ImageJ.kar and modify the corresponding MANIFEST.MF. The ImageJ actor can still be used with this modification. We think the reason of previous exception is that Kepler wants to write this actor info into config file as a new service.

#3 Updated by jianwu jianwu almost 10 years ago

We still have one error left:
ERROR (org.ecoinformatics.seek.ecogrid.SearchRegistryAction:queryRegistryRewriteConfig:246) Problem writing new services to config file

Other users can still use Kepler with this error. And if we comment this line, we can still use Kepler without this error.

Jing, I reassigned this bug to you because you are the author of this class (SearchRegistryAction). Would you please have a look up of this code? Thanks.

#4 Updated by Christopher Brooks over 8 years ago

This is fixed.

I installed Kepler-2.0-rc1 on a Windows 2003 Server as Administrator.
I can start up Kepler as a non-admin user.

#5 Updated by Christopher Brooks over 8 years ago

I closed to soon, it looks like the non-admin has no actors listed in the palette.
Should this be fixed for 2.0?

#6 Updated by Redmine Admin over 5 years ago

Original Bugzilla ID was 3694

Also available in: Atom PDF