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

2 Answers 2


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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.