8000 bug: range scan datum deserialization panicked at 'assertion failed: self.remaining() >= dst.len()' · Issue #7158 · risingwavelabs/risingwave · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
bug: range scan datum deserialization panicked at 'assertion failed: self.remaining() >= dst.len()' #7158
Closed
@lmatz

Description

@lmatz

Describe the bug

thread '<unnamed>' panicked at 'assertion failed: self.remaining() >= dst.len()', /risingwave/.cargo/registry/src/github.com-1ecc6299db9ec823/bytes-1.2.1/src/buf/buf_impl.rs:253:9
--
  | stack backtrace:
  | 0: rust_begin_unwind
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/std/src/panicking.rs:575:5
  | 1: core::panicking::panic_fmt
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/panicking.rs:64:14
  | 2: core::panicking::panic
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/panicking.rs:111:5
  | 3: bytes::buf::buf_impl::Buf::copy_to_slice
  | at ./.cargo/registry/src/github.com-1ecc6299db9ec823/bytes-1.2.1/src/buf/buf_impl.rs:253:9
  | 4: bytes::buf::buf_impl::Buf::get_i64_le
  | at ./.cargo/registry/src/github.com-1ecc6299db9ec823/bytes-1.2.1/src/buf/buf_impl.rs:554:9
  | 5: risingwave_common::util::value_encoding::deserialize_value
  | 6: risingwave_common::util::value_encoding::inner_deserialize_datum
  | at ./src/common/src/util/value_encoding/mod.rs:62:19
  | 7: risingwave_common::util::value_encoding::deserialize_datum
  | at ./src/common/src/util/value_encoding/mod.rs:53:5
  | 8: risingwave_batch::executor::row_seq_scan::ScanRange::new::{{closure}}
  | at ./src/batch/src/executor/row_seq_scan.rs:86:21
  | 9: core::iter::adapters::map::map_try_fold::{{closure}}
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/adapters/map.rs:91:28
  | 10: core::iter::traits::iterator::Iterator::try_fold
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/traits/iterator.rs:2238:21
  | 11: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/adapters/map.rs:117:9
  | 12: <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::try_fold
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/adapters/mod.rs:195:9
  | 13: core::iter::traits::iterator::Iterator::try_for_each
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/traits/iterator.rs:2299:9
  | 14: <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::next
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/adapters/mod.rs:178:9
  | 15: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/alloc/src/vec/spec_from_iter_nested.rs:26:32
  | 16: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/alloc/src/vec/spec_from_iter.rs:33:9
  | 17: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/alloc/src/vec/mod.rs:2748:9
  | 18: core::iter::traits::iterator::Iterator::collect
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/traits/iterator.rs:1836:9
  | 19: <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter::{{closure}}
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/result.rs:2075:49
  | 20: core::iter::adapters::try_process
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/adapters/mod.rs:164:17
  | 21: <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/result.rs:2075:9
  | 22: core::iter::traits::iterator::Iterator::collect
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/traits/iterator.rs:1836:9
  | 23: itertools::Itertools::try_collect
  | at ./.cargo/registry/src/github.com-1ecc6299db9ec823/itertools-0.10.5/src/lib.rs:2014:9
  | 24: risingwave_batch::executor::row_seq_scan::ScanRange::new
  | at ./src/batch/src/executor/row_seq_scan.rs:81:13
  | 25: <risingwave_batch::executor::row_seq_scan::RowSeqScanExecutorBuilder as risingwave_batch::executor::BoxedExecutorBuilder>::new_boxed_executor::{{closure}}::{{closure}}
  | at ./src/batch/src/executor/row_seq_scan.rs:237:39
  | 26: core::iter::adapters::map::map_try_fold::{{closure}}
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/adapters/map.rs:91:28
  | 27: core::iter::traits::iterator::Iterator::try_fold
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/traits/iterator.rs:2238:21
  | 28: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/adapters/map.rs:117:9
  | 29: <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::try_fold
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/adapters/mod.rs:195:9
  | 30: core::iter::traits::iterator::Iterator::try_for_each
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/traits/iterator.rs:2299:9
  | 31: <core::iter::adapters::GenericShunt<I,R> as core::iter::traits::iterator::Iterator>::next
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/adapters/mod.rs:178:9
  | 32: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/alloc/src/vec/spec_from_iter_nested.rs:26:32
  | 33: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/alloc/src/vec/spec_from_iter.rs:33:9
  | 34: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/alloc/src/vec/mod.rs:2748:9
  | 35: core::iter::traits::iterator::Iterator::collect
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/traits/iterator.rs:1836:9
  | 36: <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter::{{closure}}
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/result.rs:2075:49
  | 37: core::iter::adapters::try_process
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/adapters/mod.rs:164:17
  | 38: <core::result::Result<V,E> as core::iter::traits::collect::FromIterator<core::result::Result<A,E>>>::from_iter
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/result.rs:2075:9
  | 39: core::iter::traits::iterator::Iterator::collect
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/iter/traits/iterator.rs:1836:9
  | 40: itertools::Itertools::try_collect
  | at ./.cargo/registry/src/github.com-1ecc6299db9ec823/itertools-0.10.5/src/lib.rs:2014:9
  | 41: <risingwave_batch::executor::row_seq_scan::RowSeqScanExecutorBuilder as risingwave_batch::executor::BoxedExecutorBuilder>::new_boxed_executor::{{closure}}
  | at ./src/batch/src/executor/row_seq_scan.rs:235:17
  | 42: <core::pin::Pin<P> as core::future::future::Future>::poll
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/future/future.rs:124:9
  | 43: risingwave_batch::executor::ExecutorBuilder<C>::try_build::{{closure}}
  | at ./src/batch/src/executor/mod.rs:195:29
  | 44: <core::pin::Pin<P> as core::future::future::Future>::poll
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/future/future.rs:124:9
  | 45: risingwave_batch::executor::ExecutorBuilder<C>::build::{{closure}}
  | at ./src/batch/src/executor/mod.rs:179:25
  | 46: risingwave_batch::executor::ExecutorBuilder<C>::try_build::{{closure}}
  | at ./src/batch/src/executor/mod.rs:191:64
  | 47: <core::pin::Pin<P> as core::future::future::Future>::poll
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/future/future.rs:124:9
  | 48: risingwave_batch::executor::ExecutorBuilder<C>::build::{{closure}}
  | at ./src/batch/src/executor/mod.rs:179:25
  | 49: risingwave_batch::task::task_execution::BatchTaskExecution<C>::async_execute::{{closure}}
  | at ./src/batch/src/task/task_execution.rs:273:9
  | 50: risingwave_batch::task::task_manager::BatchManager::fire_task::{{closure}}
  | at ./src/batch/src/task/task_manager.rs:96:37
  | 51: <risingwave_batch::rpc::service::task_service::BatchServiceImpl as risingwave_pb::task_service::task_service_server::TaskService>::create_task::{{closure}}
  | at ./src/batch/src/rpc/service/task_service.rs:73:13
  | 52: <core::pin::Pin<P> as core::future::future::Future>::poll
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/future/future.rs:124:9
  | 53: <risingwave_pb::task_service::task_service_server::TaskServiceServer<T,F> as tower_service::Service<(http::uri::path::PathAndQuery,tonic::request::Request<core::pin::Pin<alloc::boxed::Box<dyn futures_core::stream::Stream+Item = core::result::Result<alloc::boxed::Box<dyn core::any::Any+core::marker::Sync+core::marker::Send>,tonic::status::Status>+core::marker::Send>>>)>>::call::{{closure}}
  | at ./src/prost/src/sim/task_service.rs:478:29
  | 54: <core::pin::Pin<P> as core::future::future::Future>::poll
  | at /rustc/bdb07a8ec8e77aa10fb84fae1d4ff71c21180bb4/library/core/src/future/future.rs:124:9
  | 55: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
  | at ./.cargo/registry/src/github.com-1ecc6299db9ec823/tracing-0.1.37/src/instrument.rs:272:9
  | 56: madsim_tonic::sim::transport::server::Router<L>::serve_with_shutdown::{{closure}}::{{closure}}::{{closure}}
  | at ./.cargo/registry/src/github.com-1ecc6299db9ec823/madsim-tonic-0.2.11/src/transport/server.rs:262:56
  | 57: async_task::raw::RawTask<F,T,S>::run
  | at ./.cargo/registry/src/github.com-1ecc6299db9ec823/async-task-4.3.0/src/raw.rs:511:20
  | 58: madsim::sim::task::Executor::run_all_ready
  | at ./.cargo/registry/src/github.com-1ecc6299db9ec823/madsim-0.2.12/src/sim/task.rs:209:17
  | 59: madsim::sim::task::Executor::block_on
  | at ./.cargo/registry/src/github.com-1ecc6299db9ec823/madsim-0.2.12/src/sim/task.rs:159:13
  | 60: madsim::sim::runtime::Runtime::block_on
  | at ./.cargo/registry/src/github.com-1ecc6299db9ec823/madsim-0.2.12/src/sim/runtime/mod.rs:124:9
  | 61: madsim::sim::runtime::builder::Builder::run::{{closure}}::{{closure}}::{{closure}}
  | at ./.cargo/registry/src/github.com-1ecc6299db9ec823/madsim-0.2.12/src/sim/runtime/builder.rs:128:35
  | note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
  | note: run with `MADSIM_TEST_SEED=34` environment variable to reproduce this error
  | and make sure `MADSIM_CONFIG_HASH=1AD2E4ABC41F3553`

Plan

                                                      QUERY PLAN
----------------------------------------------------------------------------------------------------------------------
 BatchProject { exprs: [1:Int32] }
 └─BatchHashAgg { group_key: [m5.col_0, orders.o_totalprice], aggs: [] }
   └─BatchHashJoin { type: Inner, predicate: m5.col_0::Int64 = orders.o_orderkey }
     ├─BatchExchange { order: [], dist: Single }
     | └─BatchProject { exprs: [m5.col_0, m5.col_0::Int64] }
     |   └─BatchFilter { predicate: ('27538':Varchar::Int16 = m5.col_0) }
     |     └─BatchScan { table: m5, columns: [col_0] }
     └─BatchExchange { order: [], dist: Single }
       └─BatchProject { exprs: [orders.o_totalprice, orders.o_orderkey] }
         └─BatchScan { table: orders, columns: [o_orderkey, o_totalprice], scan_ranges: [o_orderkey = Int32(27538)] }

Local logs from running gist below

compute-node-5688.log
meta-node-5690.log
frontend-4566.log

To Reproduce

CREATE TABLE partsupp (
                          ps_partkey INTEGER,
                          ps_suppkey INTEGER,
                          ps_availqty INTEGER,
                          ps_supplycost NUMERIC,
                          ps_comment VARCHAR,
                          PRIMARY KEY (ps_partkey, ps_suppkey)
);

CREATE TABLE orders (
                        o_orderkey BIGINT,
                        o_custkey INTEGER,
                        o_orderstatus VARCHAR,
                        o_totalprice NUMERIC,
                        o_orderdate DATE,
                        o_orderpriority VARCHAR,
                        o_clerk VARCHAR,
                        o_shippriority INTEGER,
                        o_comment VARCHAR,
                        PRIMARY KEY (o_orderkey)
);

CREATE MATERIALIZED VIEW m5 AS SELECT 0::int AS col_0 FROM partsupp;

SELECT
    1
FROM
    m5 JOIN orders ON m5.col_0 = orders.o_orderkey
GROUP BY
    m5.col_0,
    orders.o_totalprice
HAVING
    SMALLINT '27538' = m5.col_0;

Expected behavior

No response

Additional context

https://buildkite.com/risingwavelabs/main-cron/builds/292#018574f6-e819-41db-ba51-80363d49c625

Metadata

Metadata

Assignees

Labels

type/bugType: Bug. Only for issues.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0