-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
Panic when handling Decimal128 overflow:
SELECT ('0.54321543215432154321543215432154321'::DECIMAL(35,35) + 10000)::VARCHAR;To Reproduce
reproduce step:
install datafusion-cli
cargo install datafusion-cli
-> datafusion-cli
DataFusion CLI v44.0.0
> SELECT ('0.54321543215432154321543215432154321'::DECIMAL(35,35) + 10000)::VARCHAR;
thread 'main' panicked at /home/discord9/.cargo/registry/src/index.crates.io-6f17d22bba15001f/datafusion-expr-common-44.0.0/src/interval_arithmetic.rs:1025:13:
internal error: entered unreachable code
note: run with `RUST_BACKTRACE=1` environment variable to display a backtraceExpected behavior
Something like:
datafusion error: Arrow error: Compute error: Overflow happened on: 10000 * 100000000000000000000000000000000000Additional context
The full panic stack:
> SELECT ('0.54321543215432154321543215432154321'::DECIMAL(35,35) + 10000)::VARCHAR;
thread 'main' panicked at /home/discord9/.cargo/registry/src/index.crates.io-6f17d22bba15001f/datafusion-expr-common-44.0.0/src/interval_arithmetic.rs:1025:13:
internal error: entered unreachable code
stack backtrace:
0: 0x6534bc1f0e4a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h26331299defb9972
1: 0x6534bc21f793 - core::fmt::write::ha67e60481897529f
2: 0x6534bc1ec2f3 - std::io::Write::write_fmt::h44edfdd6a3114907
3: 0x6534bc1f0c92 - std::sys::backtrace::BacktraceLock::print::hfe72d0e97d90abf3
4: 0x6534bc1f1bcc - std::panicking::default_hook::{{closure}}::hbe8a26a7fe3b2fad
5: 0x6534bc1f1a12 - std::panicking::default_hook::hcb4770ae2c16107d
6: 0x6534bc1f2207 - std::panicking::rust_panic_with_hook::h0d5b2fe41bd91557
7: 0x6534bc1f2066 - std::panicking::begin_panic_handler::{{closure}}::h9f0657659e7e3c46
8: 0x6534bc1f1329 - std::sys::backtrace::__rust_end_short_backtrace::h387e145d18906e78
9: 0x6534bc1f1d2c - rust_begin_unwind
10: 0x6534bc21c800 - core::panicking::panic_fmt::hd38374bb8307d4f1
11: 0x6534bc21c88c - core::panicking::panic::h20b54d066c44c8e9
12: 0x6534ba71bea4 - datafusion_expr_common::interval_arithmetic::handle_overflow::h22e3c631c39be18e
13: 0x6534ba71cf1b - datafusion_expr_common::interval_arithmetic::Interval::add::h6f53ae2b3187d175
14: 0x6534ba5dc84a - <datafusion_physical_expr::expressions::binary::BinaryExpr as datafusion_physical_expr_common::physical_expr::PhysicalExpr>::get_properties::hb66e5bdc83683bf1
15: 0x6534ba66f0d9 - datafusion_physical_expr::equivalence::properties::get_expr_properties::h370c1e8a5a48b3dd
16: 0x6534ba5bd3ff - <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold::h4e6ddc1c8475e9d9
17: 0x6534ba5a79c0 - <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter::hb1cbd2501b779de7
18: 0x6534ba72825e - core::iter::adapters::try_process::hb2a3e2b4fb2c5da7
19: 0x6534ba66f049 - datafusion_physical_expr::equivalence::properties::get_expr_properties::h370c1e8a5a48b3dd
20: 0x6534ba654df8 - core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut::h8bdc520f227dbdb6
21: 0x6534ba566fef - core::iter::adapters::flatten::and_then_or_clear::hd28b51b7aa0d1779
22: 0x6534ba54849c - <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::next::h5bfa92fb9b47c570
23: 0x6534ba5a5424 - <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter::h93954ca72b8f54b7
24: 0x6534ba66bddf - datafusion_physical_expr::equivalence::properties::EquivalenceProperties::project::hfa7f9d24367f578b
25: 0x6534ba022c97 - datafusion_physical_plan::projection::ProjectionExec::try_new::h1d0a449bf7f89173
26: 0x6534b90a4041 - datafusion::physical_planner::DefaultPhysicalPlanner::create_project_physical_exec::hea16a288f08499d4
27: 0x6534b93e3121 - datafusion::physical_planner::DefaultPhysicalPlanner::map_logical_node_to_physical::{{closure}}::hb8065018e9895f55
28: 0x6534b938c1fe - <futures_util::stream::futures_unordered::FuturesUnordered<Fut> as futures_core::stream::Stream>::poll_next::h1a503263b74eeae5
29: 0x6534b90f9a73 - <S as futures_core::stream::TryStream>::try_poll_next::hcda0cdae6ef6a547
30: 0x6534b909e1a0 - datafusion::physical_planner::DefaultPhysicalPlanner::create_initial_plan::{{closure}}::hc0836f95b515cf24
31: 0x6534b90aa81c - <datafusion::physical_planner::DefaultPhysicalPlanner as datafusion::physical_planner::PhysicalPlanner>::create_physical_plan::{{closure}}::hfabe636cf89cc9f0
32: 0x6534b93ed227 - <datafusion::execution::session_state::DefaultQueryPlanner as datafusion::execution::context::QueryPlanner>::create_physical_plan::{{closure}}::hf49237228078f7b4
33: 0x6534b8843176 - datafusion_cli::exec::exec_and_print::{{closure}}::h4f5205257d78f405
34: 0x6534b8867f37 - <core::future::poll_fn::PollFn<F> as core::future::future::Future>::poll::h835afc14eb8c065e
35: 0x6534b8923e7c - datafusion_cli::main_inner::{{closure}}::h2827c5c80eade150
36: 0x6534b8916c1e - tokio::runtime::park::CachedParkThread::block_on::h2640c83190c497b4
37: 0x6534b87ef684 - datafusion_cli::main::h1f1dd4afcd331766
38: 0x6534b87bf403 - std::sys::backtrace::__rust_begin_short_backtrace::h73c163fed5cd98b4
39: 0x6534b87888b9 - std::rt::lang_start::{{closure}}::hfb6efc9f5f1a0203
40: 0x6534bc1e2c9e - std::rt::lang_start_internal::h4da726cff2e6abbd
41: 0x6534b87f04a5 - main
42: 0x70786e229d90 - __libc_start_call_main
at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
43: 0x70786e229e40 - __libc_start_main_impl
at ./csu/../csu/libc-start.c:392:3
44: 0x6534b8568b65 - _start
45: 0x0 - <unknown>alamb
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working