etcdserver/ARM: starting etcd on crashes the first time, succeeds subsequently #2308
Closed
Description
Title says it all. First time -> crash, second time -> works (this is raspberry pi b+)
2015/02/14 07:47:55 no data-dir provided, using default data-dir ./pi0.etcd
2015/02/14 07:47:55 etcd: listening for peers on http://10.248.0.1:2380
2015/02/14 07:47:55 etcd: listening for client requests on http://localhost:2379
2015/02/14 07:47:55 etcd: listening for client requests on http://localhost:4001
2015/02/14 07:47:55 etcdserver: name = pi0
2015/02/14 07:47:55 etcdserver: data dir = pi0.etcd
2015/02/14 07:47:55 etcdserver: member dir = pi0.etcd/member
2015/02/14 07:47:55 etcdserver: heartbeat = 100ms
2015/02/14 07:47:55 etcdserver: election = 1000ms
2015/02/14 07:47:55 etcdserver: snapshot count = 10000
2015/02/14 07:47:55 etcdserver: advertise client URLs = http://localhost:2379,http://localhost:4001
2015/02/14 07:47:55 etcdserver: initial advertise peer URLs = http://10.248.0.1:2380
2015/02/14 07:47:55 etcdserver: initial cluster = pi0=http://10.248.0.1:2380,pi1=http://10.248.0.2:2380,pi2=http://10.248.0.3:2380
2015/02/14 07:47:55 etcdserver: start member 1dc862383bd186a1 in cluster 985788d45a3370a0
2015/02/14 07:47:55 raft: 1dc862383bd186a1 became follower at term 0
2015/02/14 07:47:55 raft: newRaft 1dc862383bd186a1 [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
2015/02/14 07:47:55 raft: 1dc862383bd186a1 became follower at term 1
2015/02/14 07:47:55 etcdserver: added local member 1dc862383bd186a1 [http://10.248.0.1:2380] to cluster 985788d45a3370a0
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x4 pc=0xb9dd0]
goroutine 18 [running]:
sync/atomic.storeUint64(0x1073065c, 0x1, 0x0)
/home/miek/upstream/go/src/sync/atomic/64bit_arm.go:20 +0x48
github.com/coreos/etcd/etcdserver.(*EtcdServer).apply(0x10730630, 0x107882c0, 0x3, 0x4, 0x1078a380, 0x0, 0x0, 0x0)
/home/miek/g/src/github.com/coreos/etcd/etcdserver/server.go:696 +0x210
github.com/coreos/etcd/etcdserver.(*EtcdServer).run(0x10730630)
/home/miek/g/src/github.com/coreos/etcd/etcdserver/server.go:398 +0xfd0
created by github.com/coreos/etcd/etcdserver.(*EtcdServer).start
/home/miek/g/src/github.com/coreos/etcd/etcdserver/server.go:294 +0x2cc
goroutine 1 [runnable]:
github.com/coreos/etcd/etcdmain.Main()
/home/miek/g/src/github.com/coreos/etcd/etcdmain/etcd.go:79 +0x56c
main.main()
/home/miek/g/src/github.com/coreos/etcd/main.go:48 +0x250
goroutine 5 [syscall]:
os/signal.loop()
/home/miek/upstream/go/src/os/signal/signal_unix.go:21 +0x1c
created by os/signal.init·1
/home/miek/upstream/go/src/os/signal/signal_unix.go:27 +0x40
goroutine 19 [runnable]:
github.com/coreos/etcd/etcdserver.(*EtcdServer).Do(0x10730630, 0xb6eef6f8, 0x107a0180, 0xe70d0001, 0xa14b870e, 0x38e5a0, 0x3, 0x10732510, 0x26, 0x10710190, ...)
/home/miek/g/src/github.com/coreos/etcd/etcdserver/server.go:488 +0x49c
github.com/coreos/etcd/etcdserver.(*EtcdServer).publish(0x10730630, 0x2a05f200, 0x1)
/home/miek/g/src/github.com/coreos/etcd/etcdserver/server.go:650 +0x294
created by github.com/coreos/etcd/etcdserver.(*EtcdServer).Start
/home/miek/g/src/github.com/coreos/etcd/etcdserver/server.go:275 +0x58
goroutine 20 [runnable]:
github.com/coreos/etcd/etcdserver.(*EtcdServer).purgeFile(0x10730630)
/home/miek/g/src/github.com/coreos/etcd/etcdserver/server.go:305 +0x38c
created by github.com/coreos/etcd/etcdserver.(*EtcdServer).Start
/home/miek/g/src/github.com/coreos/etcd/etcdserver/server.go:276 +0x80
goroutine 21 [IO wait]:
net.(*pollDesc).Wait(0x107370f8, 0x72, 0x0, 0x0)
/home/miek/upstream/go/src/net/fd_poll_runtime.go:84 +0x3c
net.(*pollDesc).WaitRead(0x107370f8, 0x0, 0x0)
/home/miek/upstream/go/src/net/fd_poll_runtime.go:89 +0x38
net.(*netFD).accept(0x107370c0, 0x0, 0xb6eedab0, 0x1073a638)
/home/miek/upstream/go/src/net/fd_unix.go:419 +0x390
net.(*TCPListener).AcceptTCP(0x1071c620, 0x0, 0x0, 0x0)
/home/miek/upstream/go/src/net/tcpsock_posix.go:234 +0x50
net.(*TCPListener).Accept(0x1071c620, 0x0, 0x0, 0x0, 0x0)
/home/miek/upstream/go/src/net/tcpsock_posix.go:244 +0x3c
github.com/coreos/etcd/pkg/transport.(*rwTimeoutListener).Accept(0x1078a1c0, 0x0, 0x0, 0x0, 0x0)
/home/miek/g/src/github.com/coreos/etcd/pkg/transport/timeout_listener.go:44 +0x64
net/http.(*Server).Serve(0x107a0280, 0xb6eef018, 0x1078a1c0, 0x0, 0x0)
/home/miek/upstream/go/src/net/http/server.go:1728 +0x98
github.com/coreos/etcd/etcdmain.serveHTTP(0xb6eef018, 0x1078a1c0, 0xb6eef638, 0x1078a280, 0xd964b800, 0x45, 0x0, 0x0)
/home/miek/g/src/github.com/coreos/etcd/etcdmain/http.go:36 +0x1b8
github.com/coreos/etcd/etcdmain.func·005(0xb6eef018, 0x1078a1c0)
/home/miek/g/src/github.com/coreos/etcd/etcdmain/etcd.go:180 +0x58
created by github.com/coreos/etcd/etcdmain.startEtcd
/home/miek/g/src/github.com/coreos/etcd/etcdmain/etcd.go:118 +0x17d8
goroutine 22 [IO wait]:
net.(*pollDesc).Wait(0x107371b8, 0x72, 0x0, 0x0)
/home/miek/upstream/go/src/net/fd_poll_runtime.go:84 +0x3c
net.(*pollDesc).WaitRead(0x107371b8, 0x0, 0x0)
/home/miek/upstream/go/src/net/fd_poll_runtime.go:89 +0x38
net.(*netFD).accept(0x10737180, 0x0, 0xb6eedab0, 0x1073a650)
/home/miek/upstream/go/src/net/fd_unix.go:419 +0x390
net.(*TCPListener).AcceptTCP(0x1071c6f0, 0x0, 0x0, 0x0)
/home/miek/upstream/go/src/net/tcpsock_posix.go:234 +0x50
net.(*TCPListener).Accept(0x1071c6f0, 0x0, 0x0, 0x0, 0x0)
/home/miek/upstream/go/src/net/tcpsock_posix.go:244 +0x3c
github.com/coreos/etcd/pkg/transport.(*keepaliveListener).Accept(0x1071c6f8, 0x0, 0x0, 0x0, 0x0)
/home/miek/g/src/github.com/coreos/etcd/pkg/transport/keepalive_listener.go:48 +0x64
net/http.(*Server).Serve(0x107a02c0, 0xb6eef038, 0x1071c6f8, 0x0, 0x0)
/home/miek/upstream/go/src/net/http/server.go:1728 +0x98
github.com/coreos/etcd/etcdmain.serveHTTP(0xb6eef038, 0x1071c6f8, 0xb6eef720, 0x1073a450, 0x0, 0x0, 0x0, 0x0)
/home/miek/g/src/github.com/coreos/etcd/etcdmain/http.go:36 +0x1b8
github.com/coreos/etcd/etcdmain.func·006(0xb6eef038, 0x1071c6f8)
/home/miek/g/src/github.com/coreos/etcd/etcdmain/etcd.go:188 +0x8c
created by github.com/coreos/etcd/etcdmain.startEtcd
/home/miek/g/src/github.com/coreos/etcd/etcdmain/etcd.go:118 +0x18e0
goroutine 23 [IO wait]:
net.(*pollDesc).Wait(0x10737278, 0x72, 0x0, 0x0)
/home/miek/upstream/go/src/net/fd_poll_runtime.go:84 +0x3c
net.(*pollDesc).WaitRead(0x10737278, 0x0, 0x0)
/home/miek/upstream/go/src/net/fd_poll_runtime.go:89 +0x38
net.(*netFD).accept(0x10737240, 0x0, 0xb6eedab0, 0x1073a6b8)
/home/miek/upstream/go/src/net/fd_unix.go:419 +0x390
net.(*TCPListener).AcceptTCP(0x1071c740, 0x0, 0x0, 0x0)
/home/miek/upstream/go/src/net/tcpsock_posix.go:234 +0x50
net.(*TCPListener).Accept(0x1071c740, 0x0, 0x0, 0x0, 0x0)
/home/miek/upstream/go/src/net/tcpsock_posix.go:244 +0x3c
github.com/coreos/etcd/pkg/transport.(*keepaliveListener).Accept(0x1071c748, 0x0, 0x0, 0x0, 0x0)
/home/miek/g/src/github.com/coreos/etcd/pkg/transport/keepalive_listener.go:48 +0x64
net/http.(*Server).Serve(0x107a0300, 0xb6eef038, 0x1071c748, 0x0, 0x0)
/home/miek/upstream/go/src/net/http/server.go:1728 +0x98
github.com/coreos/etcd/etcdmain.serveHTTP(0xb6eef038, 0x1071c748, 0xb6eef720, 0x1073a450, 0x0, 0x0, 0x0, 0x0)
/home/miek/g/src/github.com/coreos/etcd/etcdmain/http.go:36 +0x1b8
github.com/coreos/etcd/etcdmain.func·006(0xb6eef038, 0x1071c748)
/home/miek/g/src/github.com/coreos/etcd/etcdmain/etcd.go:188 +0x8c
created by github.com/coreos/etcd/etcdmain.startEtcd
/home/miek/g/src/github.com/coreos/etcd/etcdmain/etcd.go:118 +0x18e0
goroutine 24 [chan receive]:
github.com/coreos/etcd/pkg/osutil.func·001()
/home/miek/g/src/github.com/coreos/etcd/pkg/osutil/osutil.go:66 +0x50
created by github.com/coreos/etcd/pkg/osutil.HandleInterrupts
/home/miek/g/src/github.com/coreos/etcd/pkg/osutil/osutil.go:82 +0x1d4
goroutine 25 [runnable]:
github.com/coreos/etcd/pkg/fileutil.func·001()
/home/miek/g/src/github.com/coreos/etcd/pkg/fileutil/purge.go:69 +0x5d0
created by github.com/coreos/etcd/pkg/fileutil.PurgeFile
/home/miek/g/src/github.com/coreos/etcd/pkg/fileutil/purge.go:75 +0x26c
goroutine 26 [runnable]:
github.com/coreos/etcd/pkg/fileutil.func·001()
/home/miek/g/src/github.com/coreos/etcd/pkg/fileutil/purge.go:69 +0x5d0
created by github.com/coreos/etcd/pkg/fileutil.PurgeFile
/home/miek/g/src/github.com/coreos/etcd/pkg/fileutil/purge.go:75 +0x26c
Metadata
Assignees
Labels
No labels