Omega359 opened a new issue, #13775:
URL: https://github.com/apache/datafusion/issues/13775

   ### Describe the bug
   
   Seeing this when testing the new sqlite tests in sqllogictest against main. 
It occurs with the select4.slt test file only. backtrace below:
   
   ```
   thread 'tokio-runtime-worker' panicked at 
datafusion/common/src/stats.rs:151:84:
   attempt to multiply with overflow
   stack backtrace:
      0: rust_begin_unwind
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/panicking.rs:662:5
      1: core::panicking::panic_fmt
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/panicking.rs:74:14
      2: core::panicking::panic_const::panic_const_mul_overflow
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/panicking.rs:181:21
      3: <usize as core::ops::arith::Mul>::mul
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/ops/arith.rs:342:45
      4: <&usize as core::ops::arith::Mul<&usize>>::mul
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/internal_macros.rs:58:17
      5: datafusion_common::stats::Precision<usize>::multiply
                at /apache_datafusion/datafusion/common/src/stats.rs:151:84
      6: datafusion_physical_plan::joins::cross_join::stats_cartesian_product
                at 
/apache_datafusion/datafusion/physical-plan/src/joins/cross_join.rs:340:27
      7: <datafusion_physical_plan::joins::cross_join::CrossJoinExec as 
datafusion_physical_plan::execution_plan::ExecutionPlan>::statistics
                at 
/apache_datafusion/datafusion/physical-plan/src/joins/cross_join.rs:322:12
      8: 
datafusion::physical_optimizer::enforce_distribution::get_repartition_requirement_status
                at 
/apache_datafusion/datafusion/core/src/physical_optimizer/enforce_distribution.rs:1103:49
      9: 
datafusion::physical_optimizer::enforce_distribution::ensure_distribution
                at 
/apache_datafusion/datafusion/core/src/physical_optimizer/enforce_distribution.rs:1197:9
     10: 
<datafusion::physical_optimizer::enforce_distribution::EnforceDistribution as 
datafusion_physical_optimizer::optimizer::PhysicalOptimizerRule>::optimize::{{closure}}
                at 
/apache_datafusion/datafusion/core/src/physical_optimizer/enforce_distribution.rs:217:17
     11: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for 
&mut F>::call_once
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/ops/function.rs:305:13
     12: datafusion_common::tree_node::Transformed<T>::transform_parent
                at /apache_datafusion/datafusion/common/src/tree_node.rs:764:44
     13: 
datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl::{{closure}}
                at /apache_datafusion/datafusion/common/src/tree_node.rs:265:13
     14: stacker::maybe_grow
                at 
/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.17/src/lib.rs:55:9
     15: datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl
                at /apache_datafusion/datafusion/common/src/tree_node.rs:260:9
     16: 
datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl::{{closure}}::{{closure}}
                at /apache_datafusion/datafusion/common/src/tree_node.rs:265:35
     17: <I as 
datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect::{{closure}}
                at /apache_datafusion/datafusion/common/src/tree_node.rs:1125:17
     18: core::iter::adapters::map::map_try_fold::{{closure}}
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/iter/adapters/map.rs:95:28
     19: <alloc::vec::into_iter::IntoIter<T,A> as 
core::iter::traits::iterator::Iterator>::try_fold
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/alloc/src/vec/into_iter.rs:346:25
     20: <core::iter::adapters::map::Map<I,F> as 
core::iter::traits::iterator::Iterator>::try_fold
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/iter/adapters/map.rs:121:9
     21: <core::iter::adapters::GenericShunt<I,R> as 
core::iter::traits::iterator::Iterator>::try_fold
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/iter/adapters/mod.rs:191:9
     22: <I as 
alloc::vec::in_place_collect::SpecInPlaceCollect<T,I>>::collect_in_place
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/alloc/src/vec/in_place_collect.rs:378:13
     23: alloc::vec::in_place_collect::from_iter_in_place
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/alloc/src/vec/in_place_collect.rs:269:9
     24: alloc::vec::in_place_collect::<impl 
alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/alloc/src/vec/in_place_collect.rs:245:9
     25: <alloc::vec::Vec<T> as 
core::iter::traits::collect::FromIterator<T>>::from_iter
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/alloc/src/vec/mod.rs:2985:9
     26: core::iter::traits::iterator::Iterator::collect
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/iter/traits/iterator.rs:2000:9
     27: <core::result::Result<V,E> as 
core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter::{{closure}}
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/result.rs:1958:51
     28: core::iter::adapters::try_process
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/iter/adapters/mod.rs:160:17
     29: <core::result::Result<V,E> as 
core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/result.rs:1958:9
     30: core::iter::traits::iterator::Iterator::collect
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/iter/traits/iterator.rs:2000:9
     31: <I as 
datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect
                at /apache_datafusion/datafusion/common/src/tree_node.rs:1123:9
     32: <T as datafusion_common::tree_node::TreeNode>::map_children
                at /apache_datafusion/datafusion/common/src/tree_node.rs:1256:32
     33: 
datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl::{{closure}}
                at /apache_datafusion/datafusion/common/src/tree_node.rs:265:13
     34: stacker::maybe_grow
                at 
/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.17/src/lib.rs:55:9
     35: datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl
                at /apache_datafusion/datafusion/common/src/tree_node.rs:260:9
     36: 
datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl::{{closure}}::{{closure}}
                at /apache_datafusion/datafusion/common/src/tree_node.rs:265:35
     37: <I as 
datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect::{{closure}}
                at /apache_datafusion/datafusion/common/src/tree_node.rs:1125:17
     38: core::iter::adapters::map::map_try_fold::{{closure}}
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/iter/adapters/map.rs:95:28
     39: <alloc::vec::into_iter::IntoIter<T,A> as 
core::iter::traits::iterator::Iterator>::try_fold
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/alloc/src/vec/into_iter.rs:346:25
     40: <core::iter::adapters::map::Map<I,F> as 
core::iter::traits::iterator::Iterator>::try_fold
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/iter/adapters/map.rs:121:9
     41: <core::iter::adapters::GenericShunt<I,R> as 
core::iter::traits::iterator::Iterator>::try_fold
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/iter/adapters/mod.rs:191:9
     42: <I as 
alloc::vec::in_place_collect::SpecInPlaceCollect<T,I>>::collect_in_place
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/alloc/src/vec/in_place_collect.rs:378:13
     43: alloc::vec::in_place_collect::from_iter_in_place
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/alloc/src/vec/in_place_collect.rs:269:9
     44: alloc::vec::in_place_collect::<impl 
alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/alloc/src/vec/in_place_collect.rs:245:9
     45: <alloc::vec::Vec<T> as 
core::iter::traits::collect::FromIterator<T>>::from_iter
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/alloc/src/vec/mod.rs:2985:9
     46: core::iter::traits::iterator::Iterator::collect
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/iter/traits/iterator.rs:2000:9
     47: <core::result::Result<V,E> as 
core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter::{{closure}}
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/result.rs:1958:51
     48: core::iter::adapters::try_process
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/iter/adapters/mod.rs:160:17
     49: <core::result::Result<V,E> as 
core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/result.rs:1958:9
     50: core::iter::traits::iterator::Iterator::collect
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/iter/traits/iterator.rs:2000:9
     51: <I as 
datafusion_common::tree_node::TreeNodeIterator>::map_until_stop_and_collect
                at /apache_datafusion/datafusion/common/src/tree_node.rs:1123:9
     52: <T as datafusion_common::tree_node::TreeNode>::map_children
                at /apache_datafusion/datafusion/common/src/tree_node.rs:1256:32
     53: 
datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl::{{closure}}
                at /apache_datafusion/datafusion/common/src/tree_node.rs:265:13
     54: stacker::maybe_grow
                at 
/usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.17/src/lib.rs:55:9
     55: datafusion_common::tree_node::TreeNode::transform_up::transform_up_impl
                at /apache_datafusion/datafusion/common/src/tree_node.rs:260:9
     56: datafusion_common::tree_node::TreeNode::transform_up
                at /apache_datafusion/datafusion/common/src/tree_node.rs:269:9
     57: 
<datafusion::physical_optimizer::enforce_distribution::EnforceDistribution as 
datafusion_physical_optimizer::optimizer::PhysicalOptimizerRule>::optimize
                at 
/apache_datafusion/datafusion/core/src/physical_optimizer/enforce_distribution.rs:215:36
     58: 
datafusion::physical_planner::DefaultPhysicalPlanner::optimize_physical_plan
                at 
/apache_datafusion/datafusion/core/src/physical_planner.rs:1878:24
     59: <datafusion::physical_planner::DefaultPhysicalPlanner as 
datafusion::physical_planner::PhysicalPlanner>::create_physical_plan::{{closure}}
                at 
/apache_datafusion/datafusion/core/src/physical_planner.rs:184:17
     60: <core::pin::Pin<P> as core::future::future::Future>::poll
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/future/future.rs:123:9
     61: <datafusion::execution::session_state::DefaultQueryPlanner as 
datafusion::execution::context::QueryPlanner>::create_physical_plan::{{closure}}
                at 
/apache_datafusion/datafusion/core/src/execution/session_state.rs:1943:14
     62: <core::pin::Pin<P> as core::future::future::Future>::poll
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/future/future.rs:123:9
     63: 
datafusion::execution::session_state::SessionState::create_physical_plan::{{closure}}
                at 
/apache_datafusion/datafusion/core/src/execution/session_state.rs:735:14
     64: datafusion::dataframe::DataFrame::create_physical_plan::{{closure}}
                at 
/apache_datafusion/datafusion/core/src/dataframe/mod.rs:219:61
     65: 
datafusion_sqllogictest::engines::datafusion_engine::runner::run_query::{{closure}}
                at ./src/engines/datafusion_engine/runner.rs:91:42
     66: 
<datafusion_sqllogictest::engines::datafusion_engine::runner::DataFusion as 
sqllogictest::runner::AsyncDB>::run::{{closure}}
                at ./src/engines/datafusion_engine/runner.rs:60:48
     67: <core::pin::Pin<P> as core::future::future::Future>::poll
                at 
/rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/future/future.rs:123:9
     68: sqllogictest::runner::Runner<D,M>::apply_record::{{closure}}
                at 
/usr/local/cargo/git/checkouts/sqllogictest-rs-417ef58aa74844f4/98ea24e/sqllogictest/src/runner.rs:773:62
     69: sqllogictest::runner::Runner<D,M>::update_test_file::{{closure}}
                at 
/usr/local/cargo/git/checkouts/sqllogictest-rs-417ef58aa74844f4/98ea24e/sqllogictest/src/runner.rs:1412:75
     70: sqllogictests::run_complete_file::{{closure}}
                at ./bin/sqllogictests.rs:367:10
     71: sqllogictests::run_tests::{{closure}}::{{closure}}::{{closure}}
                at ./bin/sqllogictests.rs:208:83
   
   ```
   
   ### To Reproduce
   
   I can reproduce repeatable in my branch @ 
https://github.com/Omega359/arrow-datafusion/tree/feature/sqllogictest_add_sqlite
 when running the sqlite complete
   
   ```
   cargo test --features postgres --test sqllogictests -- --complete 
--postgres-runner --include-sqlite
   ```
   
   It does seem to be any particular sql in that file that is causing the issue 
but rather the complete number of them.
   
   ### Expected behavior
   
   No overflow :)
   
   ### Additional context
   
   _No response_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to