I tried to upgrade Geth to 1.4.6, now I get this error, why and how can I fix it?
Fatal: Error starting protocol stack: datadir already used
OS: Ubuntu 15.10
Note: Chaindata is being symlinked to an external SD card, not sure if that is relevant
Seems you already have a Geth instance running in the background that has the database locked.
Check for running geth instaces using ps
.
~ $ ps aux | grep geth
user 10382 6.2 0.4 643660 66508 pts/0 Sl+ 10:17 0:00 geth
user 10408 0.0 0.0 13164 2288 pts/1 S+ 10:17 0:00 grep --color=auto geth
Kill it softly.
~ $ killall geth
If the issue persists, and geth is not wanting to be killed softly, look up the process ID from ps
(above, here: 10382), and kill it hard:
~ $ kill -9 10382
Now you can launch geth again. However, you could also just geth attach
to check if geth is running.