While operating CoinPal, I've had the
bitcoin daemon hang several times. The behavior has been the same each time. RPC calls timeout without response. I restart the daemon, it catches up with the blockchain and works correctly again for several hours or days before it happens again.
Here's the information I have. When I notice the daemon has hung, the tail of debug.log always looks about like this. I can watch the log indefinitely and see only similar messages streaming by as normal:
IRC got join
IRC got join
AddAddress()
IRC got new address
IRC got join
IRC got join
If I look backwards in the debug log to the last activity not related to addresses and IRC, I usually get something similar to this:
IRC got join
received: inv (37 bytes)
got inventory: tx 1d95d66a217e5fbe49bd new
askfor tx 1d95d66a217e5fbe49bd 0
sending getdata: tx 1d95d66a217e5fbe49bd
sending: getdata (37 bytes)
received: inv (37 bytes)
got inventory: tx 1d95d66a217e5fbe49bd new
askfor tx 1d95d66a217e5fbe49bd 1300914187000000
received: inv (37 bytes)
got inventory: tx 1d95d66a217e5fbe49bd new
askfor tx 1d95d66a217e5fbe49bd 1300914307000000
received: tx (617 bytes)
ThreadRPCServer method=sendfrom
IRC got join
That last "sendfrom" request never sends a response.
When the daemon hangs again, what information should I collect so that developers can diagnose the problem?