Has anybody had luck running geth on macOS sierra beta? I get constant crashes after upgrading and trying it out.

Each time in the crash log the reason seems to be different. Here is one example:

> Last login: Fri Aug 12 20:10:42 on ttys000 Erics-MacBook:~ Eric$
> /Applications/Ethereum-Wallet.app/Contents/Frameworks/node/geth/geth ;
> exit; I0812 20:17:43.023333 cmd/utils/flags.go:678] You're one of the
> lucky few that will try out the JIT VM (random). If you get a
> consensus failure please be so kind to report this incident with the
> block hash that failed. You can switch to the regular VM by setting
> --jitvm=false I0812 20:17:43.024375 ethdb/database.go:82] Alloted 128MB cache and 1024 file handles to
> /Users/Eric/Library/Ethereum/chaindata I0812 20:17:43.726820
> cmd/utils/flags.go:842]
> ------------------------------------------------------------------------------------------------ I0812 20:17:43.726847 cmd/utils/flags.go:843] Geth is currently
> configured to SUPPORT the DAO hard-fork! I0812 20:17:43.726854
> cmd/utils/flags.go:844] You can change your choice prior to block
> #1920000 with --support-dao-fork or --oppose-dao-fork. I0812 20:17:43.726860 cmd/utils/flags.go:845] After the hard-fork block
> #1920000 passed, changing chains requires a resync from scratch! I0812 20:17:43.726866 cmd/utils/flags.go:846]
> ------------------------------------------------------------------------------------------------ I0812 20:17:43.729552 ethdb/database.go:169] closed
> db:/Users/Eric/Library/Ethereum/chaindata I0812 20:17:43.759195
> ethdb/database.go:82] Alloted 128MB cache and 1024 file handles to
> /Users/Eric/Library/Ethereum/chaindata I0812 20:17:44.369724
> ethdb/database.go:82] Alloted 16MB cache and 16 file handles to
> /Users/Eric/Library/Ethereum/dapp I0812 20:17:44.388661
> eth/backend.go:172] Protocol Versions: [63 62], Network Id: 1 I0812
> 20:17:44.388851 eth/backend.go:201] Blockchain DB Version: 3 I0812
> 20:17:44.397691 core/blockchain.go:206] Last header: #2060244
> [4f8d7f31…] TD=47316740849566229470 I0812 20:17:44.397747
> core/blockchain.go:207] Last block: #2060244 [4f8d7f31…]
> TD=47316740849566229470 I0812 20:17:44.397767 core/blockchain.go:208]
> Fast block: #2060244 [4f8d7f31…] TD=47316740849566229470 I0812
> 20:17:44.412012 p2p/server.go:313] Starting Server I0812
> 20:17:44.416381 p2p/nat/nat.go:111] mapped network port udp:30303 ->
> 30303 (ethereum discovery) using NAT-PMP( I0812
> 20:17:44.428095 p2p/discover/udp.go:217] Listening,
> enode://9d12afe2cd3a38fe3b2184bc60767cd4a94f21eca3500373ce8fa75b885fb7035288de6740f538410c25145c81dbf4b90eeacf2c00f8839cb478ea13f6a54d34@
> I0812 20:17:44.428776 p2p/server.go:556] Listening on [::]:30303 I0812
> 20:17:44.430634 node/node.go:296] IPC endpoint opened:
> /Users/Eric/Library/Ethereum/geth.ipc I0812 20:17:44.433749
> p2p/nat/nat.go:111] mapped network port tcp:30303 -> 30303 (ethereum
> p2p) using NAT-PMP( I0812 20:18:00.641616
> eth/downloader/downloader.go:320] Block synchronisation started panic:
> sync: inconsistent mutex state
> goroutine 331 [running]: panic(0x48f6ea0, 0xc822880430)
>   /Users/jeffrey/goroot16/src/runtime/panic.go:464 +0x3e6
> sync.(*Mutex).Lock(0xc82288eca0)
>   /Users/jeffrey/goroot16/src/sync/mutex.go:75 +0x16d
> github.com/ethereum/go-ethereum/p2p.(*rlpx).ReadMsg(0xc82288ec90, 0x0,
> 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
>   /Users/jeffrey/go/src/github.com/ethereum/go-ethereum/p2p/rlpx.go:86
> +0x8a github.com/ethereum/go-ethereum/p2p.(*Peer).readLoop(0xc820aa0000,
> 0xc82145c000)
>   /Users/jeffrey/go/src/github.com/ethereum/go-ethereum/p2p/peer.go:214
> +0x90 created by github.com/ethereum/go-ethereum/p2p.(*Peer).run  /Users/jeffrey/go/src/github.com/ethereum/go-ethereum/p2p/peer.go:145
> +0xf9 logout Saving session... ...copying shared history... ...saving history...truncating history files... ...completed.
> [Process completed]

I found the fix but if I'm being completely honest I don't really understand it, but wanted to pass it onto the dev team.


Disabling ntpd via sudo launchctl unload /System/Library/LaunchDaemons/org.ntp.ntpd.plist now lets me sync! Not sure if this is an apple bug or go bug or what.


Make sure that there are no duplicate copies of geth running using the command ps -ef | grep geth.

Then run geth removedb that will clear your existing blockchain data.

And then run geth --fast --support-dao-fork console to start a fresh download of the blockchain data.

You could also try renaming your existing ~/.ethereum/chaindata directory to something like ~/.ethereum/chaindata_problems. Then run geth --fast --support-dao-fork console to start a fresh download of the blockchain data. If the problems still persist, the issue is more likely to be in the binaries. You can then move your old chaindata directory back to continue on your syncing.

  • Thanks for reply but unfortunately same issues after doing all of this. Always happens right around blockchain sync. – Eric Aug 13 '16 at 1:13
  • Actually got 2 blocks to come in at a point followed by this: I0812 21:16:43.928388 core/blockchain.go:963] imported 2 block(s) (0 queued 0 ignored) including 0 txs in 1.861812914s. #2 [88e96d45 / b495a1d7] I0812 21:16:44.257265 core/blockchain.go:963] imported 4 block(s) (0 queued 0 ignored) including 0 txs in 66.880104ms. #6 [3d612266 / 1f1aed8e] unexpected fault address 0x20b7e4b42d5 fatal error: fault [signal 0xb code=0x1 addr=0x20b7e4b42d5 pc=0x4078909] – Eric Aug 13 '16 at 1:18

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.