{"action":"opened","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-golang/issues/268","repository_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-golang","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-golang/issues/268/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-golang/issues/268/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-golang/issues/268/events","html_url":"https://github.com/GoogleCloudPlatform/gcloud-golang/issues/268","id":157244028,"number":268,"title":"Datastore Count panic / timeouts","user":{"login":"Nitecon","id":665977,"avatar_url":"https://avatars.githubusercontent.com/u/665977?v=3","gravatar_id":"","url":"https://api.github.com/users/Nitecon","html_url":"https://github.com/Nitecon","followers_url":"https://api.github.com/users/Nitecon/followers","following_url":"https://api.github.com/users/Nitecon/following{/other_user}","gists_url":"https://api.github.com/users/Nitecon/gists{/gist_id}","starred_url":"https://api.github.com/users/Nitecon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nitecon/subscriptions","organizations_url":"https://api.github.com/users/Nitecon/orgs","repos_url":"https://api.github.com/users/Nitecon/repos","events_url":"https://api.github.com/users/Nitecon/events{/privacy}","received_events_url":"https://api.github.com/users/Nitecon/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-05-27T16:28:20Z","updated_at":"2016-05-27T16:28:20Z","closed_at":null,"body":"Datastore go package appears to be crashing when doing a cli.Count() on any query.  Due to this issue I'm having to iterate through all records to get a full count of items that currently exist, this would normally not be an issue however we have 400k + records so iterating over 400k (will grow exponentially over time) records defeats the purpose of the limit / offset, and it appears to be timing out.  The test is very simple and as long as I remove the Count returns in sub 2 second, with the count it times out after 30 secs in a test and will run for what feels like hours in a browser query.\r\n\r\nThe test is very simple and nowhere near complete but useful for illustration: \r\nfunc TestGetFullLog(t *testing.T) {\r\n\tt.Parallel()\r\n        // Params are limit & offset\r\n\td, total, err := GetFullList(20, 0)\r\n\tif err != nil {\r\n\t\tt.Errorf(\"Test failed to get data\")\r\n\t}\r\n\tif len(d) <= 0 {\r\n\t\tt.Errorf(\"We should have more than 0 items len(%d) total: %d\", len(d), total)\r\n\t}\r\n}\r\nThe problematic function is: \r\n```\r\nfunc getTotal(q *datastore.Query) (int, error) {\r\n\tcli, ctx, err := getClient()\r\n\tif err != nil {\r\n\t\tlog.Printf(\"Error trying to get ds client: %s\", err)\r\n\t\treturn 0, err\r\n\t}\r\n\tdefer cli.Close()\r\n\treturn cli.Count(ctx, q)\r\n}\r\n```\r\n\r\nI separated out getTotal to do a test and as long as that function is excluded it all works just fine. Passing in the client / context does not make a difference.  Having the cli.Close() deferred makes no difference anywhere else either. \r\n\r\n```\r\npanic: test timed out after 30s\r\n\r\ngoroutine 27 [running]:\r\npanic(0x5c7f60, 0xc8200d9120)\r\n\t/usr/local/go/src/runtime/panic.go:464 +0x3e6\r\ntesting.startAlarm.func1()\r\n\t/usr/local/go/src/testing/testing.go:725 +0x14b\r\ncreated by time.goFunc\r\n\t/usr/local/go/src/time/sleep.go:129 +0x3a\r\n\r\ngoroutine 1 [chan receive]:\r\ntesting.RunTests(0x9443e8, 0xb95060, 0x3, 0x3, 0x1)\r\n\t/usr/local/go/src/testing/testing.go:603 +0x564\r\ntesting.(*M).Run(0xc8203cff08, 0xf)\r\n\t/usr/local/go/src/testing/testing.go:515 +0x81\r\ngit.internal.net/DSV/audit.TestMain(0xc8203cff08)\r\n\t/data/go/src/git.internal.net/DSV/audit/main_test.go:11 +0x80\r\nmain.main()\r\n\tgit.internal.net/DSV/audit/_test/_testmain.go:56 +0x114\r\n\r\ngoroutine 17 [syscall, locked to thread]:\r\nruntime.goexit()\r\n\t/usr/local/go/src/runtime/asm_amd64.s:1998 +0x1\r\n\r\ngoroutine 8 [select]:\r\ngoogle.golang.org/grpc/transport.(*Stream).Header(0xc8204e4d20, 0xc8204e4d20, 0x0, 0x0)\r\n\t/data/go/src/google.golang.org/grpc/transport/transport.go:221 +0x242\r\ngoogle.golang.org/grpc.recvResponse(0x18c2c40, 0xbbb378, 0x0, 0x0, 0x0, 0x0, 0x18c2c78, 0xc820190440, 0x18c2ca0, 0xc820190460, ...)\r\n\t/data/go/src/google.golang.org/grpc/call.go:54 +0x4e\r\ngoogle.golang.org/grpc.Invoke(0x1848a00, 0xc8201dfde0, 0x8bb600, 0x2c, 0x797d00, 0xc8204cc3c0, 0x7638a0, 0xc8200d8f10, 0xc820658000, 0x0, ...)\r\n\t/data/go/src/google.golang.org/grpc/call.go:178 +0xae6\r\ngoogle.golang.org/cloud/datastore/internal/proto.(*datastoreClient).RunQuery(0xc8205aa018, 0x1848a00, 0xc8201dfde0, 0xc8204cc3c0, 0x0, 0x0, 0x0, 0xc820320140, 0x0, 0x0)\r\n\t/data/go/src/google.golang.org/cloud/datastore/internal/proto/datastore.pb.go:988 +0xec\r\ngoogle.golang.org/cloud/datastore.callNext(0x1848a00, 0xc8201dfde0, 0xc820010e80, 0xc8204cc3c0, 0xc820320140, 0x0, 0xc820320140, 0x0, 0x0)\r\n\t/data/go/src/google.golang.org/cloud/datastore/query.go:466 +0x2b5\r\ngoogle.golang.org/cloud/datastore.(*Client).Count(0xc820010e80, 0x1848a00, 0xc8201dfde0, 0xc82075bcc8, 0x0, 0x0, 0x0)\r\n\t/data/go/src/google.golang.org/cloud/datastore/query.go:447 +0x56d\r\ngit.internal.net/DSV/audit.getTotal(0xc820016240, 0x0, 0x0, 0x0)\r\n\t/data/go/src/git.internal.net/DSV/audit/audit.go:89 +0x3a6\r\ngit.internal.net/DSV/audit.GetFullAuditLog(0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)\r\n\t/data/go/src/git.internal.net/DSV/audit/audit.go:183 +0x361\r\ngit.internal.net/DSV/audit.TestGetFullLog(0xc820086a20)\r\n\t/data/go/src/git.internal.net/DSV/audit/audit_test.go:11 +0x59\r\ntesting.tRunner(0xc820086a20, 0xb95060)\r\n\t/usr/local/go/src/testing/testing.go:473 +0x98\r\ncreated by testing.RunTests\r\n\t/usr/local/go/src/testing/testing.go:582 +0x892\r\n\r\ngoroutine 9 [chan receive]:\r\ntesting.RunTests.func1(0xc82001b920, 0xc820086a20)\r\n\t/usr/local/go/src/testing/testing.go:586 +0x47\r\ncreated by testing.RunTests\r\n\t/usr/local/go/src/testing/testing.go:587 +0x933\r\n\r\ngoroutine 10 [select]:\r\ngoogle.golang.org/grpc/transport.(*Stream).Header(0xc8204e4e00, 0xc8204e4e00, 0x0, 0x0)\r\n\t/data/go/src/google.golang.org/grpc/transport/transport.go:221 +0x242\r\ngoogle.golang.org/grpc.recvResponse(0x18c2c40, 0xbbb378, 0x0, 0x0, 0x0, 0x0, 0x18c2c78, 0xc82044e5a0, 0x18c2ca0, 0xc82044e5e0, ...)\r\n\t/data/go/src/google.golang.org/grpc/call.go:54 +0x4e\r\ngoogle.golang.org/grpc.Invoke(0x1848a00, 0xc8201dfde0, 0x8bb600, 0x2c, 0x797d00, 0xc82042e420, 0x7638a0, 0xc8200d9080, 0xc8202b4000, 0x0, ...)\r\n\t/data/go/src/google.golang.org/grpc/call.go:178 +0xae6\r\ngoogle.golang.org/cloud/datastore/internal/proto.(*datastoreClient).RunQuery(0xc82023a1c0, 0x1848a00, 0xc8201dfde0, 0xc82042e420, 0x0, 0x0, 0x0, 0xc8200d8cc0, 0x0, 0x0)\r\n\t/data/go/src/google.golang.org/cloud/datastore/internal/proto/datastore.pb.go:988 +0xec\r\ngoogle.golang.org/cloud/datastore.callNext(0x1848a00, 0xc8201dfde0, 0xc82036c240, 0xc82042e420, 0xc8200d8cc0, 0x0, 0xc8200d8cc0, 0x0, 0x0)\r\n\t/data/go/src/google.golang.org/cloud/datastore/query.go:466 +0x2b5\r\ngoogle.golang.org/cloud/datastore.(*Client).Count(0xc82036c240, 0x1848a00, 0xc8201dfde0, 0xc820757cb0, 0xc8201cc720, 0x0, 0x0)\r\n\t/data/go/src/google.golang.org/cloud/datastore/query.go:447 +0x56d\r\ngit.internal.net/DSV/audit.getTotal(0xc8203cc240, 0x0, 0x0, 0x0)\r\n\t/data/go/src/git.internal.net/DSV/audit/audit.go:89 +0x3a6\r\ngit.internal.net/DSV/audit.GetFullAuditLogByID(0x1, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)\r\n\t/data/go/src/git.internal.net/DSV/audit/audit.go:209 +0x3c5\r\ngit.internal.net/DSV/audit.TestFullAuditLogById(0xc820086ab0)\r\n\t/data/go/src/git.internal.net/DSV/audit/audit_test.go:23 +0x62\r\ntesting.tRunner(0xc820086ab0, 0xb95078)\r\n\t/usr/local/go/src/testing/testing.go:473 +0x98\r\ncreated by testing.RunTests\r\n\t/usr/local/go/src/testing/testing.go:582 +0x892\r\n\r\ngoroutine 11 [chan receive]:\r\ntesting.RunTests.func1(0xc82001b920, 0xc820086ab0)\r\n\t/usr/local/go/src/testing/testing.go:586 +0x47\r\ncreated by testing.RunTests\r\n\t/usr/local/go/src/testing/testing.go:587 +0x933\r\n\r\ngoroutine 48 [select]:\r\ngoogle.golang.org/grpc.(*Conn).transportMonitor(0xc82039e2d0)\r\n\t/data/go/src/google.golang.org/grpc/clientconn.go:547 +0x1d3\r\ngoogle.golang.org/grpc.NewConn.func1(0xc82039e2d0)\r\n\t/data/go/src/google.golang.org/grpc/clientconn.go:355 +0x1b5\r\ncreated by google.golang.org/grpc.NewConn\r\n\t/data/go/src/google.golang.org/grpc/clientconn.go:356 +0x4e3\r\n\r\ngoroutine 46 [IO wait]:\r\nnet.runtime_pollWait(0x184eb38, 0x72, 0xc8202ee800)\r\n\t/usr/local/go/src/runtime/netpoll.go:160 +0x60\r\nnet.(*pollDesc).Wait(0xc820369800, 0x72, 0x0, 0x0)\r\n\t/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a\r\nnet.(*pollDesc).WaitRead(0xc820369800, 0x0, 0x0)\r\n\t/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36\r\nnet.(*netFD).Read(0xc8203697a0, 0xc8202ee800, 0x400, 0x400, 0x0, 0x1840050, 0xc820014068)\r\n\t/usr/local/go/src/net/fd_unix.go:250 +0x23a\r\nnet.(*conn).Read(0xc8200300d0, 0xc8202ee800, 0x400, 0x400, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/net/net.go:172 +0xe4\r\ncrypto/tls.(*block).readFromUntil(0xc820370a50, 0x184ecb8, 0xc8200300d0, 0x5, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:460 +0xcc\r\ncrypto/tls.(*Conn).readRecord(0xc820462900, 0x944c17, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:562 +0x2d1\r\ncrypto/tls.(*Conn).Read(0xc820462900, 0xc8203d6000, 0x1000, 0x1000, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:939 +0x167\r\nnet/http.noteEOFReader.Read(0x1856950, 0xc820462900, 0xc8205f06e8, 0xc8203d6000, 0x1000, 0x1000, 0x5ef3, 0x0, 0x0)\r\n\t/usr/local/go/src/net/http/transport.go:1683 +0x67\r\nnet/http.(*noteEOFReader).Read(0xc8202f4440, 0xc8203d6000, 0x1000, 0x1000, 0xc82004dd0d, 0x0, 0x0)\r\n\t<autogenerated>:284 +0xd0\r\nbufio.(*Reader).fill(0xc82057a300)\r\n\t/usr/local/go/src/bufio/bufio.go:97 +0x1e9\r\nbufio.(*Reader).Peek(0xc82057a300, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/bufio/bufio.go:132 +0xcc\r\nnet/http.(*persistConn).readLoop(0xc8205f0680)\r\n\t/usr/local/go/src/net/http/transport.go:1069 +0x177\r\ncreated by net/http.(*Transport).dialConn\r\n\t/usr/local/go/src/net/http/transport.go:853 +0x10a6\r\n\r\ngoroutine 41 [IO wait]:\r\nnet.runtime_pollWait(0x184ebf8, 0x72, 0xc8202e7000)\r\n\t/usr/local/go/src/runtime/netpoll.go:160 +0x60\r\nnet.(*pollDesc).Wait(0xc820368990, 0x72, 0x0, 0x0)\r\n\t/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a\r\nnet.(*pollDesc).WaitRead(0xc820368990, 0x0, 0x0)\r\n\t/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36\r\nnet.(*netFD).Read(0xc820368930, 0xc8202e7000, 0x1000, 0x1000, 0x0, 0x1840050, 0xc820014068)\r\n\t/usr/local/go/src/net/fd_unix.go:250 +0x23a\r\nnet.(*conn).Read(0xc820030338, 0xc8202e7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/net/net.go:172 +0xe4\r\ncrypto/tls.(*block).readFromUntil(0xc82038a0f0, 0x184ecb8, 0xc820030338, 0x5, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:460 +0xcc\r\ncrypto/tls.(*Conn).readRecord(0xc820386600, 0x944c17, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:562 +0x2d1\r\ncrypto/tls.(*Conn).Read(0xc820386600, 0xc82038d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:939 +0x167\r\nnet/http.noteEOFReader.Read(0x1856950, 0xc820386600, 0xc82033afd8, 0xc82038d000, 0x1000, 0x1000, 0x5ef3, 0x0, 0x0)\r\n\t/usr/local/go/src/net/http/transport.go:1683 +0x67\r\nnet/http.(*noteEOFReader).Read(0xc8202f4540, 0xc82038d000, 0x1000, 0x1000, 0xc82004fd0d, 0x0, 0x0)\r\n\t<autogenerated>:284 +0xd0\r\nbufio.(*Reader).fill(0xc82036e600)\r\n\t/usr/local/go/src/bufio/bufio.go:97 +0x1e9\r\nbufio.(*Reader).Peek(0xc82036e600, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/bufio/bufio.go:132 +0xcc\r\nnet/http.(*persistConn).readLoop(0xc82033af70)\r\n\t/usr/local/go/src/net/http/transport.go:1069 +0x177\r\ncreated by net/http.(*Transport).dialConn\r\n\t/usr/local/go/src/net/http/transport.go:853 +0x10a6\r\n\r\ngoroutine 42 [select]:\r\nnet/http.(*persistConn).writeLoop(0xc82033af70)\r\n\t/usr/local/go/src/net/http/transport.go:1273 +0x472\r\ncreated by net/http.(*Transport).dialConn\r\n\t/usr/local/go/src/net/http/transport.go:854 +0x10cb\r\n\r\ngoroutine 19 [select]:\r\ngoogle.golang.org/grpc.(*Conn).transportMonitor(0xc8201c24b0)\r\n\t/data/go/src/google.golang.org/grpc/clientconn.go:547 +0x1d3\r\ngoogle.golang.org/grpc.NewConn.func1(0xc8201c24b0)\r\n\t/data/go/src/google.golang.org/grpc/clientconn.go:355 +0x1b5\r\ncreated by google.golang.org/grpc.NewConn\r\n\t/data/go/src/google.golang.org/grpc/clientconn.go:356 +0x4e3\r\n\r\ngoroutine 47 [select]:\r\nnet/http.(*persistConn).writeLoop(0xc8205f0680)\r\n\t/usr/local/go/src/net/http/transport.go:1273 +0x472\r\ncreated by net/http.(*Transport).dialConn\r\n\t/usr/local/go/src/net/http/transport.go:854 +0x10cb\r\n\r\ngoroutine 22 [IO wait]:\r\nnet.runtime_pollWait(0x184ea78, 0x72, 0xc8203ab000)\r\n\t/usr/local/go/src/runtime/netpoll.go:160 +0x60\r\nnet.(*pollDesc).Wait(0xc8202045a0, 0x72, 0x0, 0x0)\r\n\t/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a\r\nnet.(*pollDesc).WaitRead(0xc8202045a0, 0x0, 0x0)\r\n\t/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36\r\nnet.(*netFD).Read(0xc820204540, 0xc8203ab000, 0x1000, 0x1000, 0x0, 0x1840050, 0xc820014068)\r\n\t/usr/local/go/src/net/fd_unix.go:250 +0x23a\r\nnet.(*conn).Read(0xc8200300d8, 0xc8203ab000, 0x1000, 0x1000, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/net/net.go:172 +0xe4\r\ncrypto/tls.(*block).readFromUntil(0xc8204cc660, 0x184ecb8, 0xc8200300d8, 0x5, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:460 +0xcc\r\ncrypto/tls.(*Conn).readRecord(0xc820386000, 0x944c17, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:562 +0x2d1\r\ncrypto/tls.(*Conn).Read(0xc820386000, 0xc8203e6000, 0x8000, 0x8000, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:939 +0x167\r\nbufio.(*Reader).fill(0xc82036f3e0)\r\n\t/usr/local/go/src/bufio/bufio.go:97 +0x1e9\r\nbufio.(*Reader).Read(0xc82036f3e0, 0xc820016db8, 0x9, 0x9, 0x7ff7, 0x0, 0x0)\r\n\t/usr/local/go/src/bufio/bufio.go:207 +0x260\r\nio.ReadAtLeast(0x1849b40, 0xc82036f3e0, 0xc820016db8, 0x9, 0x9, 0x9, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/io/io.go:297 +0xe6\r\nio.ReadFull(0x1849b40, 0xc82036f3e0, 0xc820016db8, 0x9, 0x9, 0xc8203764ec, 0x0, 0x0)\r\n\t/usr/local/go/src/io/io.go:315 +0x62\r\ngolang.org/x/net/http2.readFrameHeader(0xc820016db8, 0x9, 0x9, 0x1849b40, 0xc82036f3e0, 0x20000000, 0x0, 0x0, 0x0)\r\n\t/data/go/src/golang.org/x/net/http2/frame.go:237 +0xa5\r\ngolang.org/x/net/http2.(*Framer).ReadFrame(0xc820016d80, 0x0, 0x0, 0x0, 0x0)\r\n\t/data/go/src/golang.org/x/net/http2/frame.go:464 +0x106\r\ngoogle.golang.org/grpc/transport.(*framer).readFrame(0xc8204cd6e0, 0x0, 0x0, 0x0, 0x0)\r\n\t/data/go/src/google.golang.org/grpc/transport/http_util.go:406 +0x3d\r\ngoogle.golang.org/grpc/transport.(*http2Client).reader(0xc8201c25a0)\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:791 +0x109\r\ncreated by google.golang.org/grpc/transport.newHTTP2Client\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:174 +0xd21\r\n\r\ngoroutine 23 [select]:\r\ngoogle.golang.org/grpc/transport.(*http2Client).controller(0xc8201c25a0)\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:869 +0x5da\r\ncreated by google.golang.org/grpc/transport.newHTTP2Client\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:201 +0x15c2\r\n\r\ngoroutine 67 [IO wait]:\r\nnet.runtime_pollWait(0x184e9b8, 0x72, 0xc8204df000)\r\n\t/usr/local/go/src/runtime/netpoll.go:160 +0x60\r\nnet.(*pollDesc).Wait(0xc82020c5a0, 0x72, 0x0, 0x0)\r\n\t/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a\r\nnet.(*pollDesc).WaitRead(0xc82020c5a0, 0x0, 0x0)\r\n\t/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36\r\nnet.(*netFD).Read(0xc82020c540, 0xc8204df000, 0x1000, 0x1000, 0x0, 0x1840050, 0xc820014068)\r\n\t/usr/local/go/src/net/fd_unix.go:250 +0x23a\r\nnet.(*conn).Read(0xc82023a1b0, 0xc8204df000, 0x1000, 0x1000, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/net/net.go:172 +0xe4\r\ncrypto/tls.(*block).readFromUntil(0xc8201cc990, 0x184ecb8, 0xc82023a1b0, 0x5, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:460 +0xcc\r\ncrypto/tls.(*Conn).readRecord(0xc820462000, 0x944c17, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:562 +0x2d1\r\ncrypto/tls.(*Conn).Read(0xc820462000, 0xc820536000, 0x8000, 0x8000, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:939 +0x167\r\nbufio.(*Reader).fill(0xc82057b140)\r\n\t/usr/local/go/src/bufio/bufio.go:97 +0x1e9\r\nbufio.(*Reader).Read(0xc82057b140, 0xc8203cc7b8, 0x9, 0x9, 0x7ff7, 0x0, 0x0)\r\n\t/usr/local/go/src/bufio/bufio.go:207 +0x260\r\nio.ReadAtLeast(0x1849b40, 0xc82057b140, 0xc8203cc7b8, 0x9, 0x9, 0x9, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/io/io.go:297 +0xe6\r\nio.ReadFull(0x1849b40, 0xc82057b140, 0xc8203cc7b8, 0x9, 0x9, 0xc8201b692c, 0x0, 0x0)\r\n\t/usr/local/go/src/io/io.go:315 +0x62\r\ngolang.org/x/net/http2.readFrameHeader(0xc8203cc7b8, 0x9, 0x9, 0x1849b40, 0xc82057b140, 0x20000000, 0x0, 0x0, 0x0)\r\n\t/data/go/src/golang.org/x/net/http2/frame.go:237 +0xa5\r\ngolang.org/x/net/http2.(*Framer).ReadFrame(0xc8203cc780, 0x0, 0x0, 0x0, 0x0)\r\n\t/data/go/src/golang.org/x/net/http2/frame.go:464 +0x106\r\ngoogle.golang.org/grpc/transport.(*framer).readFrame(0xc8201cda10, 0x0, 0x0, 0x0, 0x0)\r\n\t/data/go/src/google.golang.org/grpc/transport/http_util.go:406 +0x3d\r\ngoogle.golang.org/grpc/transport.(*http2Client).reader(0xc82039e3c0)\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:791 +0x109\r\ncreated by google.golang.org/grpc/transport.newHTTP2Client\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:174 +0xd21\r\n\r\ngoroutine 68 [select]:\r\ngoogle.golang.org/grpc/transport.(*http2Client).controller(0xc82039e3c0)\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:869 +0x5da\r\ncreated by google.golang.org/grpc/transport.newHTTP2Client\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:201 +0x15c2\r\n\r\ngoroutine 82 [select]:\r\ngoogle.golang.org/grpc.(*Conn).transportMonitor(0xc8201442d0)\r\n\t/data/go/src/google.golang.org/grpc/clientconn.go:547 +0x1d3\r\ngoogle.golang.org/grpc.NewConn.func1(0xc8201442d0)\r\n\t/data/go/src/google.golang.org/grpc/clientconn.go:355 +0x1b5\r\ncreated by google.golang.org/grpc.NewConn\r\n\t/data/go/src/google.golang.org/grpc/clientconn.go:356 +0x4e3\r\n\r\ngoroutine 85 [IO wait]:\r\nnet.runtime_pollWait(0x184e8f8, 0x72, 0xc820543000)\r\n\t/usr/local/go/src/runtime/netpoll.go:160 +0x60\r\nnet.(*pollDesc).Wait(0xc8201e44c0, 0x72, 0x0, 0x0)\r\n\t/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a\r\nnet.(*pollDesc).WaitRead(0xc8201e44c0, 0x0, 0x0)\r\n\t/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36\r\nnet.(*netFD).Read(0xc8201e4460, 0xc820543000, 0x1000, 0x1000, 0x0, 0x1840050, 0xc820014068)\r\n\t/usr/local/go/src/net/fd_unix.go:250 +0x23a\r\nnet.(*conn).Read(0xc82023a210, 0xc820543000, 0x1000, 0x1000, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/net/net.go:172 +0xe4\r\ncrypto/tls.(*block).readFromUntil(0xc82042e6c0, 0x184ecb8, 0xc82023a210, 0x5, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:460 +0xcc\r\ncrypto/tls.(*Conn).readRecord(0xc820386300, 0x944c17, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:562 +0x2d1\r\ncrypto/tls.(*Conn).Read(0xc820386300, 0xc8203a0000, 0x8000, 0x8000, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:939 +0x167\r\nbufio.(*Reader).fill(0xc820258fc0)\r\n\t/usr/local/go/src/bufio/bufio.go:97 +0x1e9\r\nbufio.(*Reader).Read(0xc820258fc0, 0xc8201e63f8, 0x9, 0x9, 0x7ff7, 0x0, 0x0)\r\n\t/usr/local/go/src/bufio/bufio.go:207 +0x260\r\nio.ReadAtLeast(0x1849b40, 0xc820258fc0, 0xc8201e63f8, 0x9, 0x9, 0x9, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/io/io.go:297 +0xe6\r\nio.ReadFull(0x1849b40, 0xc820258fc0, 0xc8201e63f8, 0x9, 0x9, 0xc820141aac, 0x0, 0x0)\r\n\t/usr/local/go/src/io/io.go:315 +0x62\r\ngolang.org/x/net/http2.readFrameHeader(0xc8201e63f8, 0x9, 0x9, 0x1849b40, 0xc820258fc0, 0x20000000, 0x0, 0x0, 0x0)\r\n\t/data/go/src/golang.org/x/net/http2/frame.go:237 +0xa5\r\ngolang.org/x/net/http2.(*Framer).ReadFrame(0xc8201e63c0, 0x0, 0x0, 0x0, 0x0)\r\n\t/data/go/src/golang.org/x/net/http2/frame.go:464 +0x106\r\ngoogle.golang.org/grpc/transport.(*framer).readFrame(0xc82042f920, 0x0, 0x0, 0x0, 0x0)\r\n\t/data/go/src/google.golang.org/grpc/transport/http_util.go:406 +0x3d\r\ngoogle.golang.org/grpc/transport.(*http2Client).reader(0xc8201443c0)\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:791 +0x109\r\ncreated by google.golang.org/grpc/transport.newHTTP2Client\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:174 +0xd21\r\n\r\ngoroutine 86 [select]:\r\ngoogle.golang.org/grpc/transport.(*http2Client).controller(0xc8201443c0)\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:869 +0x5da\r\ncreated by google.golang.org/grpc/transport.newHTTP2Client\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:201 +0x15c2\r\n\r\ngoroutine 24 [select]:\r\ngoogle.golang.org/grpc.(*Conn).transportMonitor(0xc8206482d0)\r\n\t/data/go/src/google.golang.org/grpc/clientconn.go:547 +0x1d3\r\ngoogle.golang.org/grpc.NewConn.func1(0xc8206482d0)\r\n\t/data/go/src/google.golang.org/grpc/clientconn.go:355 +0x1b5\r\ncreated by google.golang.org/grpc.NewConn\r\n\t/data/go/src/google.golang.org/grpc/clientconn.go:356 +0x4e3\r\n\r\ngoroutine 69 [runnable]:\r\ncrypto/tls.(*fixedNonceAEAD).Overhead(0xc820011cc0, 0xc82010a000)\r\n\t/usr/local/go/src/crypto/tls/cipher_suites.go:147\r\ncrypto/tls.(*halfConn).decrypt(0xc82066c0e0, 0xc8204cc840, 0x2c, 0xc8204cc840, 0xc8204cc870)\r\n\t/usr/local/go/src/crypto/tls/conn.go:274 +0x8d9\r\ncrypto/tls.(*Conn).readRecord(0xc82066c000, 0x944c17, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:619 +0x160b\r\ncrypto/tls.(*Conn).Read(0xc82066c000, 0xc820688000, 0x8000, 0x8000, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:939 +0x167\r\nbufio.(*Reader).fill(0xc820550cc0)\r\n\t/usr/local/go/src/bufio/bufio.go:97 +0x1e9\r\nbufio.(*Reader).Read(0xc820550cc0, 0xc820698038, 0x9, 0x9, 0x7ff7, 0x0, 0x0)\r\n\t/usr/local/go/src/bufio/bufio.go:207 +0x260\r\nio.ReadAtLeast(0x1849b40, 0xc820550cc0, 0xc820698038, 0x9, 0x9, 0x9, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/io/io.go:297 +0xe6\r\nio.ReadFull(0x1849b40, 0xc820550cc0, 0xc820698038, 0x9, 0x9, 0xc82014194c, 0x0, 0x0)\r\n\t/usr/local/go/src/io/io.go:315 +0x62\r\ngolang.org/x/net/http2.readFrameHeader(0xc820698038, 0x9, 0x9, 0x1849b40, 0xc820550cc0, 0x20000000, 0x0, 0x0, 0x0)\r\n\t/data/go/src/golang.org/x/net/http2/frame.go:237 +0xa5\r\ngolang.org/x/net/http2.(*Framer).ReadFrame(0xc820698000, 0x0, 0x0, 0x0, 0x0)\r\n\t/data/go/src/golang.org/x/net/http2/frame.go:464 +0x106\r\ngoogle.golang.org/grpc/transport.(*framer).readFrame(0xc8202de000, 0x0, 0x0, 0x0, 0x0)\r\n\t/data/go/src/google.golang.org/grpc/transport/http_util.go:406 +0x3d\r\ngoogle.golang.org/grpc/transport.(*http2Client).reader(0xc8204dc870)\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:791 +0x109\r\ncreated by google.golang.org/grpc/transport.newHTTP2Client\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:174 +0xd21\r\n\r\ngoroutine 70 [select]:\r\ngoogle.golang.org/grpc/transport.(*http2Client).controller(0xc8204dc870)\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:869 +0x5da\r\ncreated by google.golang.org/grpc/transport.newHTTP2Client\r\n\t/data/go/src/google.golang.org/grpc/transport/http2_client.go:201 +0x15c2\r\nexit status 2\r\nFAIL\tgit.internal.net/DSV/audit\t30.060s\r\n```"}}
{"actor":{"display_login":"Nitecon"}}