Skip to content

sentry: relational.go:106: column 490 not in input (1) assertion failure Wraps: (2) attached stack trace -- stack trace: | github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*execPlan).getNode... #87170

@cockroach-teamcity

Description

@cockroach-teamcity

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

Panic message:

relational.go:106: column 490 not in input
(1) assertion failure
Wraps: (2) attached stack trace
-- stack trace:
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*execPlan).getNodeColumnOrdinal
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:106
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).needProjection
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:2438
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).ensureColumns
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:2449
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildSetOp
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:1467
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:332
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildGroupByInput
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:1380
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildGroupBy
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:1253
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:218
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildSelect
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:763
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:212
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildWindow
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:2209
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:255
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildSort
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:1559
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:228
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildLimitOffset
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:1536
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:225
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildWith
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:1964
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:282
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildWith
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:1964
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:282
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildSort
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:1559
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/relational.go:228
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).build
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/builder.go:209
| github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder.(*Builder).Build
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/opt/exec/execbuilder/builder.go:171
| github.com/cockroachdb/cockroach/pkg/sql.(*optPlanningCtx).runExecBuilder
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/plan_opt.go:570
| github.com/cockroachdb/cockroach/pkg/sql.(*planner).makeOptimizerPlan
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/plan_opt.go:262
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).makeExecPlan
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:1260
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).dispatchToExecutionEngine
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:972
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execStmtInOpenState
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:709
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execStmt
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:129
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execPortal
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:216
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execCmd.func2
| /go/src/github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1781
Wraps: (3) column 490 not in input
Error types: (1) *assert.withAssertionFailure (2) *withstack.withStack (3) *errutil.leafError
-- report composition:
*errutil.leafError: column 490 not in input
relational.go:106: *withstack.withStack (top exception)
*assert.withAssertionFailure

Stacktrace (expand for inline code snippets):

if !ok {
panic(errors.AssertionFailedf("column %d not in input", log.Safe(col)))
}
in pkg/sql/opt/exec/execbuilder.(*execPlan).getNodeColumnOrdinal
if col != 0 {
cols = append(cols, input.getNodeColumnOrdinal(col))
}
in pkg/sql/opt/exec/execbuilder.(*Builder).needProjection
) (execPlan, error) {
cols, needProj := b.needProjection(input, colList)
if !needProj {
in pkg/sql/opt/exec/execbuilder.(*Builder).ensureColumns
// the order `b, c, a`).
left, err = b.ensureColumns(left, private.LeftCols, leftExpr.ProvidedPhysical().Ordering)
if err != nil {
in pkg/sql/opt/exec/execbuilder.(*Builder).buildSetOp
case opt.IsSetOp(e):
ep, err = b.buildSetOp(e)
in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
groupByInput := groupBy.Child(0).(memo.RelExpr)
input, err := b.buildRelational(groupByInput)
if err != nil {
in pkg/sql/opt/exec/execbuilder.(*Builder).buildGroupByInput
func (b *Builder) buildGroupBy(groupBy memo.RelExpr) (execPlan, error) {
input, err := b.buildGroupByInput(groupBy)
if err != nil {
in pkg/sql/opt/exec/execbuilder.(*Builder).buildGroupBy
case *memo.GroupByExpr, *memo.ScalarGroupByExpr:
ep, err = b.buildGroupBy(e)
in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
func (b *Builder) buildSelect(sel *memo.SelectExpr) (execPlan, error) {
input, err := b.buildRelational(sel.Input)
if err != nil {
in pkg/sql/opt/exec/execbuilder.(*Builder).buildSelect
case *memo.SelectExpr:
ep, err = b.buildSelect(t)
in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
func (b *Builder) buildWindow(w *memo.WindowExpr) (execPlan, error) {
input, err := b.buildRelational(w.Input)
if err != nil {
in pkg/sql/opt/exec/execbuilder.(*Builder).buildWindow
case *memo.WindowExpr:
ep, err = b.buildWindow(t)
in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
func (b *Builder) buildSort(sort *memo.SortExpr) (execPlan, error) {
input, err := b.buildRelational(sort.Input)
if err != nil {
in pkg/sql/opt/exec/execbuilder.(*Builder).buildSort
case *memo.SortExpr:
ep, err = b.buildSort(t)
in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
func (b *Builder) buildLimitOffset(e memo.RelExpr) (execPlan, error) {
input, err := b.buildRelational(e.Child(0).(memo.RelExpr))
if err != nil {
in pkg/sql/opt/exec/execbuilder.(*Builder).buildLimitOffset
case *memo.LimitExpr, *memo.OffsetExpr:
ep, err = b.buildLimitOffset(e)
in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
return b.buildRelational(with.Main)
}
in pkg/sql/opt/exec/execbuilder.(*Builder).buildWith
case *memo.WithExpr:
ep, err = b.buildWith(t)
in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
return b.buildRelational(with.Main)
}
in pkg/sql/opt/exec/execbuilder.(*Builder).buildWith
case *memo.WithExpr:
ep, err = b.buildWith(t)
in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
func (b *Builder) buildSort(sort *memo.SortExpr) (execPlan, error) {
input, err := b.buildRelational(sort.Input)
if err != nil {
in pkg/sql/opt/exec/execbuilder.(*Builder).buildSort
case *memo.SortExpr:
ep, err = b.buildSort(t)
in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational
return b.buildRelational(rel)
}
in pkg/sql/opt/exec/execbuilder.(*Builder).build
func (b *Builder) Build() (_ exec.Plan, err error) {
plan, err := b.build(b.e)
if err != nil {
in pkg/sql/opt/exec/execbuilder.(*Builder).Build
bld := execbuilder.New(f, &opc.optimizer, mem, &opc.catalog, mem.RootExpr(), evalCtx, allowAutoCommit)
plan, err := bld.Build()
if err != nil {
in pkg/sql.(*optPlanningCtx).runExecBuilder
// If we got here, we did not create a plan above.
return opc.runExecBuilder(
&p.curPlan,
in pkg/sql.(*planner).makeOptimizerPlan
func (ex *connExecutor) makeExecPlan(ctx context.Context, planner *planner) error {
if err := planner.makeOptimizerPlan(ctx); err != nil {
log.VEventf(ctx, 1, "optimizer plan failed: %v", err)
in pkg/sql.(*connExecutor).makeExecPlan
// between here and there needs to happen even if there's an error.
err := ex.makeExecPlan(ctx, planner)
// We'll be closing the plan manually below after execution; this
in pkg/sql.(*connExecutor).dispatchToExecutionEngine
if err := ex.dispatchToExecutionEngine(ctx, p, res); err != nil {
stmtThresholdSpan.Finish()
in pkg/sql.(*connExecutor).execStmtInOpenState
} else {
ev, payload, err = ex.execStmtInOpenState(ctx, parserStmt, prepared, pinfo, res)
}
in pkg/sql.(*connExecutor).execStmt
}
ev, payload, err = ex.execStmt(ctx, portal.Stmt.Statement, portal.Stmt, pinfo, stmtRes)
// 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/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*execPlan).getNodeColumnOrdinal at line 106
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).needProjection at line 2438
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).ensureColumns at line 2449
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildSetOp at line 1467
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational at line 332
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildGroupByInput at line 1380
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildGroupBy at line 1253
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational at line 218
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildSelect at line 763
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational at line 212
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildWindow at line 2209
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational at line 255
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildSort at line 1559
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational at line 228
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildLimitOffset at line 1536
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational at line 225
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildWith at line 1964
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational at line 282
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildWith at line 1964
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational at line 282
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildSort at line 1559
pkg/sql/opt/exec/execbuilder/relational.go in pkg/sql/opt/exec/execbuilder.(*Builder).buildRelational at line 228
pkg/sql/opt/exec/execbuilder/builder.go in pkg/sql/opt/exec/execbuilder.(*Builder).build at line 209
pkg/sql/opt/exec/execbuilder/builder.go in pkg/sql/opt/exec/execbuilder.(*Builder).Build at line 171
pkg/sql/plan_opt.go in pkg/sql.(*optPlanningCtx).runExecBuilder at line 570
pkg/sql/plan_opt.go in pkg/sql.(*planner).makeOptimizerPlan at line 262
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).makeExecPlan at line 1260
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).dispatchToExecutionEngine at line 972
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmtInOpenState at line 709
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execStmt at line 129
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).execPortal at line 216
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd.func2 at line 1781
Tag Value
Cockroach Release v21.2.13
Cockroach SHA: a3c796b
Platform linux amd64
Distribution CCL
Environment v21.2.13
Command server
Go Version ``
# of CPUs
# of Goroutines

Jira issue: CRDB-19191

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.O-sentryOriginated from an in-the-wild panic report.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions