Skip to content

Stack overflows when planning tpcds 22 in debug mode #4786

@alamb

Description

@alamb

Describe the bug
While we fixed some stack overflows in #4065

When planning some complex queries in debug mode, DataFusion will overflow its stack

This happens on the CI builders

To Reproduce
Unignore tests in tpcds_planning suite:

diff --git a/datafusion/core/tests/tpcds_planning.rs b/datafusion/core/tests/tpcds_planning.rs
index 7359f3906..1e3cea8be 100644
--- a/datafusion/core/tests/tpcds_planning.rs
+++ b/datafusion/core/tests/tpcds_planning.rs
@@ -343,7 +343,6 @@ async fn tpcds_logical_q63() -> Result<()> {
     create_logical_plan(63).await
 }
 
-#[ignore] // thread 'q64' has overflowed its stack]
 #[tokio::test]
 async fn tpcds_logical_q64() -> Result<()> {
     create_logical_plan(64).await
@@ -851,7 +850,6 @@ async fn tpcds_physical_q63() -> Result<()> {
     create_physical_plan(63).await
 }
 
-#[ignore] // thread 'q64' has overflowed its stack
 #[tokio::test]
 async fn tpcds_physical_q64() -> Result<()> {
     create_physical_plan(64).await

Run on my machine (MacOS) like:

RUST_MIN_STACK=1000000 cargo  test --test tpcds_planning 
...
running 198 tests
test tpcds_logical_q22 ... ok

thread 'tpcds_logical_q1' has overflowed its stack
fatal runtime error: stack overflow
error: test failed, to rerun pass `-p datafusion --test tpcds_planning`

Expected behavior
No stack overflow

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions