-
Notifications
You must be signed in to change notification settings - Fork 4.1k
sql: v22.1.1: expected *DTimestampTZ, found *tree.Placeholder for with_min_timestamp #86243
Description
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/3507166854/?referrer=webhooks_plugin
Panic message:
datum.go:2773: expected *DTimestampTZ, found *tree.Placeholder
(1) attached stack trace
-- stack trace:
| github.com/cockroachdb/cockroach/pkg/sql.(*Server).ServeConn.func1
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:746
| runtime.gopanic
| GOROOT/src/runtime/panic.go:1038
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree.MustBeDTimestampTZ
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree/datum.go:2773
| github.com/cockroachdb/cockroach/pkg/sql/sem/builtins.glob..func159
| github.com/cockroachdb/cockroach/pkg/sql/sem/builtins/builtins.go:2703
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree.(*FuncExpr).Eval
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree/eval.go:4377
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree.EvalAsOfTimestamp
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree/as_of.go:206
| github.com/cockroachdb/cockroach/pkg/sql.(*planner).EvalAsOfTimestamp
| github.com/cockroachdb/cockroach/pkg/sql/exec_util.go:1781
| github.com/cockroachdb/cockroach/pkg/sql.(*planner).isAsOf
| github.com/cockroachdb/cockroach/pkg/sql/exec_util.go:1835
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).handleAOST
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:746
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).populatePrepared
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_prepare.go:267
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).prepare.func1
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_prepare.go:235
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).prepare
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_prepare.go:240
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).addPreparedStmt
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_prepare.go:102
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execPrepare
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_prepare.go:63
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execCmd
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1976
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).run
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1800
| github.com/cockroachdb/cockroach/pkg/sql.(*Server).ServeConn
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:748
| github.com/cockroachdb/cockroach/pkg/sql/pgwire.(*conn).processCommandsAsync.func1
| github.com/cockroachdb/cockroach/pkg/sql/pgwire/conn.go:724
Wraps: (2) while executing: SELECT _, _ FROM _ AS OF SYSTEM TIME with_min_timestamp($2) WHERE _ = ANY ($1)
Wraps: (3) attached stack trace
-- stack trace:
| github.com/cockroachdb/cockroach/pkg/sql.(*Server).ServeConn.func1
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:746
| runtime.gopanic
| GOROOT/src/runtime/panic.go:1038
| [...repeated from below...]
Wraps: (4) assertion failure
Wraps: (5) attached stack trace
-- stack trace:
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree.MustBeDTimestampTZ
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree/datum.go:2773
| github.com/cockroachdb/cockroach/pkg/sql/sem/builtins.glob..func159
| github.com/cockroachdb/cockroach/pkg/sql/sem/builtins/builtins.go:2703
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree.(*FuncExpr).Eval
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree/eval.go:4377
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree.EvalAsOfTimestamp
| github.com/cockroachdb/cockroach/pkg/sql/sem/tree/as_of.go:206
| github.com/cockroachdb/cockroach/pkg/sql.(*planner).EvalAsOfTimestamp
| github.com/cockroachdb/cockroach/pkg/sql/exec_util.go:1781
| github.com/cockroachdb/cockroach/pkg/sql.(*planner).isAsOf
| github.com/cockroachdb/cockroach/pkg/sql/exec_util.go:1835
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).handleAOST
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_exec.go:746
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).populatePrepared
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_prepare.go:267
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).prepare.func1
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_prepare.go:235
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).prepare
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_prepare.go:240
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).addPreparedStmt
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_prepare.go:102
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execPrepare
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor_prepare.go:63
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).execCmd
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1976
| github.com/cockroachdb/cockroach/pkg/sql.(*connExecutor).run
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:1800
| github.com/cockroachdb/cockroach/pkg/sql.(*Server).ServeConn
| github.com/cockroachdb/cockroach/pkg/sql/conn_executor.go:748
| github.com/cockroachdb/cockroach/pkg/sql/pgwire.(*conn).processCommandsAsync.func1
| github.com/cockroachdb/cockroach/pkg/sql/pgwire/conn.go:724
| runtime.goexit
| GOROOT/src/runtime/asm_amd64.s:1581
Wraps: (6) expected *DTimestampTZ, found *tree.Placeholder
Error types: (1) *withstack.withStack (2) *safedetails.withSafeDetails (3) *withstack.withStack (4) *assert.withAssertionFailure (5) *withstack.withStack (6) *errutil.leafError
-- report composition:
*errutil.leafError: expected *DTimestampTZ, found *tree.Placeholder
datum.go:2773: *withstack.withStack (top exception)
*assert.withAssertionFailure
conn_executor.go:746: *withstack.withStack (1)
*safedetails.withSafeDetails: while executing: SELECT _, _ FROM _ AS OF SYSTEM TIME with_min_timestamp($2) WHERE _ = ANY ($1)
conn_executor.go:746: *withstack.withStack (2)
(check the extra data payloads)
Stacktrace (expand for inline code snippets):
cockroach/pkg/sql/conn_executor.go
Lines 745 to 747 in 242d13b
| r := recover() | |
| h.ex.closeWrapper(ctx, r) | |
| }() |
GOROOT/src/runtime/panic.go#L1037-L1039 in runtime.gopanic
cockroach/pkg/sql/sem/tree/datum.go
Lines 2772 to 2774 in 242d13b
| if !ok { | |
| panic(errors.AssertionFailedf("expected *DTimestampTZ, found %T", e)) | |
| } |
cockroach/pkg/sql/sem/builtins/builtins.go
Lines 2702 to 2704 in 242d13b
| Fn: func(ctx *tree.EvalContext, args tree.Datums) (tree.Datum, error) { | |
| return withMinTimestamp(ctx, tree.MustBeDTimestampTZ(args[0]).Time) | |
| }, |
cockroach/pkg/sql/sem/tree/eval.go
Lines 4376 to 4378 in 242d13b
| res, err := expr.fn.Fn(ctx, args) | |
| if err != nil { |
cockroach/pkg/sql/sem/tree/as_of.go
Lines 205 to 207 in 242d13b
| d, err := te.Eval(evalCtx) | |
| if err != nil { |
cockroach/pkg/sql/exec_util.go
Lines 1780 to 1782 in 242d13b
| ) (tree.AsOfSystemTime, error) { | |
| asOf, err := tree.EvalAsOfTimestamp(ctx, asOfClause, &p.semaCtx, p.EvalContext(), opts...) | |
| if err != nil { |
cockroach/pkg/sql/exec_util.go
Lines 1834 to 1836 in 242d13b
| } | |
| asOfRet, err := p.EvalAsOfTimestamp(ctx, asOf, tree.EvalAsOfTimestampOptionAllowBoundedStaleness) | |
| if err != nil { |
cockroach/pkg/sql/conn_executor_exec.go
Lines 745 to 747 in 242d13b
| p := &ex.planner | |
| asOf, err := p.isAsOf(ctx, stmt) | |
| if err != nil { |
cockroach/pkg/sql/conn_executor_prepare.go
Lines 266 to 268 in 242d13b
| p.extendedEvalCtx.PrepareOnly = true | |
| if err := ex.handleAOST(ctx, p.stmt.AST); err != nil { | |
| return 0, err |
cockroach/pkg/sql/conn_executor_prepare.go
Lines 234 to 236 in 242d13b
| p.semaCtx.Annotations = tree.MakeAnnotations(stmt.NumAnnotations) | |
| flags, err = ex.populatePrepared(ctx, txn, placeholderHints, p) | |
| return err |
cockroach/pkg/sql/conn_executor_prepare.go
Lines 239 to 241 in 242d13b
| // Use the existing transaction. | |
| if err := prepare(ctx, ex.state.mu.txn); err != nil && origin != PreparedStatementOriginSessionMigration { | |
| return nil, err |
cockroach/pkg/sql/conn_executor_prepare.go
Lines 101 to 103 in 242d13b
| // Prepare the query. This completes the typing of placeholders. | |
| prepared, err := ex.prepare(ctx, stmt, placeholderHints, rawTypeHints, origin) | |
| if err != nil { |
cockroach/pkg/sql/conn_executor_prepare.go
Lines 62 to 64 in 242d13b
| stmt := makeStatement(parseCmd.Statement, ex.generateID()) | |
| _, err := ex.addPreparedStmt( | |
| ctx, |
cockroach/pkg/sql/conn_executor.go
Lines 1975 to 1977 in 242d13b
| stmtCtx := withStatement(ctx, ex.curStmtAST) | |
| ev, payload = ex.execPrepare(stmtCtx, tcmd) | |
| case DescribeStmt: |
cockroach/pkg/sql/conn_executor.go
Lines 1799 to 1801 in 242d13b
| var err error | |
| if err = ex.execCmd(); err != nil { | |
| if errors.IsAny(err, io.EOF, errDrainingComplete) { |
cockroach/pkg/sql/conn_executor.go
Lines 747 to 749 in 242d13b
| }() | |
| return h.ex.run(ctx, s.pool, reserved, cancel) | |
| } |
cockroach/pkg/sql/pgwire/conn.go
Lines 723 to 725 in 242d13b
| reservedOwned = false // We're about to pass ownership away. | |
| retErr = sqlServer.ServeConn(ctx, connHandler, reserved, cancelConn) | |
| }() |
GOROOT/src/runtime/asm_amd64.s#L1580-L1582 in runtime.goexit
pkg/sql/conn_executor.go in pkg/sql.(*Server).ServeConn.func1 at line 746
GOROOT/src/runtime/panic.go in runtime.gopanic at line 1038
pkg/sql/sem/tree/datum.go in pkg/sql/sem/tree.MustBeDTimestampTZ at line 2773
pkg/sql/sem/builtins/builtins.go in pkg/sql/sem/builtins.glob..func159 at line 2703
pkg/sql/sem/tree/eval.go in pkg/sql/sem/tree.(*FuncExpr).Eval at line 4377
pkg/sql/sem/tree/as_of.go in pkg/sql/sem/tree.EvalAsOfTimestamp at line 206
pkg/sql/exec_util.go in pkg/sql.(*planner).EvalAsOfTimestamp at line 1781
pkg/sql/exec_util.go in pkg/sql.(*planner).isAsOf at line 1835
pkg/sql/conn_executor_exec.go in pkg/sql.(*connExecutor).handleAOST at line 746
pkg/sql/conn_executor_prepare.go in pkg/sql.(*connExecutor).populatePrepared at line 267
pkg/sql/conn_executor_prepare.go in pkg/sql.(*connExecutor).prepare.func1 at line 235
pkg/sql/conn_executor_prepare.go in pkg/sql.(*connExecutor).prepare at line 240
pkg/sql/conn_executor_prepare.go in pkg/sql.(*connExecutor).addPreparedStmt at line 102
pkg/sql/conn_executor_prepare.go in pkg/sql.(*connExecutor).execPrepare at line 63
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).execCmd at line 1976
pkg/sql/conn_executor.go in pkg/sql.(*connExecutor).run at line 1800
pkg/sql/conn_executor.go in pkg/sql.(*Server).ServeConn at line 748
pkg/sql/pgwire/conn.go in pkg/sql/pgwire.(*conn).processCommandsAsync.func1 at line 724
GOROOT/src/runtime/asm_amd64.s in runtime.goexit at line 1581
| Tag | Value |
|---|---|
| Cockroach Release | v22.1.1 |
| Cockroach SHA: | 242d13b |
| Platform | linux amd64 |
| Distribution | CCL |
| Environment | v22.1.1 |
| Command | server |
| Go Version | `` |
| # of CPUs | |
| # of Goroutines |
Jira issue: CRDB-18647