Skip to content

Instantly share code, notes, and snippets.

@byxorna
Created October 23, 2014 19:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save byxorna/bae6e4e745ce936001b6 to your computer and use it in GitHub Desktop.
Save byxorna/bae6e4e745ce936001b6 to your computer and use it in GitHub Desktop.
confd nil dereference
~/code/go/bin/confd -backend etcd -node $ETCD_SERVER:$ETCD_PORT -confdir $CONF_DIR -debug -watch
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: WARNING Skipping confd config file.
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: NOTICE Backend set to etcd
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: NOTICE Starting confd
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: NOTICE Backend nodes set to 192.168.59.103:4001
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Loading template resources from confdir /Users/gabe/code/merlin/client
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Loading template resource from /Users/gabe/code/merlin/client/conf.d/example.toml
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Loading template resource from /Users/gabe/code/merlin/client/conf.d/testing.toml
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Retrieving keys from store
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Key prefix set to /merlin/example
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Retrieving keys from store
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Key prefix set to /merlin/testing
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Using source template /Users/gabe/code/merlin/client/templates/example.json.tmpl
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Compiling source template /Users/gabe/code/merlin/client/templates/example.json.tmpl
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Comparing candidate config to /tmp/example.json
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Using source template /Users/gabe/code/merlin/client/templates/testing.conf.tmpl
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Compiling source template /Users/gabe/code/merlin/client/templates/testing.conf.tmpl
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Comparing candidate config to /tmp/testing.conf
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Target config /tmp/example.json in sync
2014-10-23T15:13:49-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Target config /tmp/testing.conf in sync
2014-10-23T15:13:54-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Retrieving keys from store
2014-10-23T15:13:54-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Key prefix set to /merlin/example
2014-10-23T15:13:54-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Using source template /Users/gabe/code/merlin/client/templates/example.json.tmpl
2014-10-23T15:13:54-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Compiling source template /Users/gabe/code/merlin/client/templates/example.json.tmpl
2014-10-23T15:13:54-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Comparing candidate config to /tmp/example.json
2014-10-23T15:13:54-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: INFO /tmp/example.json has md5sum 44488c34fbb99a6b3feaa80de6df474e should be ddada05e7b8dc0bfffab2b5f7f297b68
2014-10-23T15:13:54-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: INFO Target config /tmp/example.json out of sync
2014-10-23T15:13:54-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Running echo 'checking /tmp/.example.json081083029'
2014-10-23T15:13:54-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG "checking /tmp/.example.json081083029\n"
2014-10-23T15:13:54-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: DEBUG Overwriting target config /tmp/example.json
2014-10-23T15:13:54-04:00 tumblr-MacBookPro-b8cf72.local /Users/gabe/code/go/bin/confd[11854]: INFO Target config /tmp/example.json has been updated
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x10 pc=0x1029ad]
goroutine 27 [running]:
runtime.panic(0x332e40, 0x54fbe4)
/usr/local/go/src/pkg/runtime/panic.c:279 +0xf5
github.com/kelseyhightower/confd/backends/etcd.(*Client).WatchPrefix(0xc208036020, 0xc208001120, 0xf, 0x19, 0xc2080041e0, 0x19, 0x0, 0x0)
/Users/gabe/code/go/src/github.com/kelseyhightower/confd/backends/etcd/client.go:78 +0x11d
github.com/kelseyhightower/confd/resource/template.(*watchProcessor).monitorPrefix(0xc20800e090, 0xc208066b00)
/Users/gabe/code/go/src/github.com/kelseyhightower/confd/resource/template/processor.go:94 +0xcb
created by github.com/kelseyhightower/confd/resource/template.(*watchProcessor).Process
/Users/gabe/code/go/src/github.com/kelseyhightower/confd/resource/template/processor.go:86 +0x166
goroutine 16 [select, 4 minutes]:
main.main()
/Users/gabe/code/go/src/github.com/kelseyhightower/confd/confd.go:50 +0x7d0
goroutine 19 [finalizer wait, 1 minutes]:
runtime.park(0x17400, 0x5531b0, 0x551ca9)
/usr/local/go/src/pkg/runtime/proc.c:1369 +0x89
runtime.parkunlock(0x5531b0, 0x551ca9)
/usr/local/go/src/pkg/runtime/proc.c:1385 +0x3b
runfinq()
/usr/local/go/src/pkg/runtime/mgc0.c:2644 +0xcf
runtime.goexit()
/usr/local/go/src/pkg/runtime/proc.c:1445
goroutine 20 [syscall, 4 minutes]:
os/signal.loop()
/usr/local/go/src/pkg/os/signal/signal_unix.go:21 +0x1e
created by os/signal.init·1
/usr/local/go/src/pkg/os/signal/signal_unix.go:27 +0x32
goroutine 25 [semacquire, 4 minutes]:
sync.runtime_Semacquire(0xc20800137c)
/private/var/folders/00/0sdwh000h01000cxqpysvccm0035qk/T/makerelease530016500/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*WaitGroup).Wait(0xc20800e100)
/usr/local/go/src/pkg/sync/waitgroup.go:129 +0x14b
github.com/kelseyhightower/confd/resource/template.(*watchProcessor).Process(0xc20800e090)
/Users/gabe/code/go/src/github.com/kelseyhightower/confd/resource/template/processor.go:88 +0x1ad
created by main.main
/Users/gabe/code/go/src/github.com/kelseyhightower/confd/confd.go:46 +0x466
goroutine 23 [runnable]:
net/http.(*persistConn).readLoop(0xc20803a160)
/usr/local/go/src/pkg/net/http/transport.go:868 +0x829
created by net/http.(*Transport).dialConn
/usr/local/go/src/pkg/net/http/transport.go:600 +0x93f
goroutine 24 [select, 1 minutes]:
net/http.(*persistConn).writeLoop(0xc20803a160)
/usr/local/go/src/pkg/net/http/transport.go:885 +0x38f
created by net/http.(*Transport).dialConn
/usr/local/go/src/pkg/net/http/transport.go:601 +0x957
goroutine 26 [IO wait, 1 minutes]:
net.runtime_pollWait(0x711930, 0x72, 0x0)
/private/var/folders/00/0sdwh000h01000cxqpysvccm0035qk/T/makerelease530016500/go/src/pkg/runtime/netpoll.goc:146 +0x66
net.(*pollDesc).Wait(0xc20802cd10, 0x72, 0x0, 0x0)
/usr/local/go/src/pkg/net/fd_poll_runtime.go:84 +0x46
net.(*pollDesc).WaitRead(0xc20802cd10, 0x0, 0x0)
/usr/local/go/src/pkg/net/fd_poll_runtime.go:89 +0x42
net.(*netFD).Read(0xc20802ccb0, 0xc20809c000, 0x1000, 0x1000, 0x0, 0x710420, 0x23)
/usr/local/go/src/pkg/net/fd_unix.go:232 +0x34c
net.(*conn).Read(0xc208036220, 0xc20809c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/pkg/net/net.go:122 +0xe7
net/http.noteEOFReader.Read(0x711ab8, 0xc208036220, 0xc20803a5d8, 0xc20809c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/pkg/net/http/transport.go:1203 +0x72
net/http.(*noteEOFReader).Read(0xc208053820, 0xc20809c000, 0x1000, 0x1000, 0xc2080ab5f0, 0x0, 0x0)
<autogenerated>:124 +0xca
bufio.(*Reader).fill(0xc208004ba0)
/usr/local/go/src/pkg/bufio/bufio.go:97 +0x1b3
bufio.(*Reader).ReadSlice(0xc208004ba0, 0x27c0a, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/pkg/bufio/bufio.go:298 +0x22c
net/http.readLine(0xc208004ba0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/pkg/net/http/chunked.go:111 +0x59
net/http.(*chunkedReader).beginChunk(0xc2080a1bf0)
/usr/local/go/src/pkg/net/http/chunked.go:48 +0x45
net/http.(*chunkedReader).Read(0xc2080a1bf0, 0xc208010c00, 0x200, 0x200, 0x0, 0x0, 0x0)
/usr/local/go/src/pkg/net/http/chunked.go:78 +0xc0
net/http.(*body).readLocked(0xc208039d00, 0xc208010c00, 0x200, 0x200, 0xff632, 0x0, 0x0)
/usr/local/go/src/pkg/net/http/transfer.go:577 +0x81
net/http.(*body).Read(0xc208039d00, 0xc208010c00, 0x200, 0x200, 0x0, 0x0, 0x0)
/usr/local/go/src/pkg/net/http/transfer.go:572 +0x11a
net/http.(*bodyEOFSignal).Read(0xc208039d40, 0xc208010c00, 0x200, 0x200, 0x0, 0x0, 0x0)
/usr/local/go/src/pkg/net/http/transport.go:1126 +0x254
bytes.(*Buffer).ReadFrom(0xc20802d8f0, 0x711cb8, 0xc208039d40, 0x0, 0x0, 0x0)
/usr/local/go/src/pkg/bytes/buffer.go:169 +0x20e
/usr/local/go/src/pkg/io/ioutil/ioutil.go:42 +0x6c
github.com/coreos/go-etcd/etcd.(*Client).SendRequest(0xc208044300, 0xc2080a1aa0, 0x0, 0x0, 0x0)
/Users/gabe/code/go/src/github.com/coreos/go-etcd/etcd/requests.go:276 +0x1228
github.com/coreos/go-etcd/etcd.(*Client).getCancelable(0xc208044300, 0xc208000b10, 0xf, 0xc2080a1a10, 0xc2080041e0, 0x1, 0x0, 0x0)
/Users/gabe/code/go/src/github.com/coreos/go-etcd/etcd/requests.go:58 +0x3da
github.com/coreos/go-etcd/etcd.(*Client).watchOnce(0xc208044300, 0xc208000b10, 0xf, 0x1b, 0x1, 0xc2080041e0, 0xc2080acd20, 0x0, 0x0)
/Users/gabe/code/go/src/github.com/coreos/go-etcd/etcd/watch.go:96 +0x1fb
github.com/coreos/go-etcd/etcd.(*Client).Watch(0xc208044300, 0xc208000b10, 0xf, 0x1b, 0x1, 0x0, 0xc2080041e0, 0x0, 0x0, 0x0)
/Users/gabe/code/go/src/github.com/coreos/go-etcd/etcd/watch.go:28 +0x1c8
github.com/kelseyhightower/confd/backends/etcd.(*Client).WatchPrefix(0xc208036020, 0xc208000b10, 0xf, 0x1a, 0xc2080041e0, 0x1a, 0x0, 0x0)
/Users/gabe/code/go/src/github.com/kelseyhightower/confd/backends/etcd/client.go:77 +0x10e
github.com/kelseyhightower/confd/resource/template.(*watchProcessor).monitorPrefix(0xc20800e090, 0xc208066700)
/Users/gabe/code/go/src/github.com/kelseyhightower/confd/resource/template/processor.go:94 +0xcb
created by github.com/kelseyhightower/confd/resource/template.(*watchProcessor).Process
/Users/gabe/code/go/src/github.com/kelseyhightower/confd/resource/template/processor.go:86 +0x166
goroutine 38 [select, 2 minutes]:
github.com/coreos/go-etcd/etcd.func·003()
/Users/gabe/code/go/src/github.com/coreos/go-etcd/etcd/requests.go:155 +0x2e0
created by github.com/coreos/go-etcd/etcd.(*Client).SendRequest
/Users/gabe/code/go/src/github.com/coreos/go-etcd/etcd/requests.go:176 +0x2c0
goroutine 29 [select, 2 minutes]:
net/http.(*persistConn).readLoop(0xc20803a580)
/usr/local/go/src/pkg/net/http/transport.go:868 +0x829
created by net/http.(*Transport).dialConn
/usr/local/go/src/pkg/net/http/transport.go:600 +0x93f
goroutine 30 [select, 2 minutes]:
net/http.(*persistConn).writeLoop(0xc20803a580)
/usr/local/go/src/pkg/net/http/transport.go:885 +0x38f
created by net/http.(*Transport).dialConn
/usr/local/go/src/pkg/net/http/transport.go:601 +0x957
goroutine 34 [runnable]:
github.com/coreos/go-etcd/etcd.func·003()
/Users/gabe/code/go/src/github.com/coreos/go-etcd/etcd/requests.go:155 +0x2e0
created by github.com/coreos/go-etcd/etcd.(*Client).SendRequest
/Users/gabe/code/go/src/github.com/coreos/go-etcd/etcd/requests.go:176 +0x2c0
io/ioutil.readAll(0x711cb8, 0xc208039d40, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/pkg/io/ioutil/ioutil.go:33 +0x1ae
io/ioutil.ReadAll(0x711cb8, 0xc208039d40, 0x0, 0x0, 0x0, 0x0, 0x0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment