Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

panic: sync: inconsistent mutex state goroutine 215 (OSX) #4621

Closed
jbshirk opened this issue Jan 29, 2018 · 9 comments
Closed

panic: sync: inconsistent mutex state goroutine 215 (OSX) #4621

jbshirk opened this issue Jan 29, 2018 · 9 comments

Comments

@jbshirk
Copy link

jbshirk commented Jan 29, 2018

Version information:

ipfs version --all
go-ipfs version: 0.4.3-dev-33510a9
Repo version: 4
System version: amd64/darwin
Golang version: go1.6.3

Type:

Bug

Severity:

High - daemon Panic

Description:

ipfs daemon
Initializing daemon...
Adjusting current ulimit to 1024.
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/192.168.254.13/tcp/4001
Swarm listening on /ip4/47.205.152.185/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready
panic: sync: inconsistent mutex state

goroutine 215 [running]:
panic(0x8c2600, 0xc822175630)
	/usr/local/go/src/runtime/panic.go:481 +0x3e6
sync.(*Mutex).Lock(0xc8203469dc)
	/usr/local/go/src/sync/mutex.go:75 +0x16d
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardEWMA).Rate(0xc8203469c0, 0x0)
	/Users/joe/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/ewma.go:94 +0x3a
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardMeter).updateSnapshot(0xc82019ff00)
	/Users/joe/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/meter.go:216 +0xf2
gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics.(*StandardMeter).Mark(0xc82019ff00, 0x2c)
	/Users/joe/go/src/gx/ipfs/QmeYJHEk8UjVVZ4XCRTZe6dFQrb8pGWD81LYCgeLp8CvMB/go-metrics/meter.go:159 +0x144
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(*BandwidthCounter).LogSentMessage(0xc820073400, 0x2c)
	/Users/joe/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/bw_stats.go:35 +0x44
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics.(Reporter).LogSentMessage-fm(0x2c)
	/Users/joe/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:16 +0x3c
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn.(*MeteredConn).Write(0xc821cdaae0, 0xc822185d10, 0x2c, 0x30, 0x0, 0x0, 0x0)
	/Users/joe/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/metrics/conn/conn.go:37 +0xa5
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*singleConn).Write(0xc821ee0580, 0xc822185d10, 0x2c, 0x30, 0x0, 0x0, 0x0)
	/Users/joe/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/conn.go:128 +0x6b
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*writer).WriteMsg(0xc822036ae0, 0xc822185d10, 0x2c, 0x30, 0x0, 0x0)
	/Users/joe/go/src/gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio/msgio.go:103 +0x15a
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).WriteMsg(0xc820089e40, 0xc8220970b0, 0xc, 0xc, 0x0, 0x0)
	/Users/joe/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:73 +0x360
gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio.(*etmWriter).Write(0xc820089e40, 0xc8220970b0, 0xc, 0xc, 0x0, 0x0, 0x0)
	/Users/joe/go/src/gx/ipfs/QmVjz1uf6U3sVQ5DbWWj7ktTtDd4GgsptYc7FBp33nWE53/go-libp2p-secio/rw.go:42 +0x4b
gx/ipfs/QmRQhVisS8dmPbjBUthVkenn81pBxrx1GxE281csJhm2vL/go-msgio.(*readWriter).Write(0xc822036b00, 0xc8220970b0, 0xc, 0xc, 0xc822083f88, 0x0, 0x0)
	<autogenerated>:19 +0x81
gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn.(*secureConn).Write(0xc821edf6e0, 0xc8220970b0, 0xc, 0xc, 0x1, 0x0, 0x0)
	/Users/joe/go/src/gx/ipfs/QmVCe3SNMjkcPgnpFhZs719dheq6xE7gJwjzV7aWcUM4Ms/go-libp2p/p2p/net/conn/secure_conn.go:118 +0x90
gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.(*Session).send(0xc8220069a0)
	/Users/joe/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:367 +0x1f0
created by gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux.newSession
	/Users/joe/go/src/gx/ipfs/QmZ8MMKFwA95viWULoSYFZpA4kdFa8idmFSrP12YJwjjaL/yamux/session.go:105 +0x4d6
@Stebalien
Copy link
Member

Please update go-ipfs, there's a good chance this bug has been fixed and things have changed significantly since September 2016. If not, we're replacing the go-metrics package anyways (#4610) although that may not be to blame (some other package could be corrupting memory).

@jbshirk
Copy link
Author

jbshirk commented Jan 29, 2018

updated Go, but same thing happens. Should I uninstall and reinstall IPFS?

@jbshirk
Copy link
Author

jbshirk commented Jan 29, 2018

$ sudo ./install.sh
We cannot install ipfs in one of the directories /usr/local/bin /usr/bin
It seems that we do not have the necessary write permissions.
Perhaps try running this script as a privileged user:

    sudo ./install.sh

@jbshirk
Copy link
Author

jbshirk commented Jan 29, 2018

updated go, reinstalled ipfs. ipfs is not finding new version of go.

$ go version
go version go1.9.3 darwin/amd64
$ ipfs version --all
go-ipfs version: 0.4.3-dev-33510a9
Repo version: 4
System version: amd64/darwin
Golang version: go1.6.3

@jbshirk
Copy link
Author

jbshirk commented Jan 29, 2018

it has to do with old path:

$ export $path
...
declare -x GOPATH="/Users/joe/go/"
...
declare -x PATH="/Users/joe/.rvm/gems/ruby-2.5.0/bin:/Users/joe/.rvm/gems/ruby-2.5.0@global/bin:/Users/joe/.rvm/rubies/ruby-2.5.0/bin:/Users/joe/.rvm/bin:/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby:/Library/Frameworks/Python.framework/Versions/3.5/bin:/Users/joe/go/bin:/usr/local/go/bin:/Users/joe/Library/Android/sdk/platform-tools:/Users/joe/Library/Android/sdk/tools:/sw/bin:/sw/sbin:/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/share/npm:/opt/X11/bin:/usr/local/git/bin:/usr/local/go/bin:/usr/local/MacGPG2/bin:/usr/X11R6/bin:/Users/joe/.local/bin"

I don't know how to fix that:
...:/Users/joe/go/bin:/usr/local/go/bin:...

@jbshirk
Copy link
Author

jbshirk commented Jan 29, 2018

all this old stuff in my home is being found by $path:

$ ls -la  ~/go
total 24
...
drwxr-xr-x    5 joe  staff   170 Aug  1  2016 bin
drwxr-xr-x    3 joe  staff   102 Jul  7  2016 pkg
drwxr-xr-x    6 joe  staff   204 Apr  8  2017 src
bin:
total 82024
drwxr-xr-x  5 joe  staff       170 Aug  1  2016 .
drwxr-xr-x  6 joe  staff       204 Jul 29  2016 ..
-rwxr-xr-x  1 joe  staff  10358040 Jul  7  2016 fs-repo-migrations
-rwxr-xr-x  1 joe  staff   2249584 Jul 29  2016 hello
-rwxr-xr-x  1 joe  staff  29383164 Aug  1  2016 ipfs

pkg:
total 16
drwxr-xr-x  4 joe  staff   136 Jan 29 17:41 .
drwxr-xr-x  6 joe  staff   204 Jul 29  2016 ..
-rw-r--r--@ 1 joe  staff  6148 Jan 29 17:41 .DS_Store
drwxr-xr-x  5 joe  staff   170 Aug  2  2016 darwin_amd64

src:
total 24
drwxr-xr-x  6 joe  staff   204 Apr  8  2017 .
drwxr-xr-x  6 joe  staff   204 Jul 29  2016 ..
-rw-r--r--@ 1 joe  staff  8196 Sep  3 15:44 .DS_Store
drwxr-xr-x  5 joe  staff   170 Jul 29  2016 github.com
drwxr-xr-x  3 joe  staff   102 Apr  8  2017 golang.org
drwxr-xr-x  4 joe  staff   136 Sep  3 15:43 gx

@Stebalien
Copy link
Member

I'd remove $(which ipfs) and try installing again.

@jbshirk
Copy link
Author

jbshirk commented Jan 30, 2018

rm $(which ipfs)

@jbshirk
Copy link
Author

jbshirk commented Jan 30, 2018

it was also necessary to remove all old ipfs installations in the ~/.bash_profile : ~/go/ (namely, ~/go/bin/ipfs/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants