Issue 2858: Pushing change to target branch causes error message and the event is not displayed in event stream
Status:  Invalid
Owner: ----
Closed:  Aug 2014
Reported by janne.ro...@vincit.fi, Aug 23, 2014
************************************************************
***** NOTE: THIS BUG TRACKER IS FOR GERRIT CODE REVIEW *****
***** DO NOT SUBMIT BUGS FOR CHROME, ANDROID, INTERNAL *****
***** ISSUES WITH YOUR COMPANY'S GERRIT SETUP, ETC.    *****
***** THOSE ISSUE BELONG IN DIFFERENT ISSUE TRACKERS!  *****
************************************************************

Affected Version: 2.9

What steps will reproduce the problem?
1. Do a change
2. Push for review: git push gerrit HEAD:refs/publish/master
3. Push change to target branch: gitpush gerrit HEAD:master

What is the expected output? What do you see instead?
The following output is printed after pushing a change to target branch:

Total 0 (delta 0), reused 0 (delta 0)
remote: Processing changes: closed: 1, refs: 1, done    
remote: error: internal error while processing changes java.lang.NoSuchMethodError: com.google.gerrit.server.git.LabelNormalizer.normalize(Lcom/google/gerrit/reviewdb/client/Change;Ljava/util/Collection;)Ljava/util/List;
To ssh://gerrit.example.com/my-project
   abbacd..deadbeef  master -> master

Please provide any additional information below.
The error does not happen every time but for 4 pushes I got this error to appear twice.

Also my CI system is not triggered after this error. I'm using buildbot's GerritChangeSource (http://docs.buildbot.net/latest/manual/cfg-changesources.html#gerritchangesource) that uses ssh event stream to monitor changes.
Aug 25, 2014
Project Member #1 david.pu...@sonymobile.com
If possible can you include the stack trace log from the server?

Status: AwaitingInformation
Aug 25, 2014
#2 janne.ro...@vincit.fi
Here you go:

[2014-08-25 16:56:38,287] WARN  com.google.gerrit.server.git.MultiProgressMonitor : MultiProgressMonitor worker did not call end() before returning
[2014-08-25 16:56:38,287] WARN  com.google.gerrit.server.git.AsyncReceiveCommits : Error in ReceiveCommits
java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: com.google.gerrit.server.git.LabelNormalizer.normalize(Lcom/google/gerrit/reviewdb/client/Change;Ljava/util/Collection;)Ljava/util/List;
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:202)
        at com.google.gerrit.server.git.WorkQueue$Task.get(WorkQueue.java:342)
        at com.google.gerrit.server.git.MultiProgressMonitor.waitFor(MultiProgressMonitor.java:252)
        at com.google.gerrit.server.git.AsyncReceiveCommits.onPreReceive(AsyncReceiveCommits.java:163)
        at org.eclipse.jgit.transport.ReceivePack.service(ReceivePack.java:203)
        at org.eclipse.jgit.transport.ReceivePack.receive(ReceivePack.java:160)
        at com.google.gerrit.sshd.commands.Receive.runImpl(Receive.java:115)
        at com.google.gerrit.sshd.AbstractGitCommand.service(AbstractGitCommand.java:101)
        at com.google.gerrit.sshd.AbstractGitCommand.access$000(AbstractGitCommand.java:32)
        at com.google.gerrit.sshd.AbstractGitCommand$1.run(AbstractGitCommand.java:70)
        at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:442)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:364)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NoSuchMethodError: com.google.gerrit.server.git.LabelNormalizer.normalize(Lcom/google/gerrit/reviewdb/client/Change;Ljava/util/Collection;)Ljava/util/List;
        at com.googlesource.gerrit.plugins.reviewnotes.CreateReviewNotes.createCodeReviewNote(CreateReviewNotes.java:266)
        at com.googlesource.gerrit.plugins.reviewnotes.CreateReviewNotes.createCodeReviewNote(CreateReviewNotes.java:257)
        at com.googlesource.gerrit.plugins.reviewnotes.CreateReviewNotes.createNoteContent(CreateReviewNotes.java:224)
        at com.googlesource.gerrit.plugins.reviewnotes.CreateReviewNotes.createNotes(CreateReviewNotes.java:144)
        at com.googlesource.gerrit.plugins.reviewnotes.RefUpdateListener.createReviewNotes(RefUpdateListener.java:123)
        at com.googlesource.gerrit.plugins.reviewnotes.RefUpdateListener.access$000(RefUpdateListener.java:38)
        at com.googlesource.gerrit.plugins.reviewnotes.RefUpdateListener$1.run(RefUpdateListener.java:66)
        at com.googlesource.gerrit.plugins.reviewnotes.RefUpdateListener.onGitReferenceUpdated(RefUpdateListener.java:92)
        at com.google.gerrit.server.extensions.events.GitReferenceUpdated.fire(GitReferenceUpdated.java:59)
        at com.google.gerrit.server.git.ReceiveCommits.processCommands(ReceiveCommits.java:616)
        at com.google.gerrit.server.git.AsyncReceiveCommits$Worker.run(AsyncReceiveCommits.java:90)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at com.google.gerrit.server.util.RequestScopePropagator$5.call(RequestScopePropagator.java:222)
        at com.google.gerrit.server.util.RequestScopePropagator$4.call(RequestScopePropagator.java:201)
        at com.google.gerrit.server.util.ThreadLocalRequestScopePropagator$1.call(ThreadLocalRequestScopePropagator.java:55)
        at com.google.gerrit.server.util.RequestScopePropagator$1.call(RequestScopePropagator.java:98)
        at com.google.gerrit.server.util.RequestScopePropagator$2.run(RequestScopePropagator.java:131)
        ... 8 more

I think these might also be related to that error (these are the next errors in the error log):
[2014-08-25 16:56:50,986] WARN  com.google.gerrit.sshd.GerritServerSession : Exception caught
java.io.IOException: Connection reset by peer
        at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
        at sun.nio.ch.IOUtil.read(IOUtil.java:197)
        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379)
        at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:273)
        at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:690)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
        at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
[2014-08-25 17:01:50,918] WARN  com.google.gerrit.sshd.GerritServerSession : Exception caught
java.io.IOException: Connection reset by peer
        at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
        at sun.nio.ch.IOUtil.read(IOUtil.java:197)
        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379)
        at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:273)
        at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:690)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
        at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
        at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)

Aug 25, 2014
Project Member #3 david.pu...@sonymobile.com
What version exactly are you using?  And what version of the reviewnotes plugin?

Looking at the exception:

 java.lang.NoSuchMethodError: com.google.gerrit.server.git.LabelNormalizer.normalize(Lcom/google/gerrit/reviewdb/client/Change;Ljava/util/Collection;)Ljava/util/List;

It looks like the plugin is calling a method that does not exist, which might suggest a mismatch between the plugin version and the core Gerrit version.

Aug 25, 2014
#4 janne.ro...@vincit.fi
I'm running Gerrit 2.9 and the reviewnotes plugin seems to be 2.8. So I just failed at updating plugins during update...

Thanks for the feedback. I think this bug can be closed.
Aug 25, 2014
Project Member #5 david.pu...@sonymobile.com
Thanks for quick responses.  Closing this issue now.

Status: Invalid