That "KeyboardInterrupt" traceback is just telling you that you interrupted the script by Ctrl+C, nothing more.
Right, I thought that the relevant bit of that traceback was where the command was hanging.
electrum-stop script is connecting to the server over RPC, so if server is loading block database or is busy with something else, it won't response. Please send "tail electrum.log" here. You can also check "top" command; if database is under load, then electrum is updating Abe db.
I'm not quite sure what you're saying here, but the database isn't under any significant load. top shows that neither the python process, nor postgres are using any significant amounts of CPU. iotop also shows that there's no disk activity from either process.
Here's an example of the output when the server isn't running properly:
[bitcoin@uncle-enzo /]$ electrum-server
Starting Electrum server on uncle-enzo.mit.edu
Coin chain_id = 1
blockchain: 202904 blocks
TCP server started.
HTTP server started.
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
self.run()
File "/usr/share/electrum-server/processor.py", line 246, in run
self.update()
File "/usr/share/electrum-server/processor.py", line 260, in update
self.send_response(internal_id, response)
File "/usr/share/electrum-server/processor.py", line 276, in send_response
session.send_response(response)
File "/usr/share/electrum-server/transports/stratum_tcp.py", line 30, in send_response
data = json.dumps(response) + "\n"
File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python2.7/json/encoder.py", line 178, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: is not JSON serializable
[12/10/2012-00:13:53] TCP 10 1.0
[12/10/2012-00:13:53] TCP 12 1.0
[12/10/2012-00:13:53] TCP 7 1.01-e
[12/10/2012-00:13:54] TCP 16 1.0
block number: 202904
Stopping Stratum
processor terminating
Server stopped
exit timer
I left the server running last night. It was working fine when I went to bed, but when I woke up this morning, I saw this in the logs, and the server is no longer responsive:
discarding tx id 3984266
discarding tx id 3984266
discarding tx id 4031277
discarding tx id 4031277
discarding tx id 4152198
discarding tx id 4320304
[12/10/2012-07:11:59] TCP 7 1.0
[12/10/2012-07:13:13] TCP 7 1.0
block number: 202952
block number: 202953
block number: 202954
[12/10/2012-07:39:06] TCP 1 1.0
[12/10/2012-07:39:31] TCP 1 1.01-e
discarding tx id 6769795
[12/10/2012-07:43:12] TCP 8 0.52
block number: 202955
[12/10/2012-08:01:32] TCP 7 0.61
block number: 202956
block number: 202957
[12/10/2012-08:04:07] TCP 1 1.01-e
[12/10/2012-08:16:16] TCP 1 1.01-e
[12/10/2012-08:19:01] TCP 7 1.01-e
[12/10/2012-08:21:51] TCP 7 1.01-e
[12/10/2012-08:25:39] TCP 1 1.01-e
block number: 202958
[12/10/2012-08:32:03] TCP 8 1.01-e
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
self.run()
File "/usr/share/electrum-server/processor.py", line 246, in run
self.update()
File "/usr/share/electrum-server/processor.py", line 260, in update
self.send_response(internal_id, response)
File "/usr/share/electrum-server/processor.py", line 276, in send_response
session.send_response(response)
File "/usr/share/electrum-server/transports/stratum_tcp.py", line 30, in send_response
data = json.dumps(response) + "\n"
File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python2.7/json/encoder.py", line 178, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: is not JSON serializable
[12/10/2012-08:32:30] TCP 8 1.01-e
block number: 202959
[12/10/2012-08:40:05] TCP 10 1.0
block number: 202960
[12/10/2012-08:44:31] TCP 7 1.0
block number: 202961
discarding tx id 6478819
discarding tx id 6015062
discarding tx id 5935605
discarding tx id 5935579
discarding tx id 5935292
discarding tx id 5933473