Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci err: expr_in_window cause debug assert failed #16943

Open
TCeason opened this issue Nov 26, 2024 · 4 comments
Open

ci err: expr_in_window cause debug assert failed #16943

TCeason opened this issue Nov 26, 2024 · 4 comments

Comments

@TCeason
Copy link
Collaborator

TCeason commented Nov 26, 2024

Summary

Test passed but assert failed.

Running MySQL test for file: tests/sqllogictests/suites/query/window_function/expr_in_window.test ...
panicked at src/query/expression/src/filter/selector.rs:494:17:
assertion failed: matches!(return_type, DataType::Boolean |
    DataType::Nullable(box DataType::Boolean))
   0: backtrace::backtrace::libunwind::trace
             at /opt/rust/cargo/git/checkouts/backtrace-rs-fb1f822361417489-shallow/72265be/src/backtrace/libunwind.rs:116:5
      backtrace::backtrace::trace_unsynchronized
             at /opt/rust/cargo/git/checkouts/backtrace-rs-fb1f822361417489-shallow/72265be/src/backtrace/mod.rs:66:5
      backtrace::backtrace::trace
             at /opt/rust/cargo/git/checkouts/backtrace-rs-fb1f822361417489-shallow/72265be/src/backtrace/mod.rs:53:14
   1: databend_common_tracing::panic_hook::captures_frames
             at /workspace/src/common/tracing/src/panic_hook.rs:67:5
      databend_common_tracing::panic_hook::backtrace
             at /workspace/src/common/tracing/src/panic_hook.rs:75:5
      databend_common_tracing::panic_hook::log_panic
             at /workspace/src/common/tracing/src/panic_hook.rs:48:25
   2: databend_common_tracing::panic_hook::set_panic_hook::{{closure}}
             at /workspace/src/common/tracing/src/panic_hook.rs:33:9
   3: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/alloc/src/boxed.rs:2078:9
      std::panicking::rust_panic_with_hook
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/panicking.rs:804:13
   4: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/panicking.rs:663:13
   5: std::sys::backtrace::__rust_end_short_backtrace
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/sys/backtrace.rs:171:18
   6: rust_begin_unwind
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/panicking.rs:661:5
   7: core::panicking::panic_fmt
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/core/src/panicking.rs:74:14
   8: core::panicking::panic
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/core/src/panicking.rs:148:5
   9: databend_common_expression::filter::selector::Selector::process_expr
             at /workspace/src/query/expression/src/filter/selector.rs:494:17
      databend_common_expression::filter::selector::Selector::process_others
             at /workspace/src/query/expression/src/filter/selector.rs:378:35
  10: databend_common_expression::filter::selector::Selector::process_select_expr
             at /workspace/src/query/expression/src/filter/selector.rs:135:41
  11: databend_common_expression::filter::selector::Selector::select
             at /workspace/src/query/expression/src/filter/selector.rs:69:9
      databend_common_expression::filter::filter_executor::FilterExecutor::select
             at /workspace/src/query/expression/src/filter/filter_executor.rs:87:9
  12: databend_common_expression::filter::filter_executor::FilterExecutor::filter
             at /workspace/src/query/expression/src/filter/filter_executor.rs:79:28
  13: databend_query::pipelines::processors::transforms::hash_join::common::<impl databend_query::pipelines::processors::transforms::hash_join::hash_join_probe_state::HashJoinProbeState>::get_other_predicate_result_block
             at /workspace/src/query/service/src/pipelines/processors/transforms/hash_join/common.rs:99:28
  14: databend_query::pipelines::processors::transforms::hash_join::probe_join::left_join::<impl databend_query::pipelines::processors::transforms::hash_join::hash_join_probe_state::HashJoinProbeState>::process_left_or_full_join_block
             at /workspace/src/query/service/src/pipelines/processors/transforms/hash_join/probe_join/left_join.rs:500:13
  15: databend_query::pipelines::processors::transforms::hash_join::probe_join::left_join::<impl databend_query::pipelines::processors::transforms::hash_join::hash_join_probe_state::HashJoinProbeState>::left_join_with_conjunct
             at /workspace/src/query/service/src/pipelines/processors/transforms/hash_join/probe_join/left_join.rs:312:13
      databend_query::pipelines::processors::transforms::hash_join::result_blocks::<impl databend_query::pipelines::processors::transforms::hash_join::hash_join_probe_state::HashJoinProbeState>::result_blocks
             at /workspace/src/query/service/src/pipelines/processors/transforms/hash_join/result_blocks.rs:71:21
  16: databend_query::pipelines::processors::transforms::hash_join::hash_join_probe_state::HashJoinProbeState::probe_join
             at /workspace/src/query/service/src/pipelines/processors/transforms/hash_join/hash_join_probe_state.rs:297:9
  17: databend_query::pipelines::processors::transforms::hash_join::hash_join_probe_state::HashJoinProbeState::probe
             at /workspace/src/query/service/src/pipelines/processors/transforms/hash_join/hash_join_probe_state.rs:146:18
  18: databend_query::pipelines::processors::transforms::hash_join::transform_hash_join_probe::TransformHashJoinProbe::probe_hash_table
             at /workspace/src/query/service/src/pipelines/processors/transforms/hash_join/transform_hash_join_probe.rs:479:27
  19: <databend_query::pipelines::processors::transforms::hash_join::transform_hash_join_probe::TransformHashJoinProbe as databend_common_pipeline_core::processors::processor::Processor>::process
             at /workspace/src/query/service/src/pipelines/processors/transforms/hash_join/transform_hash_join_probe.rs:354:29
  20: databend_common_pipeline_core::processors::processor::ProcessorPtr::process
             at /workspace/src/query/pipeline/core/src/processors/processor.rs:169:9
  21: databend_query::pipelines::executor::executor_worker_context::ExecutorWorkerContext::execute_sync_task
             at /workspace/src/query/service/src/pipelines/executor/executor_worker_context.rs:169:9
      databend_query::pipelines::executor::executor_worker_context::ExecutorWorkerContext::execute_task
             at /workspace/src/query/service/src/pipelines/executor/executor_worker_context.rs:132:52
  22: databend_query::pipelines::executor::query_pipeline_executor::QueryPipelineExecutor::execute_single_thread
             at /workspace/src/query/service/src/pipelines/executor/query_pipeline_executor.rs:406:35
  23: databend_query::pipelines::executor::query_pipeline_executor::QueryPipelineExecutor::execute_threads::{{closure}}::{{closure}}
             at /workspace/src/query/service/src/pipelines/executor/query_pipeline_executor.rs:378:50
      <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/core/src/panic/unwind_safe.rs:272:9
      std::panicking::try::do_call
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/panicking.rs:553:40
      std::panicking::try
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/panicking.rs:517:19
      std::panic::catch_unwind
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/panic.rs:350:14
  24: databend_common_base::runtime::catch_unwind::catch_unwind
             at /workspace/src/common/base/src/runtime/catch_unwind.rs:47:11
  25: databend_query::pipelines::executor::query_pipeline_executor::QueryPipelineExecutor::execute_threads::{{closure}}
             at /workspace/src/query/service/src/pipelines/executor/query_pipeline_executor.rs:378:34
      databend_common_base::runtime::runtime_tracker::ThreadTracker::tracking_function::{{closure}}::{{closure}}
             at /workspace/src/common/base/src/runtime/runtime_tracker.rs:208:17
      databend_common_base::runtime::thread::Thread::named_spawn::{{closure}}
             at /workspace/src/common/base/src/runtime/thread.rs:78:21
      std::sys::backtrace::__rust_begin_short_backtrace
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/sys/backtrace.rs:155:18
  26: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/thread/mod.rs:542:17
      <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/core/src/panic/unwind_safe.rs:272:9
      std::panicking::try::do_call
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/panicking.rs:553:40
      std::panicking::try
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/panicking.rs:517:19
      std::panic::catch_unwind
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/panic.rs:350:14
      std::thread::Builder::spawn_unchecked_::{{closure}}
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/thread/mod.rs:541:30
      core::ops::function::FnOnce::call_once{{vtable.shim}}
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/core/src/ops/function.rs:250:5
  27: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/alloc/src/boxed.rs:2064:9
      <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/alloc/src/boxed.rs:2064:9
      std::sys::pal::unix::thread::Thread::new::thread_start
             at /rustc/cf2df68d1f5e56803c97d91e2b1a9f1c9923c533/library/std/src/sys/pal/unix/thread.rs:108:17
  28: <unknown>
  29: <unknown>
@TCeason
Copy link
Collaborator Author

TCeason commented Nov 26, 2024

cc @forsaken628

@sundy-li
Copy link
Member

It's fixed in the latest version, could you confirm it?

@TCeason
Copy link
Collaborator Author

TCeason commented Nov 26, 2024

It's fixed in the latest version, could you confirm it?

In this action

https://github.com/databendlabs/databend/actions/runs/12022226447/job/33515660912#step:4:1

This branch contains these commit:

commit 3f446f3c3c5c821c52cfa77e3f863be91c17cc26 (HEAD -> fix_16935, origin/fix_16935)
Author: TCeason <[email protected]>
Date:   Tue Nov 26 09:12:41 2024 +0800

    fix typo err

commit 2efff2b9d8b134bcbc881ee003db5e54598ae1a4
Author: TCeason <[email protected]>
Date:   Mon Nov 25 17:27:50 2024 +0800

    chore: fix flaky ci 09_0001_json_response.sh
    
    add sleep, wait table drop success.
    
    bump rustls to 0.23.18

commit cf150d958ac5ad6041741bbde972218af955917d (upstream/main, main)
Author: TCeason <[email protected]>
Date:   Mon Nov 25 12:35:37 2024 +0800

    feat(query): add new function TO_TIMESTAMP<int, scale> (#16924)
    
    feat(query): add new function TO_TIMESTAMP(int, scale)
    
    scale support [0,6]
    
    select TO_TIMESTAMP(1, 0), TO_TIMESTAMP(1, 1), TO_TIMESTAMP(1, 2), TO_TIMESTAMP(1, 3), TO_TIMESTAMP(1, 4), TO_TIMESTAMP(1, 5), TO_TIMESTAMP(1, 6);
    ----
    1970-01-01 00:00:01.000000 1970-01-01 00:00:00.100000 1970-01-01 00:00:00.010000 1970-01-01 00:00:00.001000 1970-01-01 00:00:00.000100 1970-01-01 00:00:00.000010 1970-01-01 00:00:00.000001

@TCeason
Copy link
Collaborator Author

TCeason commented Nov 28, 2024

window_function/expr_in_window.test

In test

SELECT lag([456],8,['abc']) OVER (PARTITION BY 10)
only one SQL need to return statement err .

But I try build a debug mode databend-query run this query:

:) SELECT lag([456],8,['abc']) OVER (PARTITION BY 10);
error: APIError: QueryFailed: [1006]invalid digit found in string while evaluating function `to_uint16('abc')` in expr `to_uint16()`, during run expr: `CAST(['abc'] AS Array(UInt16))`.

It's a normal failed, and not print debug assert bt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants