My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 2450: replication: NullPointerException in com.jcraft.jsch.Session.checkHost
9 people starred this issue and may be notified of changes. Back to list
Status:  New
Owner:  ----


Sign in to add a comment
 
Reported by burmawal...@gmail.com, Feb 3, 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.8

What steps will reproduce the problem?
1. Setting replication config on the master


What is the expected output? What do you see instead?
Expected output: Gerrit replication should start without any problems.

However the plugin throws the following error,

ERROR com.googlesource.gerrit.plugins.replication.ReplicationQueue : Unexpected error during replication to <GIT REPOSITORY>
java.lang.NullPointerException
        at com.jcraft.jsch.Session.checkHost(Session.java:802)
        at com.jcraft.jsch.Session.connect(Session.java:342)
        at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:116)
        at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:121)
        at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:248)
        at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:147)
        at com.googlesource.gerrit.plugins.replication.PushOne.listRemote(PushOne.java:468)
        at com.googlesource.gerrit.plugins.replication.PushOne.doPushAll(PushOne.java:416)
        at com.googlesource.gerrit.plugins.replication.PushOne.generateUpdates(PushOne.java:409)
        at com.googlesource.gerrit.plugins.replication.PushOne.pushVia(PushOne.java:357)
        at com.googlesource.gerrit.plugins.replication.PushOne.runImpl(PushOne.java:340)
        at com.googlesource.gerrit.plugins.replication.PushOne.runPushOperation(PushOne.java:267)
        at com.googlesource.gerrit.plugins.replication.PushOne.access$000(PushOne.java:78)
        at com.googlesource.gerrit.plugins.replication.PushOne$1.call(PushOne.java:240)
        at com.googlesource.gerrit.plugins.replication.PushOne$1.call(PushOne.java:237)
        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.git.PerThreadRequestScope$Propagator$1.call(PerThreadRequestScope.java:75)
        at com.googlesource.gerrit.plugins.replication.PushOne.run(PushOne.java:237)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        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:344)
        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:724)

Please provide any additional information below.

Feb 3, 2014
#1 burmawal...@gmail.com
This was fixed.
It was related to the host key check.
Deleting the entries from the known hosts did the trick.
Feb 5, 2014
Project Member #2 david.pu...@sonymobile.com
What exactly was wrong with the known hosts?  It probably shouldn't have resulted in a null pointer exception.

Feb 5, 2014
Project Member #3 david.pu...@sonymobile.com
(No comment was entered for this change.)
Summary: replication: NullPointerException in com.jcraft.jsch.Session.checkHost (was: Replciation errors)
Mar 28, 2014
#4 b...@cloudscaling.com
I'm experiencing this as well, and can't figure out how to correct it.  Two out of three replication destinations continue to work fine, but one of them fails with this stack trace. Removing it from gerrit's known_hosts is not helping my case.  All of the entries in the known_hosts file are in the traditional ssh-rsa and ssh-dss key format, and the entries are not hashed.  I can't think of anything that has changed on either the gerrit server nor the replication targets, with the exception of upgrading Gerrit from 2.7 to 2.8.2.

Any suggestions?
Mar 28, 2014
#5 b...@cloudscaling.com
Actually, I figured out my case as well: the remote ssh daemon had GSSAPIAuthentication and GSSAPIKeyexchange enabled, which gerrit apparently does not handle at all. Disabling all features related to gssapi on the remote openssh daemon was my workaround for now.
Jul 30, 2014
#6 miguel.griffa
I had this issue and managed to get it working by removing the known hosts entry.
Thanks
Sign in to add a comment

Powered by Google Project Hosting