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:90: unexpected error from the vectorized engine: × -- *barriers.barrierError *errutil.withPrefix: unexpected error from the vectorized engine (1) error.go:90: *withstack.withStack (top exception) *assert.withAssertionFailure *colexecerror.notInternalError (check the extra data payloads) #64674

Closed
cockroach-teamcity opened this issue May 4, 2021 · 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

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/2380839424/?referrer=webhooks_plugin

Panic message:

error.go:90: unexpected error from the vectorized engine: ×
--
*barriers.barrierError
*errutil.withPrefix: unexpected error from the vectorized engine (1)
error.go:90: *withstack.withStack (top exception)
*assert.withAssertionFailure
*colexecerror.notInternalError
(check the extra data payloads)

Stacktrace (expand for inline code snippets):

// unexpected.
retErr = errors.NewAssertionErrorWithWrappedErrf(err, "unexpected error from the vectorized engine")
}
in pkg/sql/colexecbase/colexecerror.CatchVectorizedRuntimeError.func1
/usr/local/go/src/runtime/panic.go#L678-L680 in runtime.gopanic
/usr/local/go/src/runtime/iface.go#L254-L256 in runtime.panicdottypeE
func (m *memColumn) Int32() Int32s {
return m.col.(Int32s)
}
in pkg/col/coldata.(*memColumn).Int32
case 32:
fromCol := args.Src.Int32()
toCol := m.Int32()
in pkg/col/coldata.(*memColumn).Append
for _, colIdx := range b.colsToStore {
b.colVecs[colIdx].Append(
coldata.SliceArgs{
in pkg/sql/colexec.(*appendOnlyBufferedBatch).append
ht.allocator.PerformOperation(ht.vals.ColVecs(), func() {
ht.vals.append(batch, 0 /* startIdx */, batch.Length())
})
in pkg/sql/colexec.(*hashTable).appendAllDistinct.func1
// caused by this approach is ok.
operation()
after := getVecsMemoryFootprint(destVecs)
in pkg/sql/colmem.(*Allocator).PerformOperation
numBuffered := uint64(ht.vals.Length())
ht.allocator.PerformOperation(ht.vals.ColVecs(), func() {
ht.vals.append(batch, 0 /* startIdx */, batch.Length())
in pkg/sql/colexec.(*hashTable).appendAllDistinct
if batch.Length() > 0 {
ht.appendAllDistinct(ctx, batch)
}
in pkg/sql/colexec.(*hashTable).build
op.buildFinished = true
op.ht.build(ctx, op.input)
in pkg/sql/colexec.(*unorderedDistinct).Next
// Get a fresh batch.
m.batch = m.input.Next(m.Ctx)
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/colexecbase/colexecerror.CatchVectorizedRuntimeError
for m.State == execinfra.StateRunning {
if err := colexecerror.CatchVectorizedRuntimeError(m.nextAdapter); err != nil {
m.MoveToDraining(err)
in pkg/sql/colexec.(*Materializer).Next
for n.State == execinfra.StateRunning {
row, meta := n.input.Next()
in pkg/sql/rowexec.(*noopProcessor).Next
for ; nRows < c.batch.Capacity(); nRows++ {
row, meta := c.input.Next()
if meta != nil {
in pkg/sql/colexec.(*Columnarizer).Next
// Get a fresh batch.
m.batch = m.input.Next(m.Ctx)
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/colexecbase/colexecerror.CatchVectorizedRuntimeError
for m.State == execinfra.StateRunning {
if err := colexecerror.CatchVectorizedRuntimeError(m.nextAdapter); err != nil {
m.MoveToDraining(err)
in pkg/sql/colexec.(*Materializer).Next
for {
row, meta := src.Next()
// Emit the row; stop if no more rows are needed.
in pkg/sql/execinfra.Run
ctx = pb.self.Start(ctx)
Run(ctx, pb.self, pb.Out.output)
}
in pkg/sql/execinfra.(*ProcessorBase).Run
}
headProc.Run(ctx)
return nil
in pkg/sql/flowinfra.(*FlowBase).Run
// TODO(radu): this should go through the flow scheduler.
if err := flow.Run(ctx, func() {}); err != nil {
log.Fatalf(ctx, "unexpected error from syncFlow.Start(): %v\n"+
in pkg/sql.(*DistSQLPlanner).Run
recv.expectedRowsRead = int64(physPlan.TotalEstimatedScannedRows)
return dsp.Run(planCtx, txn, physPlan, recv, evalCtx, nil /* finishedSetupFn */)
}
in pkg/sql.(*DistSQLPlanner).PlanAndRun
// the planner whether or not to plan remote table readers.
cleanup := ex.server.cfg.DistSQLPlanner.PlanAndRun(
ctx, evalCtx, planCtx, planner.txn, planner.curPlan.main, recv,
in pkg/sql.(*connExecutor).execWithDistSQLEngine
ex.sessionTracing.TraceExecStart(ctx, "distributed")
stats, err := ex.execWithDistSQLEngine(
ctx, planner, stmt.AST.StatementType(), res, distributePlan.WillDistribute(), progAtomic,
in pkg/sql.(*connExecutor).dispatchToExecutionEngine
p.autoCommit = os.ImplicitTxn.Get() && !ex.server.cfg.TestingKnobs.DisableAutoCommit
if err := ex.dispatchToExecutionEngine(ctx, p, res); err != nil {
return nil, nil, err
in pkg/sql.(*connExecutor).execStmtInOpenState
} else {
ev, payload, err = ex.execStmtInOpenState(ctx, stmt, res, pinfo)
}
in pkg/sql.(*connExecutor).execStmt
if !portal.exhausted {
ev, payload, err = ex.execStmt(stmtCtx, curStmt, stmtRes, pinfo)
// Portal suspension is supported via a "side" state machine
in pkg/sql.(*connExecutor).execPortal
res = stmtRes
ev, payload, err = ex.execPortal(ctx, portal, portalName, stmtRes, pinfo)
return err
in pkg/sql.(*connExecutor).execCmd.func2

pkg/sql/colexecbase/colexecerror/error.go in pkg/sql/colexecbase/colexecerror.CatchVectorizedRuntimeError.func1 at line 90
/usr/local/go/src/runtime/panic.go in runtime.gopanic at line 679
/usr/local/go/src/runtime/iface.go in runtime.panicdottypeE at line 255
pkg/col/coldata/vec.go in pkg/col/coldata.(*memColumn).Int32 at line 222
pkg/col/coldata/vec.eg.go in pkg/col/coldata.(*memColumn).Append at line 148
pkg/sql/colexec/utils.go in pkg/sql/colexec.(*appendOnlyBufferedBatch).append at line 223
pkg/sql/colexec/hashtable.go in pkg/sql/colexec.(*hashTable).appendAllDistinct.func1 at line 453
pkg/sql/colmem/allocator.go in pkg/sql/colmem.(*Allocator).PerformOperation at line 280
pkg/sql/colexec/hashtable.go in pkg/sql/colexec.(*hashTable).appendAllDistinct at line 452
pkg/sql/colexec/hashtable.go in pkg/sql/colexec.(*hashTable).build at line 359
pkg/sql/colexec/unordered_distinct.go in pkg/sql/colexec.(*unorderedDistinct).Next at line 84
pkg/sql/colexec/materializer.go in pkg/sql/colexec.(*Materializer).next at line 216
pkg/sql/colexec/materializer.go in pkg/sql/colexec.(*Materializer).nextAdapter at line 241
pkg/sql/colexecbase/colexecerror/error.go in pkg/sql/colexecbase/colexecerror.CatchVectorizedRuntimeError at line 93
pkg/sql/colexec/materializer.go in pkg/sql/colexec.(*Materializer).Next at line 247
pkg/sql/rowexec/noop.go in pkg/sql/rowexec.(*noopProcessor).Next at line 69
pkg/sql/colexec/columnarizer.go in pkg/sql/colexec.(*Columnarizer).Next at line 110
pkg/sql/colexec/materializer.go in pkg/sql/colexec.(*Materializer).next at line 216
pkg/sql/colexec/materializer.go in pkg/sql/colexec.(*Materializer).nextAdapter at line 241
pkg/sql/colexecbase/colexecerror/error.go in pkg/sql/colexecbase/colexecerror.CatchVectorizedRuntimeError at line 93
pkg/sql/colexec/materializer.go in pkg/sql/colexec.(*Materializer).Next at line 247
pkg/sql/execinfra/base.go in pkg/sql/execinfra.Run at line 170
pkg/sql/execinfra/processorsbase.go in pkg/sql/execinfra.(*ProcessorBase).Run at line 775
pkg/sql/flowinfra/flow.go in pkg/sql/flowinfra.(*FlowBase).Run at line 392
pkg/sql/distsql_running.go in pkg/sql.(*DistSQLPlanner).Run at line 422
pkg/sql/distsql_running.go in pkg/sql.(*DistSQLPlanner).PlanAndRun at line 991
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execWithDistSQLEngine at line 1001
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).dispatchToExecutionEngine at line 872
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmtInOpenState at line 639
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmt at line 114
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execPortal at line 203
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd.func2 at line 1533
Tag Value
Cockroach Release v20.2.0
Cockroach SHA: 150c591
Platform linux amd64
Distribution CCL
Environment v20.2.0
Command server
Go Version ``
# of CPUs
# of Goroutines
@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 May 4, 2021
@yuzefovich
Copy link
Member

dup of #64472

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