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

bug: timezone-dependent exprs panic in StreamValues #13184

Closed
xiangjinwu opened this issue Oct 31, 2023 · 0 comments · Fixed by #13217
Closed

bug: timezone-dependent exprs panic in StreamValues #13184

xiangjinwu opened this issue Oct 31, 2023 · 0 comments · Fixed by #13217
Assignees
Labels
type/bug Something isn't working
Milestone

Comments

@xiangjinwu
Copy link
Contributor

Describe the bug

No response

Error message/log

No response

To Reproduce

This is ok:

create materialized view mv1 as with t(v1) as (values ('2020-01-01')) select v1::timestamptz from t;

But this one panics:

create materialized view mv1 as select '2020-01-01'::timestamptz;
thread 'risingwave-main' panicked at /Users/xiangjin/primary/risingwave-dev/src/stream/src/from_proto/values.rs:57:93:
called `Result::unwrap()` on an `Err` value: UnsupportedFunction("cast(character varying) -> timestamp with time zone")
stack backtrace:
   0: rust_begin_unwind
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:597:5
   1: core::panicking::panic_fmt
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/panicking.rs:72:14
   2: core::result::unwrap_failed
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/result.rs:1653:5
   3: core::result::Result<T,E>::unwrap
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/result.rs:1077:23
   4: <risingwave_stream::from_proto::values::ValuesExecutorBuilder as risingwave_stream::from_proto::ExecutorBuilder>::new_boxed_executor::{{closure}}::{{closure}}::{{closure}}
             at ./src/stream/src/from_proto/values.rs:57:25
   5: core::iter::adapters::map::map_fold::{{closure}}
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/iter/adapters/map.rs:84:28
   6: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::fold
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/slice/iter/macros.rs:232:27
   7: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/iter/adapters/map.rs:124:9
   8: core::iter::traits::iterator::Iterator::for_each
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/iter/traits/iterator.rs:857:9
   9: alloc::vec::Vec<T,A>::extend_trusted
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/alloc/src/vec/mod.rs:2882:17
  10: <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/alloc/src/vec/spec_extend.rs:26:9
  11: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/alloc/src/vec/spec_from_iter_nested.rs:62:9
  12: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/alloc/src/vec/spec_from_iter.rs:33:9
  13: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/alloc/src/vec/mod.rs:2750:9
  14: core::iter::traits::iterator::Iterator::collect
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/iter/traits/iterator.rs:2053:9
  15: itertools::Itertools::collect_vec
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/itertools-0.11.0/src/lib.rs:2154:9
  16: <risingwave_stream::from_proto::values::ValuesExecutorBuilder as risingwave_stream::from_proto::ExecutorBuilder>::new_boxed_executor::{{closure}}::{{closure}}
             at ./src/stream/src/from_proto/values.rs:53:17
  17: core::iter::adapters::map::map_fold::{{closure}}
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/iter/adapters/map.rs:84:28
  18: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::fold
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/slice/iter/macros.rs:232:27
  19: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/iter/adapters/map.rs:124:9
  20: core::iter::traits::iterator::Iterator::for_each
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/iter/traits/iterator.rs:857:9
  21: alloc::vec::Vec<T,A>::extend_trusted
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/alloc/src/vec/mod.rs:2882:17
  22: <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/alloc/src/vec/spec_extend.rs:26:9
  23: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/alloc/src/vec/spec_from_iter_nested.rs:62:9
  24: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/alloc/src/vec/spec_from_iter.rs:33:9
  25: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/alloc/src/vec/mod.rs:2750:9
  26: core::iter::traits::iterator::Iterator::collect
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/iter/traits/iterator.rs:2053:9
  27: itertools::Itertools::collect_vec
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/itertools-0.11.0/src/lib.rs:2154:9
  28: <risingwave_stream::from_proto::values::ValuesExecutorBuilder as risingwave_stream::from_proto::ExecutorBuilder>::new_boxed_executor::{{closure}}
             at ./src/stream/src/from_proto/values.rs:49:20
  29: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/future/future.rs:125:9
  30: risingwave_stream::from_proto::create_executor::{{closure}}
             at ./src/stream/src/from_proto/mod.rs:128:5
  31: risingwave_stream::task::stream_manager::LocalStreamManagerCore::create_nodes_inner::{{closure}}
             at ./src/stream/src/task/stream_manager.rs:585:76
  32: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/future/future.rs:125:9
  33: risingwave_stream::task::stream_manager::LocalStreamManagerCore::create_nodes_inner::{{closure}}
             at ./src/stream/src/task/stream_manager.rs:545:18
  34: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/future/future.rs:125:9
  35: risingwave_stream::task::stream_manager::LocalStreamManagerCore::create_nodes::{{closure}}
             at ./src/stream/src/task/stream_manager.rs:639:14
  36: risingwave_stream::task::stream_manager::LocalStreamManagerCore::build_actors::{{closure}}
             at ./src/stream/src/task/stream_manager.rs:680:18
  37: risingwave_stream::task::stream_manager::LocalStreamManager::build_actors::{{closure}}
             at ./src/stream/src/task/stream_manager.rs:389:40
  38: <risingwave_compute::rpc::service::stream_service::StreamServiceImpl as risingwave_pb::stream_service::stream_service_server::StreamService>::build_actors::{{closure}}
             at ./src/compute/src/rpc/service/stream_service.rs:75:14
  39: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/future/future.rs:125:9
  40: <<risingwave_pb::stream_service::stream_service_server::StreamServiceServer<T> as tower_service::Service<http::request::Request<B>>>::call::BuildActorsSvc<T> as tonic::server::service::UnaryService<risingwave_pb::stream_service::BuildActorsRequest>>::call::{{closure}}
             at ./src/prost/src/stream_service.rs:692:85
  41: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/future/future.rs:125:9
  42: tonic::server::grpc::Grpc<T>::unary::{{closure}}
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tonic-0.10.2/src/server/grpc.rs:250:14
  43: <risingwave_pb::stream_service::stream_service_server::StreamServiceServer<T> as tower_service::Service<http::request::Request<B>>>::call::{{closure}}
             at ./src/prost/src/stream_service.rs:715:59
  44: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/future/future.rs:125:9
  45: <tokio::task::task_local::TaskLocalFuture<T,F> as core::future::future::Future>::poll::{{closure}}
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/task/task_local.rs:347:31
  46: tokio::task::task_local::LocalKey<T>::scope_inner
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/task/task_local.rs:217:19
  47: <tokio::task::task_local::TaskLocalFuture<T,F> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/task/task_local.rs:343:19
  48: await_tree::registry::TreeRoot::instrument::{{closure}}
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/await-tree-0.1.1/src/registry.rs:51:45
  49: <risingwave_compute::rpc::service::monitor_service::grpc_middleware::AwaitTreeMiddleware<S> as tower_service::Service<http::request::Request<hyper::body::body::Body>>>::call::{{closure}}
             at ./src/compute/src/rpc/service/monitor_service.rs:320:50
  50: <either::Either<L,R> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/either-1.9.0/src/lib.rs:1143:47
  51: <F as futures_core::future::TryFuture>::try_poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-core-0.3.28/src/future.rs:82:9
  52: <futures_util::future::try_future::into_future::IntoFuture<Fut> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.28/src/future/try_future/into_future.rs:34:9
  53: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.28/src/future/future/map.rs:55:37
  54: <futures_util::future::future::Map<Fut,F> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.28/src/lib.rs:91:13
  55: <futures_util::future::try_future::MapOk<Fut,F> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.28/src/lib.rs:91:13
  56: <tower::util::map_response::MapResponseFuture<F,N> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/macros.rs:38:17
  57: <F as futures_core::future::TryFuture>::try_poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-core-0.3.28/src/future.rs:82:9
  58: <futures_util::future::try_future::into_future::IntoFuture<Fut> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.28/src/future/try_future/into_future.rs:34:9
  59: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.28/src/future/future/map.rs:55:37
  60: <futures_util::future::future::Map<Fut,F> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.28/src/lib.rs:91:13
  61: <futures_util::future::try_future::MapOk<Fut,F> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.28/src/lib.rs:91:13
  62: <tower::util::map_response::MapResponseFuture<F,N> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/macros.rs:38:17
  63: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/future/future.rs:125:9
  64: <tower::util::oneshot::Oneshot<S,Req> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:97:38
  65: <axum::routing::route::RouteFuture<B,E> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/axum-0.6.20/src/routing/route.rs:161:61
  66: <tonic::transport::service::router::RoutesFuture as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tonic-0.10.2/src/transport/service/router.rs:134:22
  67: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.37/src/instrument.rs:272:9
  68: <risingwave_common_service::tracing::TracingExtract<S> as tower_service::Service<http::request::Request<hyper::body::body::Body>>>::call::{{closure}}
             at ./src/common/common_service/src/tracing.rs:86:46
  69: <tonic::transport::service::grpc_timeout::ResponseFuture<F> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tonic-0.10.2/src/transport/service/grpc_timeout.rs:87:38
  70: <tower::util::either::Either<A,B> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/either.rs:71:57
  71: <tonic::transport::server::recover_error::ResponseFuture<F> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tonic-0.10.2/src/transport/server/recover_error.rs:59:20
  72: <tonic::transport::server::SvcFuture<F> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tonic-0.10.2/src/transport/server/mod.rs:804:50
  73: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/future/future.rs:125:9
  74: hyper::proto::h2::server::H2Stream<F,B>::poll2
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-0.14.27/src/proto/h2/server.rs:458:37
  75: <hyper::proto::h2::server::H2Stream<F,B> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-0.14.27/src/proto/h2/server.rs:546:9
  76: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.37/src/instrument.rs:272:9
  77: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/core.rs:334:17
  78: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/loom/std/unsafe_cell.rs:16:9
  79: tokio::runtime::task::core::Core<T,S>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/core.rs:323:13
  80: tokio::runtime::task::harness::poll_future::{{closure}}
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:485:19
  81: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/core/src/panic/unwind_safe.rs:271:9
  82: std::panicking::try::do_call
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:504:40
  83: ___rust_try
  84: std::panicking::try
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panicking.rs:468:19
  85: std::panic::catch_unwind
             at /rustc/249624b5043013d18c00f0401ca431c1a6baa8cd/library/std/src/panic.rs:142:14
  86: tokio::runtime::task::harness::poll_future
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:473:18
  87: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:208:27
  88: tokio::runtime::task::harness::Harness<T,S>::poll
             at /Users/xiangjin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/runtime/task/harness.rs:153:15
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.


*** await tree context of current task ***

/stream_service.StreamService/BuildActors [1.260s]


/var/folders/_y/ts1zf3pd34v6vy7754rfgtnw0000gn/T/fsio_zp2SOFz51c.sh: line 10: 56584 Abort trap: 6           target/${RISEDEV_BUILD_TARGET_DIR}${BUILD_MODE_DIR}/risingwave playground $@

Expected behavior

No response

How did you deploy RisingWave?

No response

The version of RisingWave

No response

Additional context

No response

@xiangjinwu xiangjinwu added the type/bug Something isn't working label Oct 31, 2023
@xiangjinwu xiangjinwu self-assigned this Oct 31, 2023
@github-actions github-actions bot added this to the release-1.5 milestone Oct 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant