FishEye as non-root user

I'm trying to get FishEye running on CentOS 5.9 x64 as a non-root user. I'm able to run the server properly as root, which is clearly not desireable in terms of security. So, I have given a different user access to the FishEye install directory and the FishEye data directory, however this user is unable to start FishEye. Whenever I try to do a restore, I get the following error:

jira@serv [/sw/fecru-2.9.1]# bin/fisheyectl.sh restore -f /home/jira/FeCru-backup.zip --username username --password password --dbtype mysql --jdbcurl jdbc:mysql://localhost:3306/db_name
ERROR: problem invoking main class: com.cenqua.fisheye.ctl.Restore
java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlString
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.cenqua.crucible.hibernate.DBType.<clinit>(DBType.java:31)
at com.cenqua.fisheye.ctl.Restore.<clinit>(Restore.java:72)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:98)
at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:41)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlString
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 19 more

This same command works perfectly fine when I am root. The permessions should be setup properly, as I am able to open all of the JAR files in the /sw/fecru-2.9.1/lib directory. Is there something else that this user needs to have access to in order to run FishEye?

2 answers

1 accepted

The problem in this case was that the user that I had created was only able to open 100 simultaneous files at the same time(ulimit -n). Since there are ~200 jar files in the lib directory that FishEye needs, it could never load all of the jar files that it needed. I increased this limit to 1000 so that this particular error does not happen anymore.

0 vote

Can you make sure change the ownership of those 2 directories with a -R option? Do it after you stop Fisheye and then start it as the new user.

Tried that, still the same error. I even tried permissions of 777, no change at all.

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Thursday in Marketplace Apps

Tips on how to choose the best estimation method for your planning

Planning and grooming sessions all come with their own sets of rules. Team members meet to estimate stories or other work items, all according to an agreed-upon process. And with every session comes ...

67 views 0 11
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you