I am getting this error message while synching my geth node: eth/downloader/downloader.go:278] Synchronisation failed: peer is unknown or unhealthy

  1. Why would a peer be considered 'unhealthy'?
  2. Is there a log file I can check for more information about this error?

You're hitting an errUnknownPeer error.

From the code in downloader.go:

// Retrieve the origin peer and initiate the downloading process
p := d.peers.Peer(id)
if p == nil {
    return errUnknownPeer

Here we're trying to use a previously known peer with an id of id, but which no longer appears in the list of known peers. (So our look-up in the current list of peers returns nil.)

There's nothing in the code to explicity define "unhealthy" with regards to peers - it only appears in the error string - but from the context it means either:

  • the peer is no longer online, or
  • the peer is online but unable to communicate.

Both of which means the peer can no longer be discovered.

I can't see anything in the code that would log anything more useful, but you could try setting a higher verbosity level in the console if it happens repeatedly. (Using debug.verbosity(x), where x is the logging level.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.