Fisheye fails to start up with FileNotFoundException and permission denied errors
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
要約
Fisheye fails to start up and the following message is logged in the Fisheye logs:
Caused by: com.cenqua.fisheye.rep.DbException: com.persistit.exception.PersistitIOException: java.io.FileNotFoundException: /fisheye/cache/pipeline/pipeline (Permission denied)
at com.atlassian.fisheye.pipeline.PartitionedChangeSetPhaseQueues.<init>(PartitionedChangeSetPhaseQueues.java:206) [fisheye.jar:?]
at com.atlassian.fisheye.pipeline.DefaultChangeSetPipeline.<init>(DefaultChangeSetPipeline.java:263) [fisheye.jar:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [?:1.8.0_292]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [?:1.8.0_292]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [?:1.8.0_292]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) [?:1.8.0_292]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) [spring-beans-4.0.9.RELEASE.jar:4.0.9.RELEASE]
... 112 more
Caused by: com.persistit.exception.PersistitIOException: java.io.FileNotFoundException: /fisheye/cache/pipeline/pipeline (Permission denied)
at com.persistit.VolumeStorageV2.open(VolumeStorageV2.java:234) [akiban-persistit-3.2.7.jar:?]
at com.persistit.Volume.open(Volume.java:485) [akiban-persistit-3.2.7.jar:?]
at com.persistit.Persistit.initializeVolumes(Persistit.java:639) [akiban-persistit-3.2.7.jar:?]
at com.persistit.Persistit.initialize(Persistit.java:439) [akiban-persistit-3.2.7.jar:?]
at com.atlassian.fisheye.pipeline.PartitionedChangeSetPhaseQueues.<init>(PartitionedChangeSetPhaseQueues.java:204) [fisheye.jar:?]
... 118 more
Caused by: java.io.FileNotFoundException: /fisheye/cache/pipeline/pipeline (Permission denied)
at java.io.RandomAccessFile.open0(Native Method) [?:1.8.0_292]
at java.io.RandomAccessFile.open(RandomAccessFile.java:316) [?:1.8.0_292]
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243) [?:1.8.0_292]
at com.persistit.MediatedFileChannel.openChannel(MediatedFileChannel.java:142) [akiban-persistit-3.2.7.jar:?]
at com.persistit.MediatedFileChannel.<init>(MediatedFileChannel.java:87) [akiban-persistit-3.2.7.jar:?]
at com.persistit.MediatedFileChannel.<init>(MediatedFileChannel.java:80) [akiban-persistit-3.2.7.jar:?]
at com.persistit.VolumeStorageV2.open(VolumeStorageV2.java:194) [akiban-persistit-3.2.7.jar:?]
... 122 more
The path identified in the log file will be unique to your installation.
診断
- Check permissions on the folders/ files reported in the logs (under the $FISHEYE_INST directory) using the ls command. For example:
ls -la $FISHEYE_INST/cache/pipeline
- Check what is the user you're trying to use to start up Fisheye.
原因
原因 1
Lack of permissions in some folders/ files inside the $FISHEYE_INST directory for the user trying to run Fisheye.
原因 2
Attempting to start Fisheye with the wrong user account in the system.
ソリューション
ソリューション 1
With the help of the ls command identify the incorrect permissions and use chown and chmod to either change ownership of the folders/ files or update permissions. For example, if you want to change ownership of all files and folders under the $FISHEYE_INST directory for a specific user you can run the following command:
chown -R user:group $FISHEYE_INST
ソリューション 2
This can sometimes happen when trying to start Fisheye with the wrong user account. Switch back to the account you normally use to start Fisheye and try again.
There's a chance that the startup will fail even after switching to the correct account due to Cause 1. If you attempt to start the application with the wrong user account and that account creates files under the $FISHEYE_INST directory you may have problems accessing those files when switching back to the correct user account. If that happens apply Solution 1 before trying to start the application again.