There's a weird ref for the AutoCreateCategoryPages extension https://gerrit.wikimedia.org/g/mediawiki/extensions/AutoCreateCategoryPages/+/refs/master that's almost certainly a mistake
Pushing with --delete or pushing an empty ref with --force both fail:
badgit (main #) (•́‸•̀)❥ git push origin --delete refs/master 2021-02-26 17:29:58,763 sshecret SSH_AUTH_SOCK=/run/user/1000/194f906110c5681bc2ac8c5c340ca5dd.sock Host key fingerprint is SHA256:j7HQoQ6fIuEgDHjONjI2CZ+2Iwxqgo2Ur5LbPqBgxOU +---[RSA 1024]----+ | | |. . | |= + . | |+BoE o . | |BBX . o S | |@@o+ + o = | |X=*.. + o . | |*ooo . | |o+o. | +----[SHA256]-----+ remote: Processing changes: done remote: error: internal error To ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/AutoCreateCategoryPages ! [remote rejected] refs/master (internal error) error: failed to push some refs to 'ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/AutoCreateCategoryPages'
Stack trace complains about noops:
[2021-02-27T00:34:47.343+0000] [SSH git-receive-pack /mediawiki/extensions/AutoCreateCategoryPages (thcipriani)] WARN com.google.gerrit.server.git.MultiProgressMonitor : MultiProgressMonitor worker did not call end() before returning
[2021-02-27T00:34:47.344+0000] [SSH git-receive-pack /mediawiki/extensions/AutoCreateCategoryPages (thcipriani)] ERROR com.google.gerrit.server.git.receive.AsyncReceiveCommits : error while processing push
java.util.concurrent.ExecutionException: com.google.gerrit.exceptions.StorageException: com.google.gerrit.server.update.UpdateException: java.lang.IllegalArgumentException: ref update is a no-op: DELETE: 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 refs/master
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at com.google.gerrit.server.git.receive.AsyncReceiveCommits.preReceive(AsyncReceiveCommits.java:387)
at com.google.gerrit.server.git.receive.AsyncReceiveCommits.lambda$asHook$1(AsyncReceiveCommits.java:332)
at org.eclipse.jgit.transport.ReceivePack.service(ReceivePack.java:2206)
at org.eclipse.jgit.transport.ReceivePack.receive(ReceivePack.java:2120)
at com.google.gerrit.sshd.commands.Receive.runImpl(Receive.java:98)
at com.google.gerrit.sshd.AbstractGitCommand.service(AbstractGitCommand.java:108)
at com.google.gerrit.sshd.AbstractGitCommand.access$000(AbstractGitCommand.java:32)
at com.google.gerrit.sshd.AbstractGitCommand$1.run(AbstractGitCommand.java:73)
at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:488)
at com.google.gerrit.server.logging.LoggingContextAwareRunnable.run(LoggingContextAwareRunnable.java:110)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:610)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.google.gerrit.exceptions.StorageException: com.google.gerrit.server.update.UpdateException: java.lang.IllegalArgumentException: ref update is a no-op: DELETE: 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 refs/master
at com.google.gerrit.server.git.receive.ReceiveCommits.handleRegularCommands(ReceiveCommits.java:734)
at com.google.gerrit.server.git.receive.ReceiveCommits.processCommandsUnsafe(ReceiveCommits.java:647)
at com.google.gerrit.server.git.receive.ReceiveCommits.processCommands(ReceiveCommits.java:598)
at com.google.gerrit.server.git.receive.AsyncReceiveCommits.lambda$preReceive$3(AsyncReceiveCommits.java:370)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at com.google.gerrit.server.util.RequestScopePropagator.lambda$cleanup$1(RequestScopePropagator.java:182)
at com.google.gerrit.server.util.RequestScopePropagator.lambda$context$0(RequestScopePropagator.java:170)
at com.google.gerrit.server.util.ThreadLocalRequestScopePropagator.lambda$wrapImpl$0(ThreadLocalRequestScopePropagator.java:45)
at com.google.gerrit.server.util.RequestScopePropagator$1.call(RequestScopePropagator.java:85)
at com.google.gerrit.server.util.RequestScopePropagator$2.run(RequestScopePropagator.java:116)
... 9 more
Caused by: com.google.gerrit.server.update.UpdateException: java.lang.IllegalArgumentException: ref update is a no-op: DELETE: 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 refs/master
at com.google.gerrit.server.update.BatchUpdate.executeUpdateRepo(BatchUpdate.java:515)
at com.google.gerrit.server.update.BatchUpdate.execute(BatchUpdate.java:138)
at com.google.gerrit.server.update.BatchUpdate.execute(BatchUpdate.java:386)
at com.google.gerrit.server.update.BatchUpdate.execute(BatchUpdate.java:390)
at com.google.gerrit.server.git.receive.ReceiveCommits.handleRegularCommands(ReceiveCommits.java:732)
... 19 more
Caused by: java.lang.IllegalArgumentException: ref update is a no-op: DELETE: 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 refs/master
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:217)
at com.google.gerrit.server.update.ChainedReceiveCommands.add(ChainedReceiveCommands.java:66)
at com.google.gerrit.server.update.BatchUpdate$RepoContextImpl.addRefUpdate(BatchUpdate.java:257)
at com.google.gerrit.server.git.receive.ReceiveCommits$UpdateOneRefOp.updateRepo(ReceiveCommits.java:3071)
at com.google.gerrit.server.update.BatchUpdate.executeUpdateRepo(BatchUpdate.java:502)
... 23 moreThe message seems to be saying: this ref doesn't exist, but that's not the case on disk:
gerrit2@gerrit1001:/srv/gerrit/git/mediawiki/extensions/AutoCreateCategoryPages.git$ git for-each-ref | grep refs/master 2a5f5e7ce5292d9d6d033311a025a8be3f52b069 commit refs/master
I can delete the ref on disk, but probably worth filing an upstream task for this, too (this is a note for myself to do this after this weekend)