Status change [<REPO>]: fatal: object <COMMIT_HASH> not found

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

The following entry appear on the fisheye-debug-<DATE>.log with the DEBUG 'ON':

2012-07-15 13:56:38,269 DEBUG [ExtProcess IO Pump <REPO>] fisheye.app RepositoryStatus-setMessage - Status change [<REPO>]: error: unable to find 2c8b3f87cb395cdc88865d97804b1bf804f8a027
2012-07-15 13:56:38,269 DEBUG [ExtProcess IO Pump <REPO>] fisheye.app RepositoryStatus-setMessage - Status change [<REPO>]: fatal: object 2c8b3f87cb395cdc88865d97804b1bf804f8a027 not found
...
2012-07-19 00:29:59,770 ERROR [IncrementalPinger1 ] fisheye.app OneOffPingRequest-doRequest - Exception during slurp
com.cenqua.fisheye.config.ConfigException: Unable to fetch from remote repository: ssh://<USER>@<REPO>/<PATH>
...
Caused by: com.atlassian.utils.process.ProcessException: While executing: "git fetch ssh://<USER>@<REPO>/<PATH> +refs/*:refs/* "
...
Caused by: com.atlassian.utils.process.ProcessException: Non-zero exit code: 1
...

Diagnosis

Run the following command on both the source repository and Fisheye/Crucible's clone (FISHEYE_INST/var/cache/<REPO>/clone) of the source repository:

git show-ref

This will list all branches and tags in the repository. It will tell how to identify if the cause is an errant branch or tag that points to a non-existent revision

git log --graph --format="%H"

This issue is verified if the commit hash from the ERROR above EXISTS in the repository but DOESN'T EXIST in the Fisheye/Crucible clone. Otherwise, please open a SAC issue.

Cause

The reference to the stash was not cloned to Fisheye/Crucible's clone of the repository.

Resolution

Since command git stash only works in a working directory, we will not be able to run it directly on the source repository. The git stash is just a bash script, which automatically fails if it detects it is working on a bare clone. It runs the following command on git core to actually delete the stash (see note below):

git update-ref -d refs/stash [COMMIT_HASH]

This command will completely wipe the stash so retrieve valuable information prior to running or ensure the data is no longer needed.

Last modified on Jul 31, 2018

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.