Comments (9)
Interesting.
Do you have AWS/GCP creds? They're going to be required if you run tests without -short. We've been using vgo
internally and make no claims that go
is going to work. What happens if you use vgo
instead?
Ignore the test failure, I think #84 fixes it.
$ time vgo test $(vgo list ./... | grep -v wire)
? github.com/google/go-cloud/aws [no test files]
ok github.com/google/go-cloud/aws/awscloud (cached) [no tests to run]
ok github.com/google/go-cloud/blob (cached)
? github.com/google/go-cloud/blob/driver [no test files]
ok github.com/google/go-cloud/blob/fileblob (cached)
ok github.com/google/go-cloud/blob/gcsblob (cached)
ok github.com/google/go-cloud/blob/s3blob (cached)
? github.com/google/go-cloud/gcp [no test files]
ok github.com/google/go-cloud/gcp/gcpcloud (cached) [no tests to run]
ok github.com/google/go-cloud/health (cached)
ok github.com/google/go-cloud/health/sqlhealth (cached)
ok github.com/google/go-cloud/mysql/cloudmysql (cached) [no tests to run]
ok github.com/google/go-cloud/mysql/rdsmysql (cached) [no tests to run]
ok github.com/google/go-cloud/requestlog (cached)
ok github.com/google/go-cloud/runtimevar (cached)
? github.com/google/go-cloud/runtimevar/driver [no test files]
ok github.com/google/go-cloud/runtimevar/filevar (cached)
ok github.com/google/go-cloud/runtimevar/paramstore 6.290s
--- FAIL: TestInitialStringWatch (0.38s)
runtimeconfigurator_test.go:136: Golden file is at testdata/initial-string-watch.replay
runtimeconfigurator_test.go:136: Recording into golden file
runtimeconfigurator_test.go:136: Proto begins as name:"projects//configs/runtimeconfigurator_test"
runtimeconfigurator_test.go:136: Proto ends as name:"projects/REDACTED/configs/runtimeconfigurator_test"
runtimeconfigurator_test.go:136: Proto begins as
runtimeconfigurator_test.go:136: Proto ends as
runtimeconfigurator_test.go:136: Proto begins as parent:"projects/" config:<name:"projects//configs/runtimeconfigurator_test" description:"Config for test variables created by runtimeconfigurator_test.go" >
runtimeconfigurator_test.go:136: Proto ends as parent:"projects/REDACTED" config:<name:"projects/REDACTED/configs/runtimeconfigurator_test" description:"Config for test variables created by runtimeconfigurator_test.go" >
runtimeconfigurator_test.go:136: Proto begins as
runtimeconfigurator_test.go:136: Proto ends as
runtimeconfigurator_test.go:152: unable to create parent config for projects//configs/runtimeconfigurator_test/variables/TestStringWatch: rpc error: code = InvalidArgument desc = Invalid resource field value in the request.
--- FAIL: TestInitialJSONWatch (0.22s)
runtimeconfigurator_test.go:136: Golden file is at testdata/initial-json-watch.replay
runtimeconfigurator_test.go:136: Recording into golden file
runtimeconfigurator_test.go:136: Proto begins as name:"projects//configs/runtimeconfigurator_test"
runtimeconfigurator_test.go:136: Proto ends as name:"projects/REDACTED/configs/runtimeconfigurator_test"
runtimeconfigurator_test.go:136: Proto begins as
runtimeconfigurator_test.go:136: Proto ends as
runtimeconfigurator_test.go:136: Proto begins as parent:"projects/" config:<name:"projects//configs/runtimeconfigurator_test" description:"Config for test variables created by runtimeconfigurator_test.go" >
runtimeconfigurator_test.go:136: Proto ends as parent:"projects/REDACTED" config:<name:"projects/REDACTED/configs/runtimeconfigurator_test" description:"Config for test variables created by runtimeconfigurator_test.go" >
runtimeconfigurator_test.go:136: Proto begins as
runtimeconfigurator_test.go:136: Proto ends as
runtimeconfigurator_test.go:198: unable to create parent config for projects//configs/runtimeconfigurator_test/variables/TestJSONWatch: rpc error: code = InvalidArgument desc = Invalid resource field value in the request.
FAIL
FAIL github.com/google/go-cloud/runtimevar/runtimeconfigurator 1.021s
? github.com/google/go-cloud/server [no test files]
? github.com/google/go-cloud/server/sdserver [no test files]
? github.com/google/go-cloud/server/xrayserver [no test files]
? github.com/google/go-cloud/testing/replay [no test files]
? github.com/google/go-cloud/tests/gcp/app [no test files]
? github.com/google/go-cloud/tests/gcp/test-driver [no test files]
Command exited with non-zero status 1
4.88user 1.18system 0:07.84elapsed 77%CPU (0avgtext+0avgdata 194972maxresident)k
0inputs+51072outputs (0major+212476minor)pagefaults 0swaps
from go-cloud.
If creds aren't available I would expect the test suite to barf.
Can you also try running with -v
so we can try to figure out what test might be hanging?
from go-cloud.
Running it right now. I'll update the issue when I see where the hanging occurs.
I think we should add instructions to the README on how to run tests, both with and without the -short
flag, what credentials are required and where, etc.
from go-cloud.
Here is the test output for the two tests that time out after 10 minutes of no activity.
The problems seem to be that the following invocations assume a healthy connection and otherwise hang indefinitely:
The tests should fail quickly on a bad connection or missing configuration.
PASS
ok github.com/google/go-cloud/blob/gcsblob 0.071s
2018/06/12 12:09:36 Golden file is at testdata/blob
2018/06/12 12:09:36 Recording into golden file
=== RUN TestNewBucketNaming
--- PASS: TestNewBucketNaming (0.00s)
=== RUN TestNewWriterObjectNaming
--- PASS: TestNewWriterObjectNaming (0.00s)
=== RUN TestRead
--- FAIL: TestRead (120.36s)
s3blob_test.go:153: error uploading test object: NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
=== RUN TestWrite
--- FAIL: TestWrite (229.71s)
s3blob_test.go:248: error closing writer: NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
s3blob_test.go:230: error deleting object: NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
=== RUN TestCloseWithoutWrite
SIGQUIT: quit
PC=0x105bbf3 m=0 sigcode=0
goroutine 0 [idle]:
runtime.mach_semaphore_timedwait(0x1d00002603, 0x3b95f468, 0x7ffeefbff75c, 0xc40000001d, 0x3b95f468efbff778, 0x1b1e8a0, 0x7ffeefbff790, 0x1056263, 0x6fc1ed668, 0x1035432, ...)
/usr/local/go/src/runtime/sys_darwin_amd64.s:550 +0x13
runtime.semasleep1(0x6fc1ed668, 0x1035432)
/usr/local/go/src/runtime/os_darwin.go:427 +0xdf
runtime.semasleep.func1()
/usr/local/go/src/runtime/os_darwin.go:457 +0x33
runtime.systemstack(0x0)
/usr/local/go/src/runtime/asm_amd64.s:409 +0x79
runtime.mstart()
/usr/local/go/src/runtime/proc.go:1175
goroutine 51 [syscall]:
runtime.notetsleepg(0x1b224e0, 0x6fc1ed668, 0x1)
/usr/local/go/src/runtime/lock_sema.go:280 +0x4b fp=0xc42038a760 sp=0xc42038a720 pc=0x10113db
runtime.timerproc(0x1b224c0)
/usr/local/go/src/runtime/time.go:261 +0x2e7 fp=0xc42038a7d8 sp=0xc42038a760 pc=0x104ad07
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc42038a7e0 sp=0xc42038a7d8 pc=0x105a611
created by runtime.(*timersBucket).addtimerLocked
/usr/local/go/src/runtime/time.go:160 +0x107
goroutine 1 [chan receive, 5 minutes]:
testing.(*T).Run(0xc4203521e0, 0x17347be, 0x15, 0x1752a20, 0x1086400)
/usr/local/go/src/testing/testing.go:825 +0x301
testing.runTests.func1(0xc420226000)
/usr/local/go/src/testing/testing.go:1063 +0x64
testing.tRunner(0xc420226000, 0xc4201abd28)
/usr/local/go/src/testing/testing.go:777 +0xd0
testing.runTests(0xc420205460, 0x1b13c60, 0x6, 0x6, 0x1b1eda0)
/usr/local/go/src/testing/testing.go:1061 +0x2c4
testing.(*M).Run(0xc420112100, 0x0)
/usr/local/go/src/testing/testing.go:978 +0x171
github.com/google/go-cloud/blob/s3blob_test.TestMain(0xc420112100)
/Users/enocom/go/src/github.com/go-cloud/blob/s3blob/s3blob_test.go:85 +0x38c
main.main()
_testmain.go:52 +0x151
goroutine 80 [select]:
net/http.(*Transport).getConn(0x1b147e0, 0xc4202dc3c0, 0x0, 0xc420026800, 0x4, 0xc420334100, 0x12, 0x0, 0x0, 0x4)
/usr/local/go/src/net/http/transport.go:962 +0x558
net/http.(*Transport).RoundTrip(0x1b147e0, 0xc420322900, 0x0, 0x0, 0x1000)
/usr/local/go/src/net/http/transport.go:409 +0x632
github.com/dnaeon/go-vcr/recorder.requestHandler(0xc420322900, 0xc4200747e0, 0x0, 0x17d52c0, 0x1b147e0, 0xf2, 0xc42039cc78, 0x100d799)
/Users/enocom/go/src/v/github.com/dnaeon/[email protected]/recorder/recorder.go:102 +0x27f
github.com/dnaeon/go-vcr/recorder.(*Recorder).RoundTrip(0xc420204fe0, 0xc420322900, 0xc420204fe0, 0x0, 0x0)
/Users/enocom/go/src/v/github.com/dnaeon/[email protected]/recorder/recorder.go:192 +0x75
net/http.send(0xc420322900, 0x17d4a20, 0xc420204fe0, 0x0, 0x0, 0x0, 0xc420374088, 0xb, 0xc42039ce10, 0x1)
/usr/local/go/src/net/http/client.go:252 +0x185
net/http.(*Client).send(0xc4201b2db0, 0xc420322900, 0x0, 0x0, 0x0, 0xc420374088, 0x0, 0x1, 0xc420370f20)
/usr/local/go/src/net/http/client.go:176 +0xfa
net/http.(*Client).Do(0xc4201b2db0, 0xc420322900, 0xc42039cff0, 0x10, 0xc42039cfe8)
/usr/local/go/src/net/http/client.go:615 +0x28d
github.com/aws/aws-sdk-go/aws/corehandlers.sendFollowRedirects(0xc420265800, 0x17521d0, 0xc420322800, 0xc420265800)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/corehandlers/handlers.go:120 +0x3b
github.com/aws/aws-sdk-go/aws/corehandlers.glob..func3(0xc420265800)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/corehandlers/handlers.go:112 +0x87
github.com/aws/aws-sdk-go/aws/request.(*HandlerList).Run(0xc420265998, 0xc420265800)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/request/handlers.go:195 +0x9d
github.com/aws/aws-sdk-go/aws/request.(*Request).Send(0xc420265800, 0x0, 0x0)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/request/request.go:490 +0x17f
github.com/aws/aws-sdk-go/aws/ec2metadata.(*EC2Metadata).GetMetadata(0xc42000e0d8, 0x1736e68, 0x19, 0x1cb76c8, 0xc420224180, 0x101230d, 0xc420057380)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/ec2metadata/api.go:28 +0x181
github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds.requestCredList(0xc42000e0d8, 0x27, 0x1634c7d, 0x1634c8a, 0xc42039d4e0, 0x10a5759)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/credentials/ec2rolecreds/ec2_role_provider.go:133 +0x58
github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds.(*EC2RoleProvider).Retrieve(0xc4201b2e70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38280f0, ...)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/credentials/ec2rolecreds/ec2_role_provider.go:89 +0x6a
github.com/aws/aws-sdk-go/aws/credentials.(*ChainProvider).Retrieve(0xc4201b2ea0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16a4aa0, ...)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/credentials/chain_provider.go:77 +0x122
github.com/aws/aws-sdk-go/aws/credentials.(*Credentials).Get(0xc420074840, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/credentials/credentials.go:208 +0x13b
github.com/aws/aws-sdk-go/aws/signer/v4.Signer.signWithBody(0xc420074840, 0x0, 0x17d4980, 0xc42000e0b8, 0x10100, 0x1753c58, 0x0, 0xc420322700, 0x17d7460, 0xc420205840, ...)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/signer/v4/v4.go:338 +0x275
github.com/aws/aws-sdk-go/aws/signer/v4.signSDKRequestWithCurrTime(0xc420265400, 0x1753c58, 0x0, 0x0, 0x0)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/signer/v4/v4.go:477 +0x339
github.com/aws/aws-sdk-go/aws/signer/v4.SignSDKRequest(0xc420265400)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/signer/v4/v4.go:423 +0x48
github.com/aws/aws-sdk-go/aws/request.(*HandlerList).Run(0xc420265578, 0xc420265400)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/request/handlers.go:195 +0x9d
github.com/aws/aws-sdk-go/aws/request.(*Request).Sign(0xc420265400, 0x1752260, 0xc420265400)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/request/request.go:382 +0xb0
github.com/aws/aws-sdk-go/aws/request.(*Request).Send(0xc420265400, 0x0, 0x0)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/request/request.go:483 +0x132
github.com/google/go-cloud/blob/s3blob.(*bucket).Delete(0xc4202052c0, 0x17dc220, 0xc4200240d8, 0x1736d44, 0x18, 0xc420384000, 0xb4)
/Users/enocom/go/src/github.com/go-cloud/blob/s3blob/s3blob.go:244 +0xee
github.com/google/go-cloud/blob.(*Bucket).Delete(0xc420057f60, 0x17dc220, 0xc4200240d8, 0x1736d44, 0x18, 0x2, 0xc42025a430)
/Users/enocom/go/src/github.com/go-cloud/blob/blob.go:120 +0x5b
github.com/google/go-cloud/blob/s3blob_test.TestCloseWithoutWrite(0xc4203521e0)
/Users/enocom/go/src/github.com/go-cloud/blob/s3blob/s3blob_test.go:292 +0x37f
testing.tRunner(0xc4203521e0, 0x1752a20)
/usr/local/go/src/testing/testing.go:777 +0xd0
created by testing.(*T).Run
/usr/local/go/src/testing/testing.go:824 +0x2e0
goroutine 183 [select]:
net.(*netFD).connect.func2(0x17dc260, 0xc42030a180, 0xc42031e180, 0xc42007e2a0, 0xc42007e240)
/usr/local/go/src/net/fd_unix.go:129 +0xde
created by net.(*netFD).connect
/usr/local/go/src/net/fd_unix.go:128 +0x286
goroutine 182 [IO wait]:
internal/poll.runtime_pollWait(0x3828ee0, 0x77, 0xc420366480)
/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42031e198, 0x77, 0xc42021f300, 0xc42021f368, 0x1035c64)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitWrite(0xc42031e198, 0xc42021f300, 0x28, 0x11babe6)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:94 +0x3d
internal/poll.(*FD).WaitWrite(0xc42031e180, 0x17531d0, 0x17dc260)
/usr/local/go/src/internal/poll/fd_unix.go:440 +0x37
net.(*netFD).connect(0xc42031e180, 0x17dc260, 0xc42030a180, 0x0, 0x0, 0x17d56c0, 0xc420334000, 0x0, 0x0, 0x0, ...)
/usr/local/go/src/net/fd_unix.go:152 +0x299
net.(*netFD).dial(0xc42031e180, 0x17dc260, 0xc42030a180, 0x17ddec0, 0x0, 0x17ddec0, 0xc4202dc120, 0xc420050588, 0x11d3c6e)
/usr/local/go/src/net/sock_posix.go:142 +0xe9
net.socket(0x17dc260, 0xc42030a180, 0x1727a8b, 0x3, 0x2, 0x1, 0x0, 0x0, 0x17ddec0, 0x0, ...)
/usr/local/go/src/net/sock_posix.go:93 +0x1a6
net.internetSocket(0x17dc260, 0xc42030a180, 0x1727a8b, 0x3, 0x17ddec0, 0x0, 0x17ddec0, 0xc4202dc120, 0x1, 0x0, ...)
/usr/local/go/src/net/ipsock_posix.go:141 +0x129
net.doDialTCP(0x17dc260, 0xc42030a180, 0x1727a8b, 0x3, 0x0, 0xc4202dc120, 0x1b3bc08, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:62 +0xb9
net.dialTCP(0x17dc260, 0xc42030a180, 0x1727a8b, 0x3, 0x0, 0xc4202dc120, 0x90827ebee5, 0x1b1e400, 0x6fc232101)
/usr/local/go/src/net/tcpsock_posix.go:58 +0xe4
net.dialSingle(0x17dc260, 0xc42030a180, 0xc42031e080, 0x17d81a0, 0xc4202dc120, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/dial.go:547 +0x375
net.dialSerial(0x17dc260, 0xc42030a180, 0xc42031e080, 0xc420376070, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/dial.go:515 +0x22d
net.(*Dialer).DialContext(0xc420074120, 0x17dc220, 0xc4200240d8, 0x1727a8b, 0x3, 0xc420334100, 0x12, 0x0, 0x0, 0x0, ...)
/usr/local/go/src/net/dial.go:397 +0x678
net.(*Dialer).DialContext-fm(0x17dc220, 0xc4200240d8, 0x1727a8b, 0x3, 0xc420334100, 0x12, 0x10050a6, 0x12495a9, 0xc4200240d8, 0x1658300)
/usr/local/go/src/net/http/transport.go:46 +0x73
net/http.(*Transport).dial(0x1b147e0, 0x17dc220, 0xc4200240d8, 0x1727a8b, 0x3, 0xc420334100, 0x12, 0x0, 0x0, 0x0, ...)
/usr/local/go/src/net/http/transport.go:898 +0x20d
net/http.(*Transport).dialConn(0x1b147e0, 0x17dc220, 0xc4200240d8, 0x0, 0xc420026800, 0x4, 0xc420334100, 0x12, 0x1, 0x0, ...)
/usr/local/go/src/net/http/transport.go:1143 +0x317
net/http.(*Transport).getConn.func4(0x1b147e0, 0x17dc220, 0xc4200240d8, 0xc4202dc3f0, 0xc42007e660)
/usr/local/go/src/net/http/transport.go:957 +0x78
created by net/http.(*Transport).getConn
/usr/local/go/src/net/http/transport.go:956 +0x363
rax 0xe
rbx 0x1d
rcx 0x7ffeefbff730
rdx 0x3b95f468
rdi 0x2603
rsi 0x1d
rbp 0x7ffeefbff768
rsp 0x7ffeefbff730
r8 0xc420266a80
r9 0x14b
r10 0x15a9db26be246
r11 0x206
r12 0x161000f8d56a1
r13 0x3
r14 0x0
r15 0x0
rip 0x105bbf3
rflags 0x206
cs 0x7
fs 0x0
gs 0x0
*** Test killed with quit: ran too long (10m0s).
FAIL github.com/google/go-cloud/blob/s3blob 600.084s
// Some unrelated test output omitted.
PASS
ok github.com/google/go-cloud/runtimevar/filevar 10.242s
=== RUN TestWriteReadDelete
=== RUN TestWriteReadDelete/Good_param_name_and_value_should_pass
=== RUN TestWriteReadDelete/Bad_param_name_should_fail
=== RUN TestWriteReadDelete/Good_param_name_with_an_empty_value_should_fail
=== RUN TestWriteReadDelete/Empty_param_name_should_fail
=== RUN TestWriteReadDelete/Long_param_name_should_fail
=== RUN TestWriteReadDelete/Good_value_of_4096_should_pass
=== RUN TestWriteReadDelete/Bad_value_of_a_really_long_parameter_should_fail
--- FAIL: TestWriteReadDelete (590.70s)
paramstore_test.go:329: Golden file is at testdata/write_read_delete
paramstore_test.go:329: Recording into golden file
--- FAIL: TestWriteReadDelete/Good_param_name_and_value_should_pass (120.33s)
paramstore_test.go:114: got error NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors; want nil
--- PASS: TestWriteReadDelete/Bad_param_name_should_fail (120.35s)
--- PASS: TestWriteReadDelete/Good_param_name_with_an_empty_value_should_fail (0.00s)
--- PASS: TestWriteReadDelete/Empty_param_name_should_fail (0.00s)
--- PASS: TestWriteReadDelete/Long_param_name_should_fail (109.36s)
--- FAIL: TestWriteReadDelete/Good_value_of_4096_should_pass (120.35s)
paramstore_test.go:114: got error NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors; want nil
--- PASS: TestWriteReadDelete/Bad_value_of_a_really_long_parameter_should_fail (120.28s)
=== RUN TestInitialWatch
=== RUN TestInitialWatch/Good_param_should_return_OK
SIGQUIT: quit
PC=0x105bec3 m=0 sigcode=0
goroutine 0 [idle]:
runtime.mach_semaphore_timedwait(0x1d00001603, 0x3b98044b, 0x7ffeefbff74c, 0xc40000001d, 0x3b98044befbff768, 0x1b7ac20, 0x7ffeefbff780, 0x1056533, 0x6fc20e64b, 0x1035642, ...)
/usr/local/go/src/runtime/sys_darwin_amd64.s:550 +0x13
runtime.semasleep1(0x6fc20e64b, 0x1035642)
/usr/local/go/src/runtime/os_darwin.go:427 +0xdf
runtime.semasleep.func1()
/usr/local/go/src/runtime/os_darwin.go:457 +0x33
runtime.systemstack(0x0)
/usr/local/go/src/runtime/asm_amd64.s:409 +0x79
runtime.mstart()
/usr/local/go/src/runtime/proc.go:1175
goroutine 19 [syscall]:
runtime.notetsleepg(0x1b7e760, 0x6fc20e64b, 0x1)
/usr/local/go/src/runtime/lock_sema.go:280 +0x4b fp=0xc420042760 sp=0xc420042720 pc=0x10115eb
runtime.timerproc(0x1b7e740)
/usr/local/go/src/runtime/time.go:261 +0x2e7 fp=0xc4200427d8 sp=0xc420042760 pc=0x104af17
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc4200427e0 sp=0xc4200427d8 pc=0x105a8e1
created by runtime.(*timersBucket).addtimerLocked
/usr/local/go/src/runtime/time.go:160 +0x107
goroutine 1 [chan receive]:
testing.(*T).Run(0xc4202081e0, 0x176d93b, 0x10, 0x1790898, 0x1079600)
/usr/local/go/src/testing/testing.go:825 +0x301
testing.runTests.func1(0xc420208000)
/usr/local/go/src/testing/testing.go:1063 +0x64
testing.tRunner(0xc420208000, 0xc42013ddf8)
/usr/local/go/src/testing/testing.go:777 +0xd0
testing.runTests(0xc4201f95c0, 0x1b6f8e0, 0x4, 0x4, 0x1012309)
/usr/local/go/src/testing/testing.go:1061 +0x2c4
testing.(*M).Run(0xc420126100, 0x0)
/usr/local/go/src/testing/testing.go:978 +0x171
main.main()
_testmain.go:48 +0x151
goroutine 112 [chan receive]:
testing.(*T).Run(0xc4202082d0, 0x1775359, 0x1b, 0xc42000c6c0, 0xc420308330)
/usr/local/go/src/testing/testing.go:825 +0x301
github.com/google/go-cloud/runtimevar/paramstore.TestInitialWatch(0xc4202081e0)
/Users/enocom/go/src/github.com/go-cloud/runtimevar/paramstore/paramstore_test.go:177 +0x19f
testing.tRunner(0xc4202081e0, 0x1790898)
/usr/local/go/src/testing/testing.go:777 +0xd0
created by testing.(*T).Run
/usr/local/go/src/testing/testing.go:824 +0x2e0
goroutine 156 [IO wait]:
internal/poll.runtime_pollWait(0x1f98ec0, 0x77, 0xc420074480)
/usr/local/go/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420126218, 0x77, 0xc420067300, 0xc420067368, 0x1035e74)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitWrite(0xc420126218, 0xc420067300, 0x28, 0x11eec26)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:94 +0x3d
internal/poll.(*FD).WaitWrite(0xc420126200, 0x1791040, 0x181af80)
/usr/local/go/src/internal/poll/fd_unix.go:440 +0x37
net.(*netFD).connect(0xc420126200, 0x181af80, 0xc42031c240, 0x0, 0x0, 0x1814520, 0xc4202fc0a0, 0x0, 0x0, 0x0, ...)
/usr/local/go/src/net/fd_unix.go:152 +0x299
net.(*netFD).dial(0xc420126200, 0x181af80, 0xc42031c240, 0x181cd80, 0x0, 0x181cd80, 0xc42018c600, 0xc42004f588, 0x1207cae)
/usr/local/go/src/net/sock_posix.go:142 +0xe9
net.socket(0x181af80, 0xc42031c240, 0x1764a64, 0x3, 0x2, 0x1, 0x0, 0x0, 0x181cd80, 0x0, ...)
/usr/local/go/src/net/sock_posix.go:93 +0x1a6
net.internetSocket(0x181af80, 0xc42031c240, 0x1764a64, 0x3, 0x181cd80, 0x0, 0x181cd80, 0xc42018c600, 0x1, 0x0, ...)
/usr/local/go/src/net/ipsock_posix.go:141 +0x129
net.doDialTCP(0x181af80, 0xc42031c240, 0x1764a64, 0x3, 0x0, 0xc42018c600, 0x1b97fd8, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:62 +0xb9
net.dialTCP(0x181af80, 0xc42031c240, 0x1764a64, 0x3, 0x0, 0xc42018c600, 0x9084b5342a, 0x1b7a780, 0x6fc234eb3)
/usr/local/go/src/net/tcpsock_posix.go:58 +0xe4
net.dialSingle(0x181af80, 0xc42031c240, 0xc420126180, 0x1816fc0, 0xc42018c600, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/dial.go:547 +0x375
net.dialSerial(0x181af80, 0xc42031c240, 0xc420126180, 0xc4202a60e0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/dial.go:515 +0x22d
net.(*Dialer).DialContext(0xc420080120, 0x181af40, 0xc4200240d8, 0x1764a64, 0x3, 0xc4202fc060, 0x12, 0x0, 0x0, 0x0, ...)
/usr/local/go/src/net/dial.go:397 +0x678
net.(*Dialer).DialContext-fm(0x181af40, 0xc4200240d8, 0x1764a64, 0x3, 0xc4202fc060, 0x12, 0x10052b6, 0x127d6a9, 0xc4200240d8, 0x168ad00)
/usr/local/go/src/net/http/transport.go:46 +0x73
net/http.(*Transport).dial(0x1b70980, 0x181af40, 0xc4200240d8, 0x1764a64, 0x3, 0xc4202fc060, 0x12, 0x1006992, 0x1013e4f, 0x1011e05, ...)
/usr/local/go/src/net/http/transport.go:898 +0x20d
net/http.(*Transport).dialConn(0x1b70980, 0x181af40, 0xc4200240d8, 0x0, 0xc42029c0c0, 0x4, 0xc4202fc060, 0x12, 0x1, 0x0, ...)
/usr/local/go/src/net/http/transport.go:1143 +0x317
net/http.(*Transport).getConn.func4(0x1b70980, 0x181af40, 0xc4200240d8, 0xc42018c540, 0xc42008c360)
/usr/local/go/src/net/http/transport.go:957 +0x78
created by net/http.(*Transport).getConn
/usr/local/go/src/net/http/transport.go:956 +0x363
goroutine 113 [select]:
net/http.(*Transport).getConn(0x1b70980, 0xc42018c4b0, 0x0, 0xc42029c0c0, 0x4, 0xc4202fc060, 0x12, 0x0, 0x0, 0xc4202fc011)
/usr/local/go/src/net/http/transport.go:962 +0x558
net/http.(*Transport).RoundTrip(0x1b70980, 0xc42026a400, 0x0, 0x0, 0x1000)
/usr/local/go/src/net/http/transport.go:409 +0x632
github.com/dnaeon/go-vcr/recorder.requestHandler(0xc42026a400, 0xc420270240, 0x0, 0x1814120, 0x1b70980, 0xc42027c580, 0xc420120be0, 0x100da3c)
/Users/enocom/go/src/v/github.com/dnaeon/[email protected]/recorder/recorder.go:102 +0x27f
github.com/dnaeon/go-vcr/recorder.(*Recorder).RoundTrip(0xc42000c5c0, 0xc42026a400, 0xc42000c5c0, 0x0, 0x0)
/Users/enocom/go/src/v/github.com/dnaeon/[email protected]/recorder/recorder.go:192 +0x75
net/http.send(0xc42026a400, 0x1813880, 0xc42000c5c0, 0x0, 0x0, 0x0, 0xc42031e058, 0xb, 0xc420120d78, 0x1)
/usr/local/go/src/net/http/client.go:252 +0x185
net/http.(*Client).send(0xc420308360, 0xc42026a400, 0x0, 0x0, 0x0, 0xc42031e058, 0x0, 0x1, 0xc42027c420)
/usr/local/go/src/net/http/client.go:176 +0xfa
net/http.(*Client).Do(0xc420308360, 0xc42026a400, 0xc420120f58, 0x10, 0xc420120f50)
/usr/local/go/src/net/http/client.go:615 +0x28d
github.com/aws/aws-sdk-go/aws/corehandlers.sendFollowRedirects(0xc420045c00, 0x17900a8, 0xc42026a300, 0xc420045c00)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/corehandlers/handlers.go:120 +0x3b
github.com/aws/aws-sdk-go/aws/corehandlers.glob..func3(0xc420045c00)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/corehandlers/handlers.go:112 +0x87
github.com/aws/aws-sdk-go/aws/request.(*HandlerList).Run(0xc420045d98, 0xc420045c00)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/request/handlers.go:195 +0x9d
github.com/aws/aws-sdk-go/aws/request.(*Request).Send(0xc420045c00, 0x0, 0x0)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/request/request.go:490 +0x17f
github.com/aws/aws-sdk-go/aws/ec2metadata.(*EC2Metadata).GetMetadata(0xc42031e020, 0x1773bc1, 0x19, 0x0, 0xc420121348, 0x1012309, 0xc420057ef0)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/ec2metadata/api.go:28 +0x181
github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds.requestCredList(0xc42031e020, 0x6, 0xc4200b81c0, 0x17668af, 0x6, 0x198)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/credentials/ec2rolecreds/ec2_role_provider.go:133 +0x58
github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds.(*EC2RoleProvider).Retrieve(0xc4203084b0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f99060, ...)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/credentials/ec2rolecreds/ec2_role_provider.go:89 +0x6a
github.com/aws/aws-sdk-go/aws/credentials.(*ChainProvider).Retrieve(0xc420308540, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16d9480, ...)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/credentials/chain_provider.go:77 +0x122
github.com/aws/aws-sdk-go/aws/credentials.(*Credentials).Get(0xc420270300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/credentials/credentials.go:208 +0x13b
github.com/aws/aws-sdk-go/aws/signer/v4.Signer.signWithBody(0xc420270300, 0x0, 0x1813800, 0xc42031e018, 0x10000, 0x1791ac8, 0x0, 0xc42026a200, 0x18162c0, 0xc420106ac0, ...)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/signer/v4/v4.go:338 +0x275
github.com/aws/aws-sdk-go/aws/signer/v4.signSDKRequestWithCurrTime(0xc420045800, 0x1791ac8, 0x0, 0x0, 0x0)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/signer/v4/v4.go:477 +0x339
github.com/aws/aws-sdk-go/aws/signer/v4.SignSDKRequest(0xc420045800)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/signer/v4/v4.go:423 +0x48
github.com/aws/aws-sdk-go/aws/request.(*HandlerList).Run(0xc420045978, 0xc420045800)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/request/handlers.go:195 +0x9d
github.com/aws/aws-sdk-go/aws/request.(*Request).Sign(0xc420045800, 0x1790138, 0xc420045800)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/request/request.go:382 +0xb0
github.com/aws/aws-sdk-go/aws/request.(*Request).Send(0xc420045800, 0x0, 0x0)
/Users/enocom/go/src/v/github.com/aws/[email protected]/aws/request/request.go:483 +0x132
github.com/aws/aws-sdk-go/service/ssm.(*SSM).PutParameter(0xc42031e030, 0xc420300340, 0x0, 0x0, 0x0)
/Users/enocom/go/src/v/github.com/aws/[email protected]/service/ssm/api.go:7810 +0x4d
github.com/google/go-cloud/runtimevar/paramstore.writeParam(0x1813840, 0xc420001b00, 0x176f5ff, 0x12, 0x17668af, 0x6, 0x10e7a1d, 0x18f5978, 0x18f59b8)
/Users/enocom/go/src/github.com/go-cloud/runtimevar/paramstore/paramstore_test.go:354 +0x190
github.com/google/go-cloud/runtimevar/paramstore.TestInitialWatch.func2(0xc4202082d0)
/Users/enocom/go/src/github.com/go-cloud/runtimevar/paramstore/paramstore_test.go:178 +0x80
testing.tRunner(0xc4202082d0, 0xc42000c6c0)
/usr/local/go/src/testing/testing.go:777 +0xd0
created by testing.(*T).Run
/usr/local/go/src/testing/testing.go:824 +0x2e0
goroutine 157 [select]:
net.(*netFD).connect.func2(0x181af80, 0xc42031c240, 0xc420126200, 0xc42008c540, 0xc42008c4e0)
/usr/local/go/src/net/fd_unix.go:129 +0xde
created by net.(*netFD).connect
/usr/local/go/src/net/fd_unix.go:128 +0x286
rax 0xe
rbx 0x1d
rcx 0x7ffeefbff720
rdx 0x3b98044b
rdi 0x1603
rsi 0x1d
rbp 0x7ffeefbff758
rsp 0x7ffeefbff720
r8 0xc420074600
r9 0x14b
r10 0x15a9db26be246
r11 0x202
r12 0x161000f8d56a1
r13 0x0
r14 0x0
r15 0x0
rip 0x105bec3
rflags 0x202
cs 0x7
fs 0x0
gs 0x0
*** Test killed with quit: ran too long (10m0s).
FAIL github.com/google/go-cloud/runtimevar/paramstore 600.048s
// More unrelated test output omitted.
from go-cloud.
I'm going to investigate this morning and see if I can repro.
from go-cloud.
OK, I can repro this.
[I] ➜ go-cloud git:(eno-test) mv ~/.aws ~/.aws.bak
[I] ➜ go-cloud git:(eno-test) cd runtimevar/paramstore/
[I] ➜ paramstore git:(eno-test) vgo test -v .
=== RUN TestWriteReadDelete
=== RUN TestWriteReadDelete/Good_param_name_and_value_should_pass
<take a nap>
I can't imagine why the AWS SDK would block like this. It's such a weird behavior. It's clearly waiting for something and then times out after 120s; but what would it think would change in those 120s? That's strange to me.
I will investigate further to see why the SDK might be doing this.
from go-cloud.
r.Sign() is the offending code line. This is where dlv
stops for about a minute and then returns the NoCredentialProviders
error. Investigating further.
from go-cloud.
OK, here's what I think is happening.
It looks like the AWS SDK lists the request as being retryable, but doesn't make any differentiation between whether the retry is a temporary network issue, or if it's because there aren't any creds. Because there aren't any creds, it just loops round waiting to see if the request will complete successfully, which it never does.
I think this is WAI for the SDK, I think I need to fiddle the retry logic.
from go-cloud.
I think #92 has fixed this as best as can be hoped for right now. We can cycle back later on if it continues to frustrate.
from go-cloud.
Related Issues (20)
- all: go.sum monotonically increasing HOT 1
- azureblob Bucket.Exists() fails to work if auth uses SAS token HOT 1
- pubsub/awssnssqs: Support SNS:PublishBatch in SendBatch for SNS Topic HOT 1
- blob/fileblob: leaking tmp files
- blob: stack overflow when copying between *blob.Reader and *blob.Writer HOT 1
- fileblob: os.Rename does not work between different mount points HOT 9
- Support for Redis, Memcache drivers HOT 1
- blob/gcsblob: Allow blank Content-Type to be set HOT 8
- blob/fileblob: `no_temp_dir` URL option defined inconsistently in #3296 HOT 1
- blob/gcsblob: anonymous bucket access still requires default credentials HOT 6
- Repetitive code found in the document
- blob/fileblob: bucket.List is not working for /tmp folder HOT 4
- all: Remove indirect dependency to `github.com/prometheus/prometheus` HOT 6
- blob/fileblob/fileblob.go NoTempDir defaults to true and causes EXDEV cross device link errors HOT 3
- blob/gcsblob: anonymous bucket access follow up to #3302 HOT 1
- runtimevar: support `env` url HOT 2
- blob/azureblob: Using a SAS token results in "Signature fields not well formed" HOT 3
- Using AWS, how do we enable compression and decompression of upload and dwonload? HOT 5
- blob/s3: Support Server Side encryption settings in bucket url HOT 2
- docstore/mongodocstore: pauses before getMore HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-cloud.