Issue 1751: ERROR com.google.gerrit.server.git.ReceiveCommits : Only 0 of 0 new change refs created in xxx; aborting
Status:  New
Owner: ----
Reported by sp3...@gmail.com, Jan 9, 2013
Affected Version: v2.5

What steps will reproduce the problem?
I don't know (at least now). It just happens on certain commits.

This is what I get on the client side:
$ git push origin HEAD:refs/changes/12345
Counting objects: 15, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (8/8), 1.15 KiB, done.
Total 8 (delta 7), reused 0 (delta 0)
remote: Resolving deltas: 100% (7/7)
remote: Processing changes: refs: 2, done    
remote: (W) 890d87d: no files changed, author changed, message updated
To ssh://git.xxx.pl:29418/xxx.git
 ! [remote rejected] HEAD -> refs/changes/12345 (internal server error)
error: failed to push some refs to 'ssh://git.xxx.pl:29418/xxx.git'

Server log says:
[2013-01-09 14:53:24,917] ERROR om.google.gerrit.server.git.ReceiveCommits : Only 0 of 0 new change refs created in xxx; aborting
[2013-01-09 14:58:58,483] ERROR om.google.gerrit.server.git.ReceiveCommits : Only 0 of 0 new change refs created in xxx; aborting
[2013-01-09 15:02:09,564] ERROR om.google.gerrit.server.git.ReceiveCommits : Only 0 of 0 new change refs created in xxx; aborting


Not sure if this has any significance but the commit that fails to be pushed is third patchset to a change. Author of commit changed from patchset one to patchset two (amend with --reset-author). But author of patchset three is the same as patchset two.

Workaround that worked for me was to upload the commit as new chage. That is unfortunate a bit due to lost review history - because the original change had to be abandoned.

Gerrit is running on ubuntu linux with postgres db.

For related discussion see https://code.google.com/p/gerrit/issues/detail?id=1593.
Jan 10, 2013
Project Member #1 edwin.ke...@gmail.com
The logged error message is slightly incorrect, I've uploaded a fix for review [1].
Still the question is why the creation of the refs failed.

[1] https://gerrit-review.googlesource.com/40953
Jan 10, 2013
#2 sp3...@gmail.com
What is worse is that this situation doesn't always produce log on server side. On the other hand client always receives 'internal server error'.

Consider following scenario:

Developer prepared commit and he gets an error while pushing (internal server error) and server says 'Only 0 of 0 new change refs created in xxx; aborting'.

So I took his commit, amended the author on my box (git commit --amend --reset-author) and tried to upload this commit to the same change on gerrit. When I uploaded the change I still got 'internal server error' but server didn't log anything.

Then when I uploaded that commit as entirely new change it worked (no error).

Any idea how to debug this?

My gerrit instance serves something like a 100~200 active developers generating ~50 new changes daily (much more commits due to review cycle and reuploading new versions). So there is a good chance to hit it. It happened twice this week.