Fisheye Does Not Start Due To Lock Files, fisheye.lck, write.lock

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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.

*Except Fisheye and Crucible

Symptoms

Fisheye/Crucible doesn't start. Messages of the following type are logged:

  • ERROR [main ] fisheye.app InstanceLock-acquireLock - Lock already locked <FISHEYE_INST>/fisheye.lck

  • ERROR [main ] fisheye.app Run-mainImpl - Another instance of FishEye and Crucible seems to be running

    and

  • Problem starting FishEye and Crucible: com.cenqua.obfuscate.<unique_identifier_here>.locking.FileLockedExternallyException: Cannot lock file in exclusive mode - already in use

    and

  • Caused by: org.apache.lucene.store.LockReleaseFailedException: Cannot forcefully unlock a NativeFSLock which is held by another indexer component: <FISHEYE_INST>/data/cache/globalfe/idx0/write.lock

E.g.:

1 2 3 4 5 6 7 8 9 2011-10-10 13:13:23,127 ERROR [main ] fisheye.app InstanceLock-acquireLock - Lock already locked /usr/local/fecru-2.7.3/var/fisheye.lck 2011-10-10 13:13:23,216 INFO [main ] fisheye.app PassivateManager-<init> - Cache-sizing: MAX_TOTAL_CACHE_SIZE=353457493 2011-10-10 13:13:23,296 ERROR [main ] fisheye.app Run-mainImpl - Another instance of FishEye and Crucible seems to be running 2011-10-10 13:14:08,682 ERROR [main ] fisheye.app InstanceLock-acquireLock - Lock already locked /usr/local/fecru-2.7.3/var/fisheye.lck 2011-10-10 13:14:08,712 INFO [main ] fisheye.app PassivateManager-<init> - Cache-sizing: MAX_TOTAL_CACHE_SIZE=353457493 2011-10-10 13:14:08,764 ERROR [main ] fisheye.app Run-mainImpl - Another instance of FishEye and Crucible seems to be running 2011-10-10 13:14:51,699 ERROR [main ] fisheye.app InstanceLock-acquireLock - Lock already locked /usr/local/fecru-2.7.3/var/fisheye.lck 2011-10-10 13:14:51,729 INFO [main ] fisheye.app PassivateManager-<init> - Cache-sizing: MAX_TOTAL_CACHE_SIZE=353457493 2011-10-10 13:14:51,782 ERROR [main ] fisheye.app Run-mainImpl - Another instance of FishEye and Crucible seems to be running

and

1 Problem starting FishEye and Crucible: com.cenqua.obfuscate.idbklzo78.locking.FileLockedExternallyException: Cannot lock file in exclusive mode - already in use

and

1 2 3 4 5 6 7 Caused by: org.apache.lucene.store.LockReleaseFailedException: Cannot forcefully unlock a NativeFSLock which is held by another indexer component: XXXXXX/data/cache/globalfe/idx0/write.lock at org.apache.lucene.store.NativeFSLock.release(NativeFSLockFactory.java:278) at org.apache.lucene.index.IndexWriter.unlock(IndexWriter.java:4907) at com.cenqua.fisheye.lucene.LuceneConnection$IndexHandle.killLuceneLocks(LuceneConnection.java:231) at com.cenqua.fisheye.lucene.LuceneConnection$IndexHandle.access$1100(LuceneConnection.java:79) at com.cenqua.fisheye.lucene.LuceneConnection.killLuceneLocks(LuceneConnection.java:591)

Cause

Two possible causes exist. Either:

  1. Fisheye prevents multiple instances from running on the same server and as such, creates lock files for itself as well as activity lock files for internal database activity:

    1. Application lock file:

      fisheye.lck

    2. Repository lock files:

      ./var/cache/<repository_name_here>/idx0/write.lock

      ./var/cache/<repository_name_here>/idx1/write.lock

      ./var/cache/<repository_name_here>/idx2/write.lock

    3. Indexing library lock files (these store review data):

      ./cache/cruidx/idx1/write.lock

      ./cache/globalfe/idx0/write.lock

      ./cache/globalfe/idx1/write.lock

      These files aren't properly removed if Fisheye is shutdown using an alternative method other than using the stop.bat script or if you are running Fisheye as a service, the "Stop service" feature (or if the server/application crashes). A restarting Fisheye instance won't start if it detects these leftover .lck and .lock files.

      Or:

  2. A crashed instance of Fisheye can corrupt one of its internal database data files, e.g. <FISHEYE_INST>/var/data/data0.bin

Resolution

Depending on the cause above, choose one of the resolutions below. Either:

  1. If you don't see any Java processes running you can safely delete these lock files (search for and delete .lck and .lock files) and try restarting your instance. Check for a running Fisheye process:

    1. ps -ef | grep java

    2. lsof | grep data*.bin

      Or:

  2. The data*.bin file is an internal database data file that contains mostly user and group membership information and other data related to your settings.

    1. If this file exists, save a backup copy.

    2. Replace it with a backup version OR if you don't have a backup copy, remove the file completely and it will be created anew upon successful start – note that you will have to recreate/re-do your settings in this case.

Updated on April 8, 2025

Still need help?

The Atlassian Community is here for you.