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

sentry: error.go:88: unexpected error from the vectorized engine: runtime error: slice bounds out of range [:-2145441981] (1) Wraps: (2) assertion failure Wraps: (3) attached stack trace -- stack trace: |... #85824

Closed
cockroach-teamcity opened this issue Aug 9, 2022 · 1 comment
Labels
C-bug Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior. O-sentry Originated from an in-the-wild panic report.

Comments

@cockroach-teamcity
Copy link
Member

cockroach-teamcity commented Aug 9, 2022

This issue was autofiled by Sentry. It represents a crash or reported error on a live cluster with telemetry enabled.

Sentry link: https://sentry.io/organizations/cockroach-labs/issues/3490147444/?referrer=webhooks_plugin

Panic message:

error.go:88: unexpected error from the vectorized engine: runtime error: slice bounds out of range [:-2145441981]
(1)
Wraps: (2) assertion failure
Wraps: (3) attached stack trace
-- stack trace:
| github.com/cockroachdb/cockroach/pkg/sql/colexecerror.CatchVectorizedRuntimeError.func1
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colexecerror/error.go:88
| runtime.gopanic
| /usr/local/go/src/runtime/panic.go:965
| runtime.goPanicSliceAcap
| /usr/local/go/src/runtime/panic.go:106
| github.com/cockroachdb/cockroach/pkg/col/coldata.(*Bytes).getAppendTo
| /go/src/github.com/cockroachdb/cockroach/pkg/col/coldata/bytes.go:157
| github.com/cockroachdb/cockroach/pkg/col/coldata.(*Bytes).Set
| /go/src/github.com/cockroachdb/cockroach/pkg/col/coldata/bytes.go:165
| github.com/cockroachdb/cockroach/pkg/sql/colencoding.decodeUntaggedDatumToCol
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colencoding/value_encoding.go:73
| github.com/cockroachdb/cockroach/pkg/sql/colencoding.DecodeTableValueToCol
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colencoding/value_encoding.go:46
| github.com/cockroachdb/cockroach/pkg/sql/colfetcher.(*cFetcher).processValueBytes
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colfetcher/cfetcher.go:1495
| github.com/cockroachdb/cockroach/pkg/sql/colfetcher.(*cFetcher).processValueTuple
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colfetcher/cfetcher.go:1520
| github.com/cockroachdb/cockroach/pkg/sql/colfetcher.(*cFetcher).processValue
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colfetcher/cfetcher.go:1271
| github.com/cockroachdb/cockroach/pkg/sql/colfetcher.(*cFetcher).NextBatch
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colfetcher/cfetcher.go:1009
| github.com/cockroachdb/cockroach/pkg/sql/colfetcher.(*ColBatchScan).Next
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colfetcher/colbatch_scan.go:111
| github.com/cockroachdb/cockroach/pkg/sql/colexec/colexecutils.(*CancelChecker).Next
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colexec/colexecutils/cancel_checker.go:59
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*batchInfoCollector).next
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colflow/stats.go:98
| github.com/cockroachdb/cockroach/pkg/sql/colexecerror.CatchVectorizedRuntimeError
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colexecerror/error.go:91
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*batchInfoCollector).Next
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colflow/stats.go:106
| github.com/cockroachdb/cockroach/pkg/sql/colexec.(*isNullSelOp).Next
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colexec/is_null_ops.eg.go:226
| github.com/cockroachdb/cockroach/pkg/sql/colexec/colexecutils.(*vectorTypeEnforcer).Next
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colexec/colexecutils/operator.go:137
| github.com/cockroachdb/cockroach/pkg/sql/colexec/colexecbase.constBytesOp.Next
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colexec/colexecbase/const.eg.go:216
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*batchInfoCollector).next
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colflow/stats.go:98
| github.com/cockroachdb/cockroach/pkg/sql/colexecerror.CatchVectorizedRuntimeError
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colexecerror/error.go:91
| github.com/cockroachdb/cockroach/pkg/sql/colflow.(*batchInfoCollector).Next
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colflow/stats.go:106
| github.com/cockroachdb/cockroach/pkg/sql/colexec.(*Materializer).next
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colexec/materializer.go:261
| github.com/cockroachdb/cockroach/pkg/sql/colexec.(*Materializer).nextAdapter
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colexec/materializer.go:286
| github.com/cockroachdb/cockroach/pkg/sql/colexecerror.CatchVectorizedRuntimeError
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colexecerror/error.go:91
| github.com/cockroachdb/cockroach/pkg/sql/colexec.(*Materializer).Next
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/colexec/materializer.go:292
| github.com/cockroachdb/cockroach/pkg/sql.(*rowSourceToPlanNode).Next
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/row_source_to_plan_node.go:76
| github.com/cockroachdb/cockroach/pkg/sql.(*updateNode).BatchedNext
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/update.go:163
| github.com/cockroachdb/cockroach/pkg/sql.(*rowCountNode).startExec
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/plan_batch.go:173
| github.com/cockroachdb/cockroach/pkg/sql.startExec.func2
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/plan.go:509
| github.com/cockroachdb/cockroach/pkg/sql.(*planVisitor).visitInternal.func1
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/walk.go:112
| github.com/cockroachdb/cockroach/pkg/sql.(*planVisitor).visitInternal
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/walk.go:289
Wraps: (4) unexpected error from the vectorized engine
Wraps: (5) runtime error: slice bounds out of range [:-2145441981]
| -- cause hidden behind barrier
| runtime error: slice bounds out of range [:-2145441981]
| (1) runtime error: slice bounds out of range [:-2145441981]
| Error types: (1) runtime.boundsError
Error types: (1) *colexecerror.notInternalError (2) *assert.withAssertionFailure (3) *withstack.withStack (4) *errutil.withPrefix (5) *barriers.barrierErr
-- report composition:
*barriers.barrierErr: masked error: runtime error: slice bounds out of range [:-2145441981]
*errutil.withPrefix: unexpected error from the vectorized engine
error.go:88: *withstack.withStack (top exception)
*assert.withAssertionFailure
*colexecerror.notInternalError

Stacktrace (expand for inline code snippets):

// unexpected.
retErr = errors.NewAssertionErrorWithWrappedErrf(err, "unexpected error from the vectorized engine")
}
in pkg/sql/colexecerror.CatchVectorizedRuntimeError.func1
/usr/local/go/src/runtime/panic.go#L964-L966 in runtime.gopanic
/usr/local/go/src/runtime/panic.go#L105-L107 in runtime.goPanicSliceAcap
b.UpdateOffsetsToBeNonDecreasing(i)
return b.data[:b.offsets[i]]
}
in pkg/col/coldata.(*Bytes).getAppendTo
func (b *Bytes) Set(i int, v []byte) {
appendTo := b.getAppendTo(i)
b.data = append(appendTo, v...)
in pkg/col/coldata.(*Bytes).Set
buf, data, err = encoding.DecodeUntaggedBytesValue(buf)
vec.Bytes().Set(idx, data)
case types.DateFamily:
in pkg/sql/colencoding.decodeUntaggedDatumToCol
}
return decodeUntaggedDatumToCol(da, vec, idx, valTyp, b)
}
in pkg/sql/colencoding.DecodeTableValueToCol
valTyp := rf.typs[idx]
valueBytes, err = colencoding.DecodeTableValueToCol(
&table.da, vec, rf.machine.rowIdx, typ, dataOffset, valTyp, valueBytes,
in pkg/sql/colfetcher.(*cFetcher).processValueBytes
) (prettyKey string, prettyValue string, err error) {
return rf.processValueBytes(ctx, table, tupleBytes, prettyKeyPrefix)
}
in pkg/sql/colfetcher.(*cFetcher).processValueTuple
}
prettyKey, prettyValue, err = rf.processValueTuple(ctx, table, tupleBytes, prettyKey)
default:
in pkg/sql/colfetcher.(*cFetcher).processValue
// Process the current KV's value component.
prettyKey, prettyVal, err := rf.processValue(ctx, familyID)
if err != nil {
in pkg/sql/colfetcher.(*cFetcher).NextBatch
func (s *ColBatchScan) Next() coldata.Batch {
bat, err := s.rf.NextBatch(s.Ctx)
if err != nil {
in pkg/sql/colfetcher.(*ColBatchScan).Next
c.CheckEveryCall()
return c.Input.Next()
}
in pkg/sql/colexec/colexecutils.(*CancelChecker).Next
func (bic *batchInfoCollector) next() {
bic.batch = bic.Operator.Next()
}
in pkg/sql/colflow.(*batchInfoCollector).next
}()
operation()
return retErr
in pkg/sql/colexecerror.CatchVectorizedRuntimeError
// execution time (e.g. in the statement bundle).
err := colexecerror.CatchVectorizedRuntimeError(bic.next)
bic.stopwatch.Stop()
in pkg/sql/colflow.(*batchInfoCollector).Next
for {
batch := o.Input.Next()
n := batch.Length()
in pkg/sql/colexec.(*isNullSelOp).Next
func (e *vectorTypeEnforcer) Next() coldata.Batch {
b := e.Input.Next()
if b.Length() == 0 {
in pkg/sql/colexec/colexecutils.(*vectorTypeEnforcer).Next
func (c constBytesOp) Next() coldata.Batch {
batch := c.Input.Next()
n := batch.Length()
in pkg/sql/colexec/colexecbase.constBytesOp.Next
func (bic *batchInfoCollector) next() {
bic.batch = bic.Operator.Next()
}
in pkg/sql/colflow.(*batchInfoCollector).next
}()
operation()
return retErr
in pkg/sql/colexecerror.CatchVectorizedRuntimeError
// execution time (e.g. in the statement bundle).
err := colexecerror.CatchVectorizedRuntimeError(bic.next)
bic.stopwatch.Stop()
in pkg/sql/colflow.(*batchInfoCollector).Next
// Get a fresh batch.
m.batch = m.input.Next()
if m.batch.Length() == 0 {
in pkg/sql/colexec.(*Materializer).next
func (m *Materializer) nextAdapter() {
m.outputRow = m.next()
}
in pkg/sql/colexec.(*Materializer).nextAdapter
}()
operation()
return retErr
in pkg/sql/colexecerror.CatchVectorizedRuntimeError
for m.State == execinfra.StateRunning {
if err := colexecerror.CatchVectorizedRuntimeError(m.nextAdapter); err != nil {
m.MoveToDraining(err)
in pkg/sql/colexec.(*Materializer).Next
var p *execinfrapb.ProducerMetadata
r.row, p = r.source.Next()
in pkg/sql.(*rowSourceToPlanNode).Next

cockroach/pkg/sql/update.go

Lines 162 to 164 in 8f4dc94

// Advance one individual row.
if next, err := u.source.Next(params); !next {
lastBatch = true
in pkg/sql.(*updateNode).BatchedNext
for {
if next, err := r.source.BatchedNext(params); !next {
return err
in pkg/sql.(*rowCountNode).startExec

cockroach/pkg/sql/plan.go

Lines 508 to 510 in 8f4dc94

}
return n.startExec(params)
},
in pkg/sql.startExec.func2

cockroach/pkg/sql/walk.go

Lines 111 to 113 in 8f4dc94

}
v.err = v.observer.leaveNode(name, plan)
}()
in pkg/sql.(*planVisitor).visitInternal.func1

cockroach/pkg/sql/walk.go

Lines 288 to 290 in 8f4dc94

}
}
in pkg/sql.(*planVisitor).visitInternal

pkg/sql/colexecerror/error.go in pkg/sql/colexecerror.CatchVectorizedRuntimeError.func1 at line 88
/usr/local/go/src/runtime/panic.go in runtime.gopanic at line 965
/usr/local/go/src/runtime/panic.go in runtime.goPanicSliceAcap at line 106
pkg/col/coldata/bytes.go in pkg/col/coldata.(*Bytes).getAppendTo at line 157
pkg/col/coldata/bytes.go in pkg/col/coldata.(*Bytes).Set at line 165
pkg/sql/colencoding/value_encoding.go in pkg/sql/colencoding.decodeUntaggedDatumToCol at line 73
pkg/sql/colencoding/value_encoding.go in pkg/sql/colencoding.DecodeTableValueToCol at line 46
pkg/sql/colfetcher/cfetcher.go in pkg/sql/colfetcher.(*cFetcher).processValueBytes at line 1495
pkg/sql/colfetcher/cfetcher.go in pkg/sql/colfetcher.(*cFetcher).processValueTuple at line 1520
pkg/sql/colfetcher/cfetcher.go in pkg/sql/colfetcher.(*cFetcher).processValue at line 1271
pkg/sql/colfetcher/cfetcher.go in pkg/sql/colfetcher.(*cFetcher).NextBatch at line 1009
pkg/sql/colfetcher/colbatch_scan.go in pkg/sql/colfetcher.(*ColBatchScan).Next at line 111
pkg/sql/colexec/colexecutils/cancel_checker.go in pkg/sql/colexec/colexecutils.(*CancelChecker).Next at line 59
pkg/sql/colflow/stats.go in pkg/sql/colflow.(*batchInfoCollector).next at line 98
pkg/sql/colexecerror/error.go in pkg/sql/colexecerror.CatchVectorizedRuntimeError at line 91
pkg/sql/colflow/stats.go in pkg/sql/colflow.(*batchInfoCollector).Next at line 106
pkg/sql/colexec/is_null_ops.eg.go in pkg/sql/colexec.(*isNullSelOp).Next at line 226
pkg/sql/colexec/colexecutils/operator.go in pkg/sql/colexec/colexecutils.(*vectorTypeEnforcer).Next at line 137
pkg/sql/colexec/colexecbase/const.eg.go in pkg/sql/colexec/colexecbase.constBytesOp.Next at line 216
pkg/sql/colflow/stats.go in pkg/sql/colflow.(*batchInfoCollector).next at line 98
pkg/sql/colexecerror/error.go in pkg/sql/colexecerror.CatchVectorizedRuntimeError at line 91
pkg/sql/colflow/stats.go in pkg/sql/colflow.(*batchInfoCollector).Next at line 106
pkg/sql/colexec/materializer.go in pkg/sql/colexec.(*Materializer).next at line 261
pkg/sql/colexec/materializer.go in pkg/sql/colexec.(*Materializer).nextAdapter at line 286
pkg/sql/colexecerror/error.go in pkg/sql/colexecerror.CatchVectorizedRuntimeError at line 91
pkg/sql/colexec/materializer.go in pkg/sql/colexec.(*Materializer).Next at line 292
pkg/sql/row_source_to_plan_node.go in pkg/sql.(*rowSourceToPlanNode).Next at line 76
pkg/sql/update.go in pkg/sql.(*updateNode).BatchedNext at line 163
pkg/sql/plan_batch.go in pkg/sql.(*rowCountNode).startExec at line 173
pkg/sql/plan.go in pkg/sql.startExec.func2 at line 509
pkg/sql/walk.go in pkg/sql.(*planVisitor).visitInternal.func1 at line 112
pkg/sql/walk.go in pkg/sql.(*planVisitor).visitInternal at line 289
Tag Value
Cockroach Release v21.2.14
Cockroach SHA: 8f4dc94
Platform linux amd64
Distribution CCL
Environment v21.2.14
Command server
Go Version ``
# of CPUs
# of Goroutines

Jira issue: CRDB-18451

@cockroach-teamcity cockroach-teamcity added C-bug Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior. O-sentry Originated from an in-the-wild panic report. labels Aug 9, 2022
@yuzefovich
Copy link
Member

should be fixed by #85440

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior. O-sentry Originated from an in-the-wild panic report.
Projects
None yet
Development

No branches or pull requests

2 participants