Skip to content

panic in DataFusion is propegated but no failed query and file is logged in sqllogictest #18784

@rluvaton

Description

@rluvaton

Is your feature request related to a problem or challenge?

I saw that in the PR below, a panic was added to see which tests are failing in sqllogictests

but when looking at the workflow run logs, the panic is indeed logged, but there is no log for which file and query caused that failure

sqllogictests logs for the panic commit

     Running bin/sqllogictests.rs (target/release-nonlto/deps/sqllogictests-ad0ba7f016d43615)

thread 'tokio-runtime-worker' (22606) panicked at datafusion/physical-plan/src/joins/sort_merge_join/stream.rs:1573:17:
Right columns
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:698:5
   1: core::panicking::panic_fmt
             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/panicking.rs:75:14
   2: filter_record_batch_by_join_type
             at /__w/datafusion/datafusion/datafusion/physical-plan/src/joins/sort_merge_join/stream.rs:1573:17
   3: filter_joined_batch
             at /__w/datafusion/datafusion/datafusion/physical-plan/src/joins/sort_merge_join/stream.rs:1536:14
   4: poll_next
             at /__w/datafusion/datafusion/datafusion/physical-plan/src/joins/sort_merge_join/stream.rs:603:54
   5: poll_next<alloc::boxed::Box<(dyn datafusion_execution::stream::RecordBatchStream<Item=core::result::Result<arrow_array::record_batch::RecordBatch, datafusion_common::error::DataFusionError>> + core::marker::Send), alloc::alloc::Global>>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-core-0.3.31/src/stream.rs:130:33
   6: try_poll_next<core::pin::Pin<alloc::boxed::Box<(dyn datafusion_execution::stream::RecordBatchStream<Item=core::result::Result<arrow_array::record_batch::RecordBatch, datafusion_common::error::DataFusionError>> + core::marker::Send), alloc::alloc::Global>>, arrow_array::record_batch::RecordBatch, datafusion_common::error::DataFusionError>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-core-0.3.31/src/stream.rs:206:14
   7: poll<core::pin::Pin<alloc::boxed::Box<(dyn datafusion_execution::stream::RecordBatchStream<Item=core::result::Result<arrow_array::record_batch::RecordBatch, datafusion_common::error::DataFusionError>> + core::marker::Send), alloc::alloc::Global>>, alloc::vec::Vec<arrow_array::record_batch::RecordBatch, alloc::alloc::Global>>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.31/src/stream/try_stream/try_collect.rs:46:47
   8: {async_fn#0}
             at /__w/datafusion/datafusion/datafusion/physical-plan/src/common.rs:43:36
   9: {async_fn#0}<&str>
             at ./src/engines/datafusion_engine/runner.rs:131:53
  10: {async_block#0}
             at ./src/engines/datafusion_engine/runner.rs:83:84
  11: poll<alloc::boxed::Box<(dyn core::future::future::Future<Output=core::result::Result<sqllogictest::runner::DBOutput<datafusion_sqllogictest::engines::output::DFColumnType>, datafusion_sqllogictest::engines::datafusion_engine::error::DFSqlLogicTestError>> + core::marker::Send), alloc::alloc::Global>>
             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/future/future.rs:133:9
  12: {async_fn#0}<datafusion_sqllogictest::engines::datafusion_engine::runner::DataFusion, sqllogictests::run_test_file::{async_fn#0}::{closure_env#0}>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqllogictest-0.28.4/src/runner.rs:893:62
  13: {async_fn#0}<datafusion_sqllogictest::engines::datafusion_engine::runner::DataFusion, sqllogictests::run_test_file::{async_fn#0}::{closure_env#0}>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqllogictest-0.28.4/src/runner.rs:1031:56
  14: {async_fn#0}<datafusion_sqllogictest::engines::datafusion_engine::runner::DataFusion, sqllogictests::run_test_file::{async_fn#0}::{closure_env#0}>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sqllogictest-0.28.4/src/runner.rs:1007:52
  15: {async_fn#0}<datafusion_sqllogictest::engines::datafusion_engine::runner::DataFusion, sqllogictests::run_test_file::{async_fn#0}::{closure_env#0}>
             at ./bin/sqllogictests.rs:338:52
  16: {async_fn#0}
             at ./bin/sqllogictests.rs:317:60
  17: {async_block#0}
  43: set<tokio::runtime::scheduler::Context, tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure_env#0}, ()>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/scoped.rs:40:9
  44: set_scheduler<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure_env#0}>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context.rs:176:17
  45: {closure#0}
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/worker.rs:499:9
  46: enter_runtime<tokio::runtime::scheduler::multi_thread::worker::run::{closure_env#0}, ()>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/runtime.rs:65:16
  47: run
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/worker.rs:491:5
  48: {closure#0}
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/worker.rs:457:45
  49: poll<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}, ()>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/blocking/task.rs:42:21
  50: {closure#0}<tokio::runtime::blocking::task::BlockingTask<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/core.rs:365:24
  51: with_mut<tokio::runtime::task::core::Stage<tokio::runtime::blocking::task::BlockingTask<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}>>, core::task::poll::Poll<()>, tokio::runtime::task::core::{impl#6}::poll::{closure_env#0}<tokio::runtime::blocking::task::BlockingTask<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/loom/std/unsafe_cell.rs:16:9
  52: poll<tokio::runtime::blocking::task::BlockingTask<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/core.rs:354:30
  53: {closure#0}<tokio::runtime::blocking::task::BlockingTask<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:535:30
  54: call_once<core::task::poll::Poll<()>, tokio::runtime::task::harness::poll_future::{closure_env#0}<tokio::runtime::blocking::task::BlockingTask<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>>
             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/panic/unwind_safe.rs:274:9
  55: do_call<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<tokio::runtime::blocking::task::BlockingTask<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>>, core::task::poll::Poll<()>>
             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:590:40
  56: catch_unwind<core::task::poll::Poll<()>, core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<tokio::runtime::blocking::task::BlockingTask<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>>>
             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:553:19
  57: catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<tokio::runtime::task::harness::poll_future::{closure_env#0}<tokio::runtime::blocking::task::BlockingTask<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>>, core::task::poll::Poll<()>>
             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panic.rs:359:14
  58: poll_future<tokio::runtime::blocking::task::BlockingTask<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:523:18
  59: poll_inner<tokio::runtime::blocking::task::BlockingTask<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:210:27
  60: poll<tokio::runtime::blocking::task::BlockingTask<tokio::runtime::scheduler::multi_thread::worker::{impl#0}::launch::{closure_env#0}>, tokio::runtime::blocking::schedule::BlockingSchedule>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/harness.rs:155:20
  61: poll
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/raw.rs:255:18
  62: run<tokio::runtime::blocking::schedule::BlockingSchedule>
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/task/mod.rs:546:13
  63: run
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/blocking/pool.rs:161:19
  64: run
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/blocking/pool.rs:516:22
  65: {closure#0}
             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/blocking/pool.rs:474:47
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
External error: task 7010 panicked with message "Right columns"
Error: Execution("1 failures\n\nbacktrace:    0: get_back_trace\n             at /__w/datafusion/datafusion/datafusion/common/src/error.rs:496:30\n   1: {async_fn#0}\n             at ./bin/sqllogictests.rs:238:9\n   2: {closure#0}<sqllogictests::run_tests::{async_fn_env#0}>\n             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/park.rs:285:71\n   3: with_budget<core::task::poll::Poll<core::result::Result<(), datafusion_common::error::DataFusionError>>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<sqllogictests::run_tests::{async_fn_env#0}>>\n             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5\n   4: budget<core::task::poll::Poll<core::result::Result<(), datafusion_common::error::DataFusionError>>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<sqllogictests::run_tests::{async_fn_env#0}>>\n             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5\n   5: block_on<sqllogictests::run_tests::{async_fn_env#0}>\n             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/park.rs:285:31\n   6: block_on<sqllogictests::run_tests::{async_fn_env#0}>\n             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/blocking.rs:66:14\n   7: {closure#0}<sqllogictests::run_tests::{async_fn_env#0}>\n             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/mod.rs:87:22\n   8: enter_runtime<tokio::runtime::scheduler::multi_thread::{impl#0}::block_on::{closure_env#0}<sqllogictests::run_tests::{async_fn_env#0}>, core::result::Result<(), datafusion_common::error::DataFusionError>>\n             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/runtime.rs:65:16\n   9: block_on<sqllogictests::run_tests::{async_fn_env#0}>\n             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/multi_thread/mod.rs:86:9\n  10: block_on_inner<sqllogictests::run_tests::{async_fn_env#0}>\n             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:370:50\n  11: block_on<sqllogictests::run_tests::{async_fn_env#0}>\n             at /usr/local/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:342:18\n  12: main\n             at ./bin/sqllogictests.rs:61:10\n  13: call_once<fn() -> core::result::Result<(), datafusion_common::error::DataFusionError>, ()>\n             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/ops/function.rs:250:5\n  14: __rust_begin_short_backtrace<fn() -> core::result::Result<(), datafusion_common::error::DataFusionError>, core::result::Result<(), datafusion_common::error::DataFusionError>>\n             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:158:18\n  15: {closure#0}<core::result::Result<(), datafusion_common::error::DataFusionError>>\n             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/rt.rs:206:18\n  16: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once\n             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/ops/function.rs:287:21\n  17: std::panicking::catch_unwind::do_call\n             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:590:40\n  18: std::panicking::catch_unwind\n             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:553:19\n  19: std::panic::catch_unwind\n             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panic.rs:359:14\n  20: std::rt::lang_start_internal::{{closure}}\n             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/rt.rs:175:24\n  21: std::panicking::catch_unwind::do_call\n             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:590:40\n  22: std::panicking::catch_unwind\n             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:553:19\n  23: std::panic::catch_unwind\n             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panic.rs:359:14\n  24: std::rt::lang_start_internal\n             at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/rt.rs:171:5\n  25: main\n  26: <unknown>\n  27: __libc_start_main\n  28: _start\n")
error: test failed, to rerun pass `-p datafusion-sqllogictest --test sqllogictests`

Caused by:
  process didn't exit successfully: `/__w/datafusion/datafusion/target/release-nonlto/deps/sqllogictests-ad0ba7f016d43615 --include-sqlite` (exit status: 1)

Describe the solution you'd like

should display the failed slt file path and the failed query

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions