I've done a fresh install in developer mode of Gerrit 3.11.3 and installed just the ai-code-review plugin but each time a change is sent for a review I get from the error_log a "java.lang.NullPointerException: Null id" error, no feedback is visible from the plugin on the change in Gerrit.
Any idea on how to fix it?
My setup is:
Ubuntu 22.04
Java 21
gerrit-3.11.3.war
Installed trough the plugin manager the default ai-code-plugin version cd2b9d896327e13b2d10d25bdd39e48c57ec13cc
error_log:
[2025-07-02T15:14:22.163+02:00] [ReceiveCommits-1[receive-commits]-for-SSH git-receive-pack /test (admin)] INFO com.googlesource.gerrit.plugins.aicodereview.listener.GerritListener : Processing event: com.google.gerrit.server.events.PatchSetCreatedEvent@3ffb1ad3
[2025-07-02T15:14:22.165+02:00] [ReceiveCommits-1[receive-commits]-for-SSH git-receive-pack /test (admin)] WARN com.google.gerrit.server.plugincontext.PluginContext : Failure in class com.googlesource.gerrit.plugins.aicodereview.listener.GerritListener of plugin ai-code-review [CONTEXT PLUGIN="gerrit" RECEIVE_ID="test-1751462061865-1a2f493d" project="test" request="GIT_RECEIVE" ]
java.lang.NullPointerException: Null id
at com.google.gerrit.server.account.externalids.$AutoValue_ExternalId_Key.<init>($AutoValue_ExternalId_Key.java:22)
at com.google.gerrit.server.account.externalids.AutoValue_ExternalId_Key.<init>(AutoValue_ExternalId_Key.java:29)
at com.google.gerrit.server.account.externalids.ExternalId$Key.create(ExternalId.java:169)
at com.google.gerrit.server.account.externalids.ExternalIdKeyFactory.create(ExternalIdKeyFactory.java:84)
at com.google.gerrit.server.account.externalids.ExternalIdKeyFactory.create(ExternalIdKeyFactory.java:68)
at com.google.gerrit.server.account.AccountCacheImpl.getByUsername(AccountCacheImpl.java:182)
at com.googlesource.gerrit.plugins.aicodereview.config.ConfigCreator.getAccount(ConfigCreator.java:107)
at com.googlesource.gerrit.plugins.aicodereview.config.ConfigCreator.createConfig(ConfigCreator.java:91)
at com.googlesource.gerrit.plugins.aicodereview.listener.GerritListener.onEvent(GerritListener.java:66)
at com.google.gerrit.server.events.EventBroker.lambda$fireEventForUnrestrictedListeners$0(EventBroker.java:113)
at com.google.gerrit.server.plugincontext.PluginContext.runLogExceptions(PluginContext.java:214)
at com.google.gerrit.server.plugincontext.PluginSetContext.lambda$runEach$1(PluginSetContext.java:148)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at com.google.gerrit.server.plugincontext.PluginSetContext.runEach(PluginSetContext.java:148)
at com.google.gerrit.server.events.EventBroker.fireEventForUnrestrictedListeners(EventBroker.java:113)
at com.google.gerrit.server.events.EventBroker.fireEvent(EventBroker.java:124)
at com.google.gerrit.server.events.EventBroker.postEvent(EventBroker.java:93)
at com.google.gerrit.server.events.StreamEventsApiListener.lambda$onRevisionCreated$6(StreamEventsApiListener.java:312)
at com.google.gerrit.server.plugincontext.PluginContext.runLogExceptions(PluginContext.java:214)
at com.google.gerrit.server.plugincontext.PluginItemContext.run(PluginItemContext.java:131)
at com.google.gerrit.server.events.StreamEventsApiListener.onRevisionCreated(StreamEventsApiListener.java:312)
at com.google.gerrit.server.extensions.events.RevisionCreated.lambda$fire$0(RevisionCreated.java:85)
at com.google.gerrit.server.plugincontext.PluginContext.runLogExceptions(PluginContext.java:214)
at com.google.gerrit.server.plugincontext.PluginSetContext.lambda$runEach$1(PluginSetContext.java:148)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at com.google.gerrit.server.plugincontext.PluginSetContext.runEach(PluginSetContext.java:148)
at com.google.gerrit.server.extensions.events.RevisionCreated.fire(RevisionCreated.java:85)
at com.google.gerrit.server.git.receive.ReplaceOp.postUpdate(ReplaceOp.java:540)
at com.google.gerrit.server.update.BatchUpdate.executePostOps(BatchUpdate.java:805)
at com.google.gerrit.server.update.BatchUpdates.execute(BatchUpdates.java:141)
at com.google.gerrit.server.update.BatchUpdate.execute(BatchUpdate.java:372)
at com.google.gerrit.server.git.receive.ReceiveCommits.insertChangesAndPatchSets(ReceiveCommits.java:1273)
at com.google.gerrit.server.git.receive.ReceiveCommits.lambda$insertChangesAndPatchSets$19(ReceiveCommits.java:1175)
at com.google.gerrit.server.update.RetryableChangeAction.lambda$new$0(RetryableChangeAction.java:48)
at com.google.gerrit.server.update.RetryableAction.lambda$new$0(RetryableAction.java:94)
at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78)
at com.github.rholder.retry.Retryer.call(Retryer.java:160)
at com.google.gerrit.server.update.RetryHelper.executeWithTimeoutCount(RetryHelper.java:598)
at com.google.gerrit.server.update.RetryHelper.execute(RetryHelper.java:541)
at com.google.gerrit.server.update.RetryableAction.call(RetryableAction.java:192)
at com.google.gerrit.server.update.RetryableChangeAction.call(RetryableChangeAction.java:84)
at com.google.gerrit.server.git.receive.ReceiveCommits.insertChangesAndPatchSets(ReceiveCommits.java:1180)
at com.google.gerrit.server.git.receive.ReceiveCommits.processCommandsUnsafe(ReceiveCommits.java:921)
at com.google.gerrit.server.git.receive.ReceiveCommits.processCommands(ReceiveCommits.java:730)
at com.google.gerrit.server.git.receive.AsyncReceiveCommits.lambda$preReceive$2(AsyncReceiveCommits.java:386)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at com.google.gerrit.server.util.RequestScopePropagator.lambda$cleanup$1(RequestScopePropagator.java:187)
at com.google.gerrit.server.util.RequestScopePropagator.lambda$context$0(RequestScopePropagator.java:174)
at com.google.gerrit.server.util.ThreadLocalRequestScopePropagator.lambda$wrapImpl$0(ThreadLocalRequestScopePropagator.java:47)
at com.google.gerrit.server.util.RequestScopePropagator$1.call(RequestScopePropagator.java:85)
at com.google.gerrit.server.util.RequestScopePropagator$2.run(RequestScopePropagator.java:116)
at com.google.gerrit.server.logging.LoggingContextAwareRunnable.run(LoggingContextAwareRunnable.java:113)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:912)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
[2025-07-02T15:14:22.170+02:00] [SSH git-receive-pack /test (admin)] INFO com.google.gerrit.server.git.MultiProgressMonitor : Processing changes: refs: 1, updated: 1 [CONTEXT ratelimit_period="1 MINUTES" ]
Thanks
Fabio