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: Stack Overflow in revokeTreeSalted #2348

Closed
justenwalker opened this issue Feb 7, 2017 · 9 comments · Fixed by #2478
Closed

panic: Stack Overflow in revokeTreeSalted #2348

justenwalker opened this issue Feb 7, 2017 · 9 comments · Fixed by #2478

Comments

@justenwalker
Copy link

Vault panics when revoking some accessors. Seems to be in the code path of revokeTreeSalted

Vault Version: 0.6.3

Feb 07 09:58:32 vault01 vault[429]: runtime: goroutine stack exceeds 1000000000-byte limit
Feb 07 09:58:32 vault01 vault[429]: fatal error: stack overflow
Feb 07 09:58:32 vault01 vault[429]: runtime stack:
Feb 07 09:58:32 vault01 vault[429]: runtime.throw(0x16af3c8, 0xe)
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/runtime/panic.go:566 +0x95
Feb 07 09:58:32 vault01 vault[429]: runtime.newstack()
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/runtime/stack.go:1061 +0x416
Feb 07 09:58:32 vault01 vault[429]: runtime.morestack()
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/runtime/asm_amd64.s:366 +0x7f
Feb 07 09:58:32 vault01 vault[429]: goroutine 132 [running]:
Feb 07 09:58:32 vault01 vault[429]: runtime.strhash(0xc4ae186430, 0x7a19b95f, 0xc4ae1862f0)
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/runtime/alg.go:96 fp=0xc4ae1862c0 sp=0xc4ae1862b8
Feb 07 09:58:32 vault01 vault[429]: type..hash.net/http.connectMethodKey(0xc4ae186430, 0x7a19b95f, 0xc4ae186330)
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/net/http/client.go:1 +0x35 fp=0xc4ae1862e8 sp=0xc4ae1862c0
Feb 07 09:58:32 vault01 vault[429]: runtime.mapaccess2(0x1472780, 0xc420276090, 0xc4ae186430, 0xc4204eef49, 0x4)
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/runtime/hashmap.go:343 +0x73 fp=0xc4ae186330 sp=0xc4ae1862e8
Feb 07 09:58:32 vault01 vault[429]: net/http.(*Transport).getIdleConn(0xc42016c4b0, 0x0, 0xc4204eef49, 0x4, 0xc4204eeef1, 0xe, 0x0, 0x0, 0x0, 0x0)
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/net/http/transport.go:722 +0x11d fp=0xc4ae186470 sp=0xc4ae186330
Feb 07 09:58:32 vault01 vault[429]: net/http.(*Transport).getConn(0xc42016c4b0, 0xc42ad3b920, 0x0, 0xc4204eef49, 0x4, 0xc4204eeef1, 0xe, 0x0, 0x0, 0xc43981e0e0)
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/net/http/transport.go:849 +0x11f fp=0xc4ae1867b8 sp=0xc4ae186470
Feb 07 09:58:32 vault01 vault[429]: net/http.(*Transport).RoundTrip(0xc42016c4b0, 0xc42aaa53b0, 0xc42016c4b0, 0x0, 0x0)
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/net/http/transport.go:367 +0x307 fp=0xc4ae186a10 sp=0xc4ae1867b8
Feb 07 09:58:32 vault01 vault[429]: net/http.send(0xc42aaa53b0, 0x209c660, 0xc42016c4b0, 0x0, 0x0, 0x0, 0x8, 0xc4ae186b90, 0xc4294d5d20)
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/net/http/client.go:256 +0x15f fp=0xc4ae186b28 sp=0xc4ae186a10
Feb 07 09:58:32 vault01 vault[429]: net/http.(*Client).send(0xc4205411a0, 0xc42aaa53b0, 0x0, 0x0, 0x0, 0xc4294d5d20, 0x0, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/net/http/client.go:146 +0x102 fp=0xc4ae186ba0 sp=0xc4ae186b28
Feb 07 09:58:32 vault01 vault[429]: net/http.(*Client).doFollowingRedirects(0xc4205411a0, 0xc42aaa53b0, 0x17b3938, 0x3, 0x58999a01, 0x36411972)
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/net/http/client.go:528 +0x5e5 fp=0xc4ae186cf0 sp=0xc4ae186ba0
Feb 07 09:58:32 vault01 vault[429]: net/http.(*Client).Do(0xc4205411a0, 0xc42aaa53b0, 0x20e1880, 0x0, 0x2)
Feb 07 09:58:32 vault01 vault[429]:         /goroot/src/net/http/client.go:184 +0x1ea fp=0xc4ae186d50 sp=0xc4ae186cf0
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api.(*Client).doRequest(0xc420163920, 0xc42a653360, 0xc4ae186e58, 0xc4ae
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api/api.go:497 +0x8e fp=0xc4ae186dd0 sp=0xc4ae186d50
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api.(*KV).getInternal(0xc4201564f8, 0xc517ba3780, 0x40, 0xc42a4d0e70, 0x
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api/kv.go:164 +0x269 fp=0xc4ae186ef0 sp=0xc4ae186dd0
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api.(*KV).Keys(0xc4201564f8, 0xc517ba3780, 0x40, 0x169fd8e, 0x1, 0x0, 0x
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api/kv.go:142 +0x156 fp=0xc4ae186f90 sp=0xc4ae186ef0
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/physical.(*ConsulBackend).List(0xc42008a370, 0xc517ba3700, 0x3a, 0x0, 0x0, 0x0, 0x0, 0x0)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/physical/consul.go:329 +0x290 fp=0xc4ae1870a8 sp=0xc4ae186f90
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/physical.(*Cache).List(0xc4201538a0, 0xc517ba3700, 0x3a, 0x2, 0x2, 0xed02b9148, 0x3640eede, 0x20e1880)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/physical/cache.go:91 +0x47 fp=0xc4ae1870f8 sp=0xc4ae1870a8
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*AESGCMBarrier).List(0xc420163980, 0xc517ba3700, 0x3a, 0x0, 0x0, 0x0, 0x0, 0x0)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/barrier_aes_gcm.go:678 +0x1d8 fp=0xc4ae187170 sp=0xc4ae1870f8
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*BarrierView).List(0xc420289120, 0xc42a4d0e40, 0x30, 0xc43981e120, 0x28, 0x169fd8e, 0x1, 0xc42a4d0e4
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/barrier_view.go:44 +0xb8 fp=0xc4ae1871c0 sp=0xc4ae187170
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc43981e120, 0x28, 0xc517ba3280, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:941 +0xa9 fp=0xc4ae187250 sp=0xc4ae1871c0
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc43effec10, 0x28, 0xc4a39d1940, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae1872e0 sp=0xc4ae187250
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc438621bd0, 0x28, 0xc48ea8b3c0, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae187370 sp=0xc4ae1872e0
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc43effe6d0, 0x28, 0xc461297140, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae187400 sp=0xc4ae187370
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc43effe510, 0x28, 0xc4d0f71840, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae187490 sp=0xc4ae187400
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc438621310, 0x28, 0xc4d7557080, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae187520 sp=0xc4ae187490
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc438621150, 0x28, 0xc48c6abb80, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae1875b0 sp=0xc4ae187520
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc438620dd0, 0x28, 0xc484463040, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae187640 sp=0xc4ae1875b0
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc438620a50, 0x28, 0xc46b64aec0, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae1876d0 sp=0xc4ae187640
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc43a17b620, 0x28, 0xc51a62c540, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae187760 sp=0xc4ae1876d0
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc4386206d0, 0x28, 0xc4d6c86200, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae1877f0 sp=0xc4ae187760
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc43a17b0e0, 0x28, 0xc487aedec0, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae187880 sp=0xc4ae1877f0
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc438620190, 0x28, 0xc494102a40, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae187910 sp=0xc4ae187880
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc43a17aba0, 0x28, 0xc4921af140, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae1879a0 sp=0xc4ae187910
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc43a17a9e0, 0x28, 0xc46728c9c0, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae187a30 sp=0xc4ae1879a0
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc439ee3540, 0x28, 0xc49b39c340, 0x1)
Feb 07 09:58:32 vault01 vault[429]:         /gopath/src/github.com/hashicorp/vault/vault/token_store.go:950 +0xfe fp=0xc4ae187ac0 sp=0xc4ae187a30
Feb 07 09:58:32 vault01 vault[429]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420132e40, 0xc439ee3380, 0x28, 0xc46105f280, 0x1)
@jefferai
Copy link
Member

jefferai commented Feb 7, 2017

Can you provide more information? What accessors? What leases are associated with the token of the accessor?

@justenwalker
Copy link
Author

justenwalker commented Feb 7, 2017

I dont know when it happens, but when I try to revoke some accessors ; the CLI hangs and eventually vault crashes.

Additionally, it seems that vault eventually tries to GC the accessors, and that also crashes the server.

I've been discussing it in Gitter if you want to have a more real-time discussion which can be summarized here: https://gitter.im/hashicorp-vault/Lobby

@justenwalker
Copy link
Author

justenwalker commented Feb 7, 2017

Another oddity is that the TTL is negative for some tokens. Lease ID/Duration is also blank

{
  "request_id": "80979339-0fcf-77e1-9de2-493709c17762",
  "lease_id": "",
  "lease_duration": 0,
  "renewable": false,
  "data": {
    "accessor": "2dfaafec-....",
    "creation_time": 1486354010,
    "creation_ttl": 14400,
    "display_name": "token-nomad-cluster",
    "explicit_max_ttl": 0,
    "id": "",
    "meta": null,
    "num_uses": 0,
    "orphan": false,
    "path": "auth/token/create",
    "period": 14400,
    "policies": [
      "root"
    ],
    "renewable": false,
    "ttl": -106554
  },
  "warnings": null
}

@justenwalker
Copy link
Author

justenwalker commented Feb 7, 2017

Another panic log:

Feb 07 17:13:34 vault01 vault[3074]: runtime: goroutine stack exceeds 1000000000-byte limit
Feb 07 17:13:34 vault01 vault[3074]: fatal error: stack overflow
Feb 07 17:13:34 vault01 vault[3074]: runtime stack:
Feb 07 17:13:34 vault01 vault[3074]: runtime.throw(0x16af3c8, 0xe)
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/runtime/panic.go:566 +0x95
Feb 07 17:13:34 vault01 vault[3074]: runtime.newstack()
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/runtime/stack.go:1061 +0x416
Feb 07 17:13:34 vault01 vault[3074]: runtime.morestack()
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/runtime/asm_amd64.s:366 +0x7f
Feb 07 17:13:34 vault01 vault[3074]: goroutine 4274 [running]:
Feb 07 17:13:34 vault01 vault[3074]: runtime.strhash(0xc4556a0430, 0x7ec2cdfe, 0xc4556a02f0)
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/runtime/alg.go:96 fp=0xc4556a02c0 sp=0xc4556a02b8
Feb 07 17:13:34 vault01 vault[3074]: type..hash.net/http.connectMethodKey(0xc4556a0430, 0x7ec2cdfe, 0xc4556a0330)
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/net/http/client.go:1 +0x35 fp=0xc4556a02e8 sp=0xc4556a02c0
Feb 07 17:13:34 vault01 vault[3074]: runtime.mapaccess2(0x1472780, 0xc42027a090, 0xc4556a0430, 0xc42035efe9, 0x4)
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/runtime/hashmap.go:343 +0x73 fp=0xc4556a0330 sp=0xc4556a02e8
Feb 07 17:13:34 vault01 vault[3074]: net/http.(*Transport).getIdleConn(0xc4201ec3c0, 0x0, 0xc42035efe9, 0x4, 0xc42035ef91, 0xe, 0x0, 0x0, 0x0, 0x0)
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/net/http/transport.go:722 +0x11d fp=0xc4556a0470 sp=0xc4556a0330
Feb 07 17:13:34 vault01 vault[3074]: net/http.(*Transport).getConn(0xc4201ec3c0, 0xc43f1eab60, 0x0, 0xc42035efe9, 0x4, 0xc42035ef91, 0xe, 0x0, 0x0, 0xc4757832d0)
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/net/http/transport.go:849 +0x11f fp=0xc4556a07b8 sp=0xc4556a0470
Feb 07 17:13:34 vault01 vault[3074]: net/http.(*Transport).RoundTrip(0xc4201ec3c0, 0xc43f21a870, 0xc4201ec3c0, 0x0, 0x0)
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/net/http/transport.go:367 +0x307 fp=0xc4556a0a10 sp=0xc4556a07b8
Feb 07 17:13:34 vault01 vault[3074]: net/http.send(0xc43f21a870, 0x209c660, 0xc4201ec3c0, 0x0, 0x0, 0x0, 0x8, 0xc4556a0b90, 0xc43fa77028)
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/net/http/client.go:256 +0x15f fp=0xc4556a0b28 sp=0xc4556a0a10
Feb 07 17:13:34 vault01 vault[3074]: net/http.(*Client).send(0xc42054b1a0, 0xc43f21a870, 0x0, 0x0, 0x0, 0xc43fa77028, 0x0, 0x1)
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/net/http/client.go:146 +0x102 fp=0xc4556a0ba0 sp=0xc4556a0b28
Feb 07 17:13:34 vault01 vault[3074]: net/http.(*Client).doFollowingRedirects(0xc42054b1a0, 0xc43f21a870, 0x17b3938, 0x3, 0x589a0001, 0x353a45a2)
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/net/http/client.go:528 +0x5e5 fp=0xc4556a0cf0 sp=0xc4556a0ba0
Feb 07 17:13:34 vault01 vault[3074]: net/http.(*Client).Do(0xc42054b1a0, 0xc43f21a870, 0x20e1880, 0x0, 0x7)
Feb 07 17:13:34 vault01 vault[3074]:         /goroot/src/net/http/client.go:184 +0x1ea fp=0xc4556a0d50 sp=0xc4556a0cf0
Feb 07 17:13:34 vault01 vault[3074]: github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api.(*Client).doRequest(0xc42017f920, 0xc43da9d630, 0xc4556a0e58, 0xc45
Feb 07 17:13:34 vault01 vault[3074]:         /gopath/src/github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api/api.go:497 +0x8e fp=0xc4556a0dd0 sp=0xc4556a0d5
Feb 07 17:13:34 vault01 vault[3074]: github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api.(*KV).getInternal(0xc420154568, 0xc448d97480, 0x40, 0xc436d78e70, 0
Feb 07 17:13:34 vault01 vault[3074]:         /gopath/src/github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api/kv.go:164 +0x269 fp=0xc4556a0ef0 sp=0xc4556a0dd
Feb 07 17:13:34 vault01 vault[3074]: github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api.(*KV).Keys(0xc420154568, 0xc448d97480, 0x40, 0x169fd8e, 0x1, 0x0, 0
Feb 07 17:13:34 vault01 vault[3074]:         /gopath/src/github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api/kv.go:142 +0x156 fp=0xc4556a0f90 sp=0xc4556a0ef
Feb 07 17:13:34 vault01 vault[3074]: github.com/hashicorp/vault/physical.(*ConsulBackend).List(0xc4201180b0, 0xc448d97440, 0x3a, 0x0, 0x0, 0x0, 0x0, 0x0)
Feb 07 17:13:34 vault01 vault[3074]:         /gopath/src/github.com/hashicorp/vault/physical/consul.go:329 +0x290 fp=0xc4556a10a8 sp=0xc4556a0f90
Feb 07 17:13:34 vault01 vault[3074]: github.com/hashicorp/vault/physical.(*Cache).List(0xc4200dab20, 0xc448d97440, 0x3a, 0x2, 0x2, 0xed02bf73e, 0x353a1852, 0x20e1880)
Feb 07 17:13:34 vault01 vault[3074]:         /gopath/src/github.com/hashicorp/vault/physical/cache.go:91 +0x47 fp=0xc4556a10f8 sp=0xc4556a10a8
Feb 07 17:13:34 vault01 vault[3074]: github.com/hashicorp/vault/vault.(*AESGCMBarrier).List(0xc42017f980, 0xc448d97440, 0x3a, 0x0, 0x0, 0x0, 0x0, 0x0)
Feb 07 17:13:34 vault01 vault[3074]:         /gopath/src/github.com/hashicorp/vault/vault/barrier_aes_gcm.go:678 +0x1d8 fp=0xc4556a1170 sp=0xc4556a10f8
Feb 07 17:13:34 vault01 vault[3074]: github.com/hashicorp/vault/vault.(*BarrierView).List(0xc420107600, 0xc436d78e40, 0x30, 0xc475783310, 0x28, 0x169fd8e, 0x1, 0xc436d78e
Feb 07 17:13:34 vault01 vault[3074]:         /gopath/src/github.com/hashicorp/vault/vault/barrier_view.go:44 +0xb8 fp=0xc4556a11c0 sp=0xc4556a1170
Feb 07 17:13:34 vault01 vault[3074]: github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420624d00, 0xc475783310, 0x28, 0xc448d97300, 0x1)

@jefferai
Copy link
Member

jefferai commented Feb 7, 2017

My guess is the TTL is negative because Vault keeps trying to revoke it and can't.

dadgar added a commit that referenced this issue Feb 7, 2017
This PR updates token revocation to use a non-recursive approach. On
very large trees this avoids stack overflows.

Fixes #2348
@sarkis
Copy link

sarkis commented Nov 24, 2017

Any update on this issue?

We recently upgraded from vault 0.6.5 -> 0.9.0 and consul 0.8.x -> 1.0.1, since upgrading we are seeing something similar, there is a panic and then vault will seal up - we go and unseal and it's fine for a some number of hours and then panic again... here is what it looks like for us:

runtime: goroutine stack exceeds 1000000000-byte limit
fatal error: stack overflow

runtime stack:
runtime.throw(0x201b77a, 0xe)
	/goroot/src/runtime/panic.go:605 +0x95
runtime.newstack(0x0)
	/goroot/src/runtime/stack.go:1050 +0x6e1
runtime.morestack()
	/goroot/src/runtime/asm_amd64.s:415 +0x86

goroutine 373541 [running]:
runtime.memhash(0x0, 0x45543614, 0x0, 0x4078b0)
	/goroot/src/runtime/hash64.go:23 +0x309 fp=0xc4792ac350 sp=0xc4792ac348 pc=0x4078c9
runtime.strhash(0xc4792ac4e8, 0x45543614, 0xc4792ac3c0)
	/goroot/src/runtime/alg.go:98 +0x41 fp=0xc4792ac380 sp=0xc4792ac350 pc=0x4015a1
type..hash.net/http.connectMethodKey(0xc4792ac4e8, 0x45543614, 0x6d57b4)
	<autogenerated>:1 +0x35 fp=0xc4792ac3a8 sp=0xc4792ac380 pc=0x6d56b5
runtime.mapassign(0x1c73600, 0xc4202ec090, 0xc4792ac4e8, 0xc4204ba188)
	/goroot/src/runtime/hashmap.go:538 +0x7e fp=0xc4792ac440 sp=0xc4792ac3a8 pc=0x4089ee
net/http.(*Transport).getIdleConn(0xc4201cc3c0, 0x0, 0x200b8d6, 0x4, 0xc49e037880, 0xe, 0xc4580b6fc0, 0x0, 0x0, 0x0)
	/goroot/src/net/http/transport.go:791 +0x1bc fp=0xc4792ac588 sp=0xc4792ac440 pc=0x6c10bc
net/http.(*Transport).getConn(0xc4201cc3c0, 0xc4a1c16270, 0x0, 0x200b8d6, 0x4, 0xc49e037880, 0xe, 0x0, 0x0, 0x7f47c86408b8)
	/goroot/src/net/http/transport.go:907 +0x11d fp=0xc4792ac910 sp=0xc4792ac588 pc=0x6c1f8d
net/http.(*Transport).RoundTrip(0xc4201cc3c0, 0xc4a4d6e300, 0xc4201cc3c0, 0x0, 0x0)
	/goroot/src/net/http/transport.go:400 +0x6a6 fp=0xc4792acb78 sp=0xc4792ac910 pc=0x6be6e6
net/http.send(0xc4a4d6e300, 0x2f7a800, 0xc4201cc3c0, 0x0, 0x0, 0x0, 0xc49ec3e210, 0x7f47cc5b4000, 0xc4792acd48, 0x1)
	/goroot/src/net/http/client.go:249 +0x1a9 fp=0xc4792accd8 sp=0xc4792acb78 pc=0x66e409
net/http.(*Client).send(0xc42036ae10, 0xc4a4d6e300, 0x0, 0x0, 0x0, 0xc49ec3e210, 0x0, 0x1, 0x0)
	/goroot/src/net/http/client.go:173 +0xfd fp=0xc4792acd58 sp=0xc4792accd8 pc=0x66e09d
net/http.(*Client).Do(0xc42036ae10, 0xc4a4d6e300, 0x3008120, 0x0, 0xc4b3cdb4c8)
	/goroot/src/net/http/client.go:602 +0x28d fp=0xc4792acf28 sp=0xc4792acd58 pc=0x66f7ad
github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api.(*Client).doRequest(0xc4204fbbc0, 0xc476f23860, 0x200b94a, 0x4, 0xc4ab4acd00, 0xc476f23860)
	/gopath/src/github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api/api.go:663 +0xb8 fp=0xc4792acf98 sp=0xc4792acf28 pc=0x1146e98
github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api.(*KV).getInternal(0xc420186448, 0xc49d8b1940, 0x40, 0xc4a1c16120, 0x0, 0x4293f9, 0xc400000008, 0xc4c3bd58c0, 0xc4200b9b00)
	/gopath/src/github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api/kv.go:165 +0x275 fp=0xc4792ad0a0 sp=0xc4792acf98 pc=0x114cac5
github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api.(*KV).Keys(0xc420186448, 0xc49d8b1940, 0x40, 0x2009bee, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/gopath/src/github.com/hashicorp/vault/vendor/github.com/hashicorp/consul/api/kv.go:143 +0x13a fp=0xc4792ad118 sp=0xc4792ad0a0 pc=0x114c5aa
github.com/hashicorp/vault/physical/consul.(*ConsulBackend).List(0xc4204fbc80, 0xc49d8b1900, 0x3a, 0x0, 0x0, 0x0, 0x0, 0x0)
	/gopath/src/github.com/hashicorp/vault/physical/consul/consul.go:420 +0x28f fp=0xc4792ad228 sp=0xc4792ad118 pc=0x11600bf
github.com/hashicorp/vault/physical.(*Cache).List(0xc42055e400, 0xc49d8b1900, 0x3a, 0x0, 0x0, 0x0, 0x0, 0x0)
	/gopath/src/github.com/hashicorp/vault/physical/cache.go:136 +0x47 fp=0xc4792ad278 sp=0xc4792ad228 pc=0x90d327
github.com/hashicorp/vault/vault.(*AESGCMBarrier).List(0xc420412240, 0xc49d8b1900, 0x3a, 0x0, 0x0, 0x0, 0x0, 0x0)
	/gopath/src/github.com/hashicorp/vault/vault/barrier_aes_gcm.go:707 +0x1ea fp=0xc4792ad2f0 sp=0xc4792ad278 pc=0x182e5ba
github.com/hashicorp/vault/vault.(*BarrierView).List(0xc4211030e0, 0xc4bca9cd50, 0x30, 0xc49a469690, 0x28, 0x2009bee, 0x1, 0xc4bca9cd50)
	/gopath/src/github.com/hashicorp/vault/vault/barrier_view.go:49 +0xe9 fp=0xc4792ad340 sp=0xc4792ad2f0 pc=0x1830179
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a469690, 0x28, 0xc4b2289b00, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1224 +0xa9 fp=0xc4792ad3d0 sp=0xc4792ad340 pc=0x18ed799
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc473617700, 0x28, 0xc4b310d500, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ad460 sp=0xc4792ad3d0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a469540, 0x28, 0xc4b22896c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ad4f0 sp=0xc4792ad460 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4736175b0, 0x28, 0xc4b310d340, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ad580 sp=0xc4792ad4f0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a4693f0, 0x28, 0xc4b2289380, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ad610 sp=0xc4792ad580 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc473617460, 0x28, 0xc4b310d140, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ad6a0 sp=0xc4792ad610 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a4692a0, 0x28, 0xc4b2289080, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ad730 sp=0xc4792ad6a0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4736172a0, 0x28, 0xc4ab175840, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ad7c0 sp=0xc4792ad730 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a4690e0, 0x28, 0xc4b2288a00, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ad850 sp=0xc4792ad7c0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc473617150, 0x28, 0xc4ab175540, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ad8e0 sp=0xc4792ad850 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a468f90, 0x28, 0xc4b2288740, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ad970 sp=0xc4792ad8e0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc473617000, 0x28, 0xc4ab175080, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ada00 sp=0xc4792ad970 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc473616eb0, 0x28, 0xc4ab174d80, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ada90 sp=0xc4792ada00 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a468d60, 0x28, 0xc4b226ac40, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792adb20 sp=0xc4792ada90 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc457d9a200, 0x28, 0xc4b227e040, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792adbb0 sp=0xc4792adb20 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc473616ba0, 0x28, 0xc4ab1747c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792adc40 sp=0xc4792adbb0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc457d9a0b0, 0x28, 0xc4b223fd80, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792adcd0 sp=0xc4792adc40 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a468c10, 0x28, 0xc4b226aa80, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792add60 sp=0xc4792adcd0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837df50, 0x28, 0xc4b223fb00, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792addf0 sp=0xc4792add60 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a468ac0, 0x28, 0xc4b226a8c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ade80 sp=0xc4792addf0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837de00, 0x28, 0xc4b223f840, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792adf10 sp=0xc4792ade80 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a468970, 0x28, 0xc4b226a680, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792adfa0 sp=0xc4792adf10 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837dcb0, 0x28, 0xc4b223f4c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae030 sp=0xc4792adfa0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a468820, 0x28, 0xc4b226a3c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae0c0 sp=0xc4792ae030 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837db60, 0x28, 0xc4b223eec0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae150 sp=0xc4792ae0c0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a4686d0, 0x28, 0xc4b226a040, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae1e0 sp=0xc4792ae150 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837da10, 0x28, 0xc4b223e9c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae270 sp=0xc4792ae1e0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a468580, 0x28, 0xc4b2235e80, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae300 sp=0xc4792ae270 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837d8c0, 0x28, 0xc4b223e600, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae390 sp=0xc4792ae300 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a468430, 0x28, 0xc4b2235c80, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae420 sp=0xc4792ae390 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837d770, 0x28, 0xc4b223e340, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae4b0 sp=0xc4792ae420 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a4682e0, 0x28, 0xc4b2235ac0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae540 sp=0xc4792ae4b0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837d620, 0x28, 0xc4b223e100, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae5d0 sp=0xc4792ae540 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a468190, 0x28, 0xc4b22357c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae660 sp=0xc4792ae5d0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837d4d0, 0x28, 0xc4b21f9e40, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae6f0 sp=0xc4792ae660 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc49a468040, 0x28, 0xc4b22355c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae780 sp=0xc4792ae6f0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837d380, 0x28, 0xc4b21f9c40, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae810 sp=0xc4792ae780 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f9ee0, 0x28, 0xc4b2235240, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae8a0 sp=0xc4792ae810 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837d230, 0x28, 0xc4b21f9880, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae930 sp=0xc4792ae8a0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f9d20, 0x28, 0xc4b220ee00, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792ae9c0 sp=0xc4792ae930 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837d0e0, 0x28, 0xc4b21f9400, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792aea50 sp=0xc4792ae9c0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f9bd0, 0x28, 0xc4b220eb40, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792aeae0 sp=0xc4792aea50 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837cf90, 0x28, 0xc4b21f9000, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792aeb70 sp=0xc4792aeae0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f9a80, 0x28, 0xc4b220e800, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792aec00 sp=0xc4792aeb70 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837ce40, 0x28, 0xc4b21f8c00, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792aec90 sp=0xc4792aec00 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f9930, 0x28, 0xc4b220e500, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792aed20 sp=0xc4792aec90 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837ccf0, 0x28, 0xc4b21f88c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792aedb0 sp=0xc4792aed20 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f97e0, 0x28, 0xc4b220e340, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792aee40 sp=0xc4792aedb0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837cba0, 0x28, 0xc4b21f8600, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792aeed0 sp=0xc4792aee40 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f9690, 0x28, 0xc4b220e1c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792aef60 sp=0xc4792aeed0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837ca50, 0x28, 0xc4b21f8440, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792aeff0 sp=0xc4792aef60 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f9540, 0x28, 0xc4b2621fc0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af080 sp=0xc4792aeff0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837c900, 0x28, 0xc4b21f8240, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af110 sp=0xc4792af080 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f93f0, 0x28, 0xc4b2621e00, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af1a0 sp=0xc4792af110 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837c7b0, 0x28, 0xc4b21f8000, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af230 sp=0xc4792af1a0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f92a0, 0x28, 0xc4b2621b40, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af2c0 sp=0xc4792af230 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837c660, 0x28, 0xc4b261be40, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af350 sp=0xc4792af2c0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f9150, 0x28, 0xc4b26219c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af3e0 sp=0xc4792af350 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837c510, 0x28, 0xc4b261bcc0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af470 sp=0xc4792af3e0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f9000, 0x28, 0xc4b2621800, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af500 sp=0xc4792af470 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837c3c0, 0x28, 0xc4b261bac0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af590 sp=0xc4792af500 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f8eb0, 0x28, 0xc4b26215c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af620 sp=0xc4792af590 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837c270, 0x28, 0xc4b261b940, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af6b0 sp=0xc4792af620 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f8d60, 0x28, 0xc4b2621380, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af740 sp=0xc4792af6b0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a837c120, 0x28, 0xc4b261b780, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af7d0 sp=0xc4792af740 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f8c10, 0x28, 0xc4b2621080, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af860 sp=0xc4792af7d0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4c2a59fc0, 0x28, 0xc4b261b600, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af8f0 sp=0xc4792af860 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f8ac0, 0x28, 0xc4b2620dc0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792af980 sp=0xc4792af8f0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4c2a59e70, 0x28, 0xc4b261b440, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792afa10 sp=0xc4792af980 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f8970, 0x28, 0xc4b2620a80, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792afaa0 sp=0xc4792afa10 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4c2a59d20, 0x28, 0xc4b261b140, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792afb30 sp=0xc4792afaa0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f8820, 0x28, 0xc4b2620700, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792afbc0 sp=0xc4792afb30 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4c2a59bd0, 0x28, 0xc4b261adc0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792afc50 sp=0xc4792afbc0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f86d0, 0x28, 0xc4b2620300, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792afce0 sp=0xc4792afc50 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4c2a59a80, 0x28, 0xc4b261a980, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792afd70 sp=0xc4792afce0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f8580, 0x28, 0xc4b2620040, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792afe00 sp=0xc4792afd70 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4c2a59930, 0x28, 0xc4b261a740, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792afe90 sp=0xc4792afe00 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4c2a597e0, 0x28, 0xc4b261a300, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792aff20 sp=0xc4792afe90 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f8430, 0x28, 0xc4b25e9d40, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792affb0 sp=0xc4792aff20 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4c2a59690, 0x28, 0xc4b261a0c0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792b0040 sp=0xc4792affb0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f82e0, 0x28, 0xc4b25e9940, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792b00d0 sp=0xc4792b0040 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4c2a59540, 0x28, 0xc4b25bfdc0, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792b0160 sp=0xc4792b00d0 pc=0x18ed88d
github.com/hashicorp/vault/vault.(*TokenStore).revokeTreeSalted(0xc420b32240, 0xc4a52f8190, 0x28, 0xc4b25e9280, 0x2)
	/gopath/src/github.com/hashicorp/vault/vault/token_store.go:1233 +0x19d fp=0xc4792b01f0 sp=0xc4792b0160 pc=0x18ed88d
...additional frames elided...
created by time.goFunc
	/goroot/src/time/sleep.go:170 +0x44```

@sarkis
Copy link

sarkis commented Nov 24, 2017

Update: I compiled a vault bin with the #2478 changes included and have been running this on the past 24 hours now on our staging cluster (where we were having the above issue every 5-6 hours or so and I am yet to hit this panic. I can't tell from the github issue or PR comments if something is holding this up? Would this be a change that will get into mainline soon? It will be a pain to keep having to patch every new release with the DFS PR.

@jefferai
Copy link
Member

It fell off the radar. I've added to the 0.9.1 milestone for us to re-review.

@sarkis
Copy link

sarkis commented Nov 24, 2017

@jefferai thank you! I'll report back on Monday if I see any regression running the PR on top of 0.9.0 - it's looking real good so far...

UPDATE: running without any panics for 3 days now - confident this PR is the fix for this panic now :)

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

Successfully merging a pull request may close this issue.

3 participants