1

I'm building a service which does some automatic Bitcoin transactions and balance checking. In the system I now created some logging, which told me that my bitcoind daemon (running on Ubuntu 14.04 server) gave an error code -9 when running the following command bitcoind getbalance. In the bitcoind source I found error code 9 described as:

RPC_CLIENT_NOT_CONNECTED = -9, // Bitcoin is not connected

About this I have 3 simple questions:

  1. First: what does this mean? I'm running the command on the same machine where the daemon is running, so no remote connection needed.
  2. Secondly; how can this happen? Why does a stable running bitcoind daemon suddenly gets disconnected?
  3. And most importantly; how can I prevent this from happening?

All tips are welcome!

  • Execute getconnectioncount when this error occurs, it should return zero. A client can get disconnected when the node(s) it is connected to become unavailable. Try manually connecting to one or more fallback/trusted nodes. – George Kimionis Sep 9 '14 at 23:00
  • @GeorgeKimionis - Thank you for your answer. Do you mean that my Bitcoin daemon is not connected to any other nodes on the Bitcoin network anymore? I just checked and I am now connected to 87 other nodes. How can it be that the connection count dropped to 0? Is there any way to prevent this from happening? Force more connections if it drops below a certain threshold or something? All tips are welcome! – kramer65 Sep 10 '14 at 14:05
  • It would help if you could execute getconnectioncount when this happens so we'll know for sure that your client gets disconnected from the bitcoin network. Getting from 87 to 0 though is not something usual nor expected. I would suggest you check your server's connectivity, as many things could go wrong at this level. – George Kimionis Sep 10 '14 at 18:18
  • BTW this is the code that controls how bitcoin accepts new connections: github.com/bitcoin/bitcoin/blob/master/src/net.cpp#L927 – George Kimionis Sep 10 '14 at 18:26
2

What does this mean? I'm running the command on the same machine where the daemon is running, so no remote connection needed.

It's not talking about the connection between your command line and the Bitcoin daemon, it's talking about the connection between your Bitcoin daemon and other Bitcoin daemons.

How can this happen? Why does a stable running bitcoind daemon suddenly gets disconnected?

You might be running a very old version of Bitcoin that is incompatible with other clients. Your ISP might be filtering Bitcoin traffic. Your OS might be out of file descriptors. There are a huge number of possible reasons.

To narrow it down, have you tried looking at the debug.log of your Bitcoin client? You could also try looking at TCP traffic on port 8333 using Wireshark.

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.