Discard connection if there is out of bound data avoid panic
Description
Components
Labels
Environment
Link to Log File, atop/blg, CBCollectInfo, Core dump
Release Notes Description
Activity

CB robot December 10, 2018 at 6:27 PM
Build sync_gateway-2.5.0-134 contains go-couchbase commit 3e9b6e1 with commit message:
https://couchbasecloud.atlassian.net/browse/MB-32118#icft=MB-32118. Discard connection for Out Of Bound data, NOT_SUPPORTED

Mihir Kamdar December 5, 2018 at 7:39 PM
Verified on 5.5.3-4037. System test (ran for 3+ days) and functional regression (5.5.3-4033) did not show any issues.

Korrigan Clark November 27, 2018 at 9:44 PM
No repro for this but we will run system test to ensure connections are properly discard and @Mihir Kamdar will close once system tests returns clean results.

CB robot November 27, 2018 at 1:08 AM
Build couchbase-server-6.0.1-1975 contains go-couchbase commit 17b9cd5 with commit message:
https://couchbasecloud.atlassian.net/browse/MB-32118#icft=MB-32118. Discard connection for Out Of Bound data

CB robot November 26, 2018 at 8:25 PM
Build couchbase-server-5.5.3-4034 contains go-couchbase commit 74d1cf9 with commit message:
https://couchbasecloud.atlassian.net/browse/MB-32118#icft=MB-32118. Discard connection for Out Of Bound data
Details
Details
Assignee

Reporter

Is this a Regression?
Triage
Priority
Instabug
PagerDuty
PagerDuty Incident
PagerDuty

Sentry
Linked Issues
Sentry
Zendesk Support
Linked Tickets
Zendesk Support

stack:
goroutine 204247260 [running]:
github.com/couchbase/query/execution.(*Context).Recover(0xc433c8e420)
goproj/src/github.com/couchbase/query/execution/context.go:505 +0xbc
panic(0xe22d80, 0x1850150)
/home/couchbase/.cbdepscache/exploded/x86_64/go-1.8.5/go/src/runtime/panic.go:489 +0x2cf
github.com/couchbase/query/datastore/couchbase.doFetch(0xc4282bb9c0, 0x14, 0xc48ba35560, 0xed388bf3e, 0xc4087ae0a8)
goproj/src/github.com/couchbase/query/datastore/couchbase/couchbase.go:1063 +0x554
github.com/couchbase/query/datastore/couchbase.(*keyspace).Fetch(0xc4211fbea0, 0xc45322a800, 0x1, 0x40, 0xc44935f920, 0x187d1c0, 0xc433c8e420, 0x0, 0x0, 0x0, ...)
goproj/src/github.com/couchbase/query/datastore/couchbase/couchbase.go:1037 +0x779
github.com/couchbase/query/execution.(*Fetch).flushBatch(0xc424cee5a0, 0xc433c8e420, 0x100000000aefc00)
goproj/src/github.com/couchbase/query/execution/fetch.go:115 +0x533
github.com/couchbase/query/execution.(*Fetch).afterItems(0xc424cee5a0, 0xc433c8e420)
goproj/src/github.com/couchbase/query/execution/fetch.go:72 +0x35
github.com/couchbase/query/execution.(*base).runConsumer.func1()
goproj/src/github.com/couchbase/query/execution/base.go:551 +0x296
github.com/couchbase/query/util.(*Once).Do(0xc424cee698, 0xc467061738)
goproj/src/github.com/couchbase/query/util/sync.go:51 +0x68
github.com/couchbase/query/execution.(*base).runConsumer(0xc424cee5a0, 0x187aa20, 0xc424cee5a0, 0xc433c8e420, 0x1899780, 0xc421ebfda0)
goproj/src/github.com/couchbase/query/execution/base.go:552 +0xaf
github.com/couchbase/query/execution.(*Fetch).RunOnce(0xc424cee5a0, 0xc433c8e420, 0x1899780, 0xc421ebfda0)
goproj/src/github.com/couchbase/query/execution/fetch.go:56 +0x5c
created by github.com/couchbase/query/execution.(*Sequence).RunOnce.func1
goproj/src/github.com/couchbase/query/execution/sequence.go:95 +0x404
Source Forums:
https://forums.couchbase.com/t/perform-query-panic-runtime-error-slice-bounds-out-of-range/19236