After updating to bitcoin-0.14.0-x86_64-linux-gnu, bitcoind will no longer shut down cleanly with a bitcoin-cli stop or the kill command. A kill -9 is required to make the process terminate.
Tested on three separate fully updated CentOS 6 installations with kernel 2.6.32-642.15.1.el6.x86_64, all of which were behaving normally with 0.13.2. Two of the nodes have pruning enabled with prune=8192, while the third is a non-pruning node. The configuration is otherwise identical:
maxconnections=512 disablewallet=1 dbcache=1000 upnp=0 dns=0 dnsseed=0
Debug log with debug=1 ends with:
2017-03-08 13:51:49 Received a POST request for / from 127.0.0.1:49740 2017-03-08 13:51:49 ThreadRPCServer method=stop 2017-03-08 13:51:50 Interrupting HTTP server 2017-03-08 13:51:50 Interrupting HTTP RPC server 2017-03-08 13:51:50 Exited http event loop 2017-03-08 13:51:50 Interrupting RPC 2017-03-08 13:51:50 tor: Thread interrupt 2017-03-08 13:51:50 torcontrol thread exit 2017-03-08 13:51:50 scheduler thread interrupt 2017-03-08 13:51:50 Shutdown: In progress... 2017-03-08 13:51:50 Stopping HTTP RPC server 2017-03-08 13:51:50 Unregistering HTTP handler for / (exactmatch 1) 2017-03-08 13:51:50 Stopping RPC 2017-03-08 13:51:50 RPC stopped. 2017-03-08 13:51:50 Stopping HTTP server 2017-03-08 13:51:50 Waiting for HTTP worker threads to exit 2017-03-08 13:51:50 Waiting for HTTP event thread to exit 2017-03-08 13:51:50 Stopped HTTP server 2017-03-08 13:51:50 net thread exit 2017-03-08 13:51:50 msghand thread exit 2017-03-08 13:51:53 opencon thread exit
Half an hour later, bitcoind is still running, and does not seem to be using any CPU or generating any IO. It does not terminate active connections, and the socket is still listening and accepting new connections, but no data appears to be exchanged. getpeerinfo from another node for a connection established after the shutdown says:
"lastsend": 1488982201,
"lastrecv": 0,
"bytessent": 126,
"bytesrecv": 0,
"conntime": 1488982201,
The issue seems to be ~80% reproducible with the given setup and configuration if bitcoind has been running for a few minutes, otherwise it seems to always shut down normally.