I startup my private test node with:

geth --networkid 4224 --mine --datadir "~/ChainSkills/private" --ipcpath "~/Library/Ethereum/geth.ipc" --nodiscover --rpc --rpcport "8545" --port "30303" --rpccorsdomain "*" --nat "any" --rpcapi eth,web3,personal,net --unlock 0 --password ~/ChainSkills/private/password.sec

But when I start Mist I get the following error:

[ERROR] EthereumNode - Failed to start node { Error: Geth error: fatal: error starting protocol stack: listen tcp :30303: bind: address already in use

at Socket.proc.stdout.on.data (/Applications/Mist.app/Contents/Resources/app.asar/modules/ethereumNode.js:422:47)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:191:7)
    at readableAddChunk (_stream_readable.js:178:18)
    at Socket.Readable.push (_stream_readable.js:136:10)
    at Pipe.onread (net.js:560:20) tag: 'unableToBindPort' }

I know this is a very old post, but since the existing answer is not complete, I decided to post mine.

The error listen tcp :30303: bind: address already in use is clearly telling you that the 30303 port is already being used by another program. You can use the following command to figure out what program is using it (it seems you're on a linux system):

netstat -tulpn | grep 30303

Maybe you have another instance of geth running, or another app listening in that port. Since you're already specifying a port option (--port) it wouldn't be difficult to try another port. Just run geth with --port 30304, for example.

geth --port "30304" --networkid 4224 --mine --datadir "~/ChainSkills/private"...
address already in use 

Maybe some another program listening on this port? Or if geth node crashed unexpectly without closing listening socket, you just need to wait some time or reboot your system.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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