Go-ethereum: Fatal: Error starting protocol stack: listen unix /mnt/c/Users/J-C/AppData/Roaming/myGethBlockchain/mychaindata/geth.ipc: bind: operation not permitted

Created on 28 Feb 2018  路  8Comments  路  Source: ethereum/go-ethereum

After creating Genesis block with JSON file, private network is created, myChaindata directory created.
Sorry if this is not the right forum, but I can't manage to find anyone who can figure this out

System information

Geth version: 1.8.1-stable-1e67410e
OS & Version: Windows 10(running Ubuntu CLI)

Expected behaviour

 `geth --datadir mychaindata/ --nodiscover  `

This should allow me to open access to my private network. Then I would connect to it on another CLI window.

Actual behaviour

J-C@DESKTOP-E6Q0H7H:/mnt/c/Users/J-C/AppData/Roaming/myGethBlockchain$ geth --datadir mychaindata/ --nodiscover
INFO [02-28|17:48:29] Maximum peer count ETH=25 LES=0 total=25
INFO [02-28|17:48:29] Starting peer-to-peer node instance=Geth/v1.8.1-stable-1e67410e/linux-amd64/go1.9.4
INFO [02-28|17:48:29] Allocated cache and file handles database=/mnt/c/Users/J-C/AppData/Roaming/myGethBlockchain/mychaindata/geth/chaindata cache=768 handles=512
INFO [02-28|17:48:29] Initialised chain configuration config="{ChainID: 15 Homestead: 0 DAO: DAOSupport: false EIP150: EIP155: 0 EIP158: 0 Byzantium: Engine: unknown}"
INFO [02-28|17:48:29] Disk storage enabled for ethash caches dir=/mnt/c/Users/J-C/AppData/Roaming/myGethBlockchain/mychaindata/geth/ethash count=3
INFO [02-28|17:48:29] Disk storage enabled for ethash DAGs dir=/home/J-C/.ethash count=2
INFO [02-28|17:48:29] Initialising Ethereum protocol versions="[63 62]" network=1
INFO [02-28|17:48:29] Loaded most recent local header number=0 hash=88c9f6鈥55494 td=8192
INFO [02-28|17:48:29] Loaded most recent local full block number=0 hash=88c9f6鈥55494 td=8192
INFO [02-28|17:48:29] Loaded most recent local fast block number=0 hash=88c9f6鈥55494 td=8192
INFO [02-28|17:48:29] Loaded local transaction journal transactions=0 dropped=0
INFO [02-28|17:48:29] Regenerated local transaction journal transactions=0 accounts=0
INFO [02-28|17:48:29] Starting P2P networking
INFO [02-28|17:48:29] RLPx listener up self="enode://d16a97e3620bb2c77f83160e6af50a1454e952a15daed43b91d37e1514ac651d484159375b70d72b9ae5127249b6a273c85b007dc55f1b82274bde0c1bc9d2ad@[::]:30303?discport=0"
INFO [02-28|17:48:29] Blockchain manager stopped
INFO [02-28|17:48:29] Stopping Ethereum protocol
INFO [02-28|17:48:29] Ethereum protocol stopped
INFO [02-28|17:48:29] Transaction pool stopped
INFO [02-28|17:48:29] Database closed database=/mnt/c/Users/J-C/AppData/Roaming/myGethBlockchain/mychaindata/geth/chaindata
Fatal: Error starting protocol stack: listen unix /mnt/c/Users/J-C/AppData/Roaming/myGethBlockchain/mychaindata/geth.ipc: bind: operation not permitted`

Here is my JSON genesis file

{
"config": {
"chainId" : 15,
"homesteadBlock" : 0,
"eip155Block" : 0,
"eip158Block" : 0

},
"Difficulty" : "0X2000",
"gasLimit" : "0X8000000",
"alloc" :{}

}

Most helpful comment

The problem here is that you're trying to create a unix socket (the standard inter-process communication primitive in everything apart from Window), on a Windows partition. Unix sockets might look like plain files, but they are fancy synchronization primitives supported by the operating system and the underlying file system.

TL;DR; You can't put your geth.ipc file (unix socket) on a non unix partition.

If you don't need a unix socket, you can run with --ipcdisable, or if you need one, please specify it to be in a unix folder --ipcpath=/my/path.

All 8 comments

Allright so the port that this process is trying to access (30303) is in a Wait_Close state on my computer. I am assuming I either have to make geth go for another port, or forcefully close that 30303 port (which from what I read, doesn't seem ideal)..

The problem here is that you're trying to create a unix socket (the standard inter-process communication primitive in everything apart from Window), on a Windows partition. Unix sockets might look like plain files, but they are fancy synchronization primitives supported by the operating system and the underlying file system.

TL;DR; You can't put your geth.ipc file (unix socket) on a non unix partition.

If you don't need a unix socket, you can run with --ipcdisable, or if you need one, please specify it to be in a unix folder --ipcpath=/my/path.

Thanks!
Seems like the --ipcdisable flag puts me one step forrward, but still can't establish connection. However instead of closing, the system seem stuck after RLPx listener up, assumingly trying to connect with that same 30303 port..?

What are you trying to do?

And how exactly?

My goal is to connect to my private blockchain network I created (filename: mnt/c/Users/J-C/AppData/Roaming/myGethBlockchain/mychaindata/geth/chaindata).

screenshot 7

This is what I just got, so even with the ipc disable, still get stuck before the 'open IPC endpoint' line.
Wouldn't that be related with the port used by geth (here 30303)?

If this all this were to work properly, I would then open a second command line / shell, and 'geth attach', to enter the network, and then do stuff (as I am the admin)!

Any other ideas...? @karalabe

You specified mychaindata/ twice, every flag afterwards just got ignored.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

prene picture prene  路  3Comments

cheershendtco picture cheershendtco  路  3Comments

bgrieder picture bgrieder  路  3Comments

tymat picture tymat  路  3Comments

phpsamsb picture phpsamsb  路  3Comments