Tikv panic for the error of Multiplication resulted in NaN: FloatIsNan
- Dominant language
- Go
- Stars
- 40.5k
- Forks
- 6.2k
- PR merge metrics
- PR metrics pending
Description
## Bug Report
Please answer these questions before submitting your issue. Thanks!
### 1. Minimal reproduce step (Required)
```sql
create table t (a double,b datetime);
insert into t values(0,"2004-02-23 04:43:36");
select count(*) from t where truncate(a,2018);
```
### 2. What did you expect to see? (Required)
successfully
### 3. What did you see instead (Required)
tikv panic
```
[2022/02/25 13:22:42.698 +08:00] [FATAL] [lib.rs:466] ["Multiplication resulted in NaN: FloatIsNan"] [backtrace=" 0: tikv_util::set_panic_hook::{{closure}}\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tikv_util/src/lib.rs:465:18\n 1: std::panicking::rust_panic_with_hook\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/panicking.rs:702:17\n 2: std::panicking::begin_panic_handler::{{closure}}\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/panicking.rs:588:13\n 3: std::sys_common::backtrace::__rust_end_short_backtrace\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/sys_common/backtrace.rs:138:18\n 4: rust_begin_unwind\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/panicking.rs:584:5\n 5: core::panicking::panic_fmt\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/panicking.rs:143:14\n 6: core::result::unwrap_failed\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/result.rs:1749:5\n 7: core::result::Result::expect\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/result.rs:1022:23\n as core::ops::arith::Mul>::mul\n at /rust/registry/src/github.com-1ecc6299db9ec823/ordered-float-1.1.1/src/lib.rs:425:9\n tidb_query_expr::impl_math::truncate_real\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_expr/src/impl_math.rs:482:15\n tidb_query_expr::impl_math::truncate_real_with_int\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_expr/src/impl_math.rs:470:13\n > as tidb_query_expr::impl_math::TruncateRealWithInt_Fn>::eval\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_expr/src/impl_math.rs:463:1\n ::eval\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_expr/src/impl_math.rs:463:1\n as tidb_query_expr::types::function::Evaluator>::eval\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_expr/src/types/function.rs:259:17\n as tidb_query_expr::types::function::Evaluator>::eval\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_expr/src/types/function.rs:259:17\n 8: tidb_query_expr::impl_math::truncate_real_with_int_fn_meta::run\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_expr/src/impl_math.rs:463:1\n 9: tidb_query_expr::types::expr_eval::::eval_decoded\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_expr/src/types/expr_eval.rs:248:31\n 10: tidb_query_expr::types::expr_eval::::eval\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_expr/src/types/expr_eval.rs:161:9\n tidb_query_executors::selection_executor::BatchSelectionExecutor::handle_src_result\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_executors/src/selection_executor.rs:83:19\n as tidb_query_executors::interface::BatchExecutor>::next_batch\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_executors/src/selection_executor.rs:182:25\n as tidb_query_executors::interface::BatchExecutor>::next_batch\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_executors/src/interface.rs:108:22\n 11: as tidb_query_executors::interface::BatchExecutor>::next_batch\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_executors/src/interface.rs:77:9\n tidb_query_executors::util::aggr_executor::AggregationExecutor::handle_next_batch\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_executors/src/util/aggr_executor.rs:194:26\n as tidb_query_executors::interface::BatchExecutor>::next_batch\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_executors/src/util/aggr_executor.rs:282:22\n as tidb_query_executors::interface::BatchExecutor>::next_batch\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_executors/src/simple_aggr_executor.rs:36:9\n as tidb_query_executors::interface::BatchExecutor>::next_batch\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_executors/src/interface.rs:108:22\n 12: as tidb_query_executors::interface::BatchExecutor>::next_batch\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_executors/src/interface.rs:77:9\n tidb_query_executors::runner::BatchExecutorsRunner::internal_handle_request\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_executors/src/runner.rs:548:26\n 13: tidb_query_executors::runner::BatchExecutorsRunner::handle_request::{{closure}}\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tidb_query_executors/src/runner.rs:425:41\n as core::future::future::Future>::poll\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/future/mod.rs:84:19\n ::handle_request::__handle_request::{{closure}}\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/src/coprocessor/dag/mod.rs:112:50\n as core::future::future::Future>::poll\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/future/mod.rs:84:19\n 14: as core::future::future::Future>::poll\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/future/future.rs:123:9\n as core::future::future::Future>::poll\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/src/coprocessor/interceptors/deadline.rs:34:9\n as core::future::future::Future>::poll\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/src/coprocessor/interceptors/tracker.rs:49:19\n 15: as core::future::future::Future>::poll\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/src/coprocessor/interceptors/concurrency_limiter.rs:111:15\n 16: tikv::coprocessor::endpoint::Endpoint::handle_unary_request_impl::{{closure}}\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/src/coprocessor/endpoint.rs:396:86\n as core::future::future::Future>::poll\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/future/mod.rs:84:19\n as core::future::future::Future>::poll\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/resource_metering/src/lib.rs:250:9\n tikv::read_pool::ReadPoolHandle::spawn_handle::{{closure}}\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/src/read_pool.rs:145:28\n as core::future::future::Future>::poll\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/future/mod.rs:84:19\n 17: tikv::read_pool::ReadPoolHandle::spawn::{{closure}}\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/src/read_pool.rs:121:26\n as core::future::future::Future>::poll\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/future/mod.rs:84:19\n yatp::task::future::RawTask::poll\n at /rust/git/checkouts/yatp-e704b73c3ee279b6/d564d19/src/task/future.rs:59:9\n 18: yatp::task::future::TaskCell::poll\n at /rust/git/checkouts/yatp-e704b73c3ee279b6/d564d19/src/task/future.rs:103:9\n ::handle\n at /rust/git/checkouts/yatp-e704b73c3ee279b6/d564d19/src/task/future.rs:387:20\n 19: as yatp::pool::runner::Runner>::handle\n at /home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tikv/components/tikv_util/src/yatp_pool/mod.rs:104:24\n as yatp::pool::runner::Runner>::handle\n at /rust/git/checkouts/yatp-e704b73c3ee279b6/d564d19/src/queue/multilevel.rs:245:19\n yatp::pool::worker::WorkerThread::run\n at /rust/git/checkouts/yatp-e704b73c3ee279b6/d564d19/src/pool/worker.rs:48:13\n yatp::pool::builder::LazyBuilder::build::{{closure}}\n at /rust/git/checkouts/yatp-e704b73c3ee279b6/d564d19/src/pool/builder.rs:91:25\n std::sys_common::backtrace::__rust_begin_short_backtrace\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/sys_common/backtrace.rs:122:18\n 20: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/thread/mod.rs:498:17\n as core::ops::function::FnOnce<()>>::call_once\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/panic/unwind_safe.rs:271:9\n std::panicking::try::do_call\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/panicking.rs:492:40\n std::panicking::try\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/panicking.rs:456:19\n std::panic::catch_unwind\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/panic.rs:137:14\n std::thread::Builder::spawn_unchecked_::{{closure}}\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/thread/mod.rs:497:30\n core::ops::function::FnOnce::call_once{{vtable.shim}}\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/core/src/ops/function.rs:227:5\n 21: as core::ops::function::FnOnce>::call_once\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/alloc/src/boxed.rs:1854:9\n as core::ops::function::FnOnce>::call_once\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/alloc/src/boxed.rs:1854:9\n std::sys::unix::thread::Thread::new::thread_start\n at /rustc/1e12aef3fab243407f9d71ba9956cb2a1bf105d5/library/std/src/sys/unix/thread.rs:108:17\n 22: start_thread\n 23: __clone\n"] [location=/rust/registry/src/github.com-1ecc6299db9ec823/ordered-float-1.1.1/src/lib.rs:425] [thread_name=unified-read-pool-10]
```
### 4. What is your TiDB version? (Required)
Release Version: v5.5.0-alpha
Edition: Community
Git Commit Hash: 171a35486036e8ea5b168c2d4d29f4639df1611d
Git Branch: heads/refs/tags/v5.5.0-alpha
UTC Build Time: 2022-02-20 14:52:57
GoVersion: go1.16.4
Race Enabled: false
TiKV Min Version: v3.0.0-60965b006877ca7234adaced7890d7b029ed1306
Check Table Before Drop: false
Contributor guide
Assessment
This issue has not been assessed yet.