valeriansaliou / bloom

:cherry_blossom: HTTP REST API caching middleware, to be used between load balancers and REST API workers.
https://crates.io/crates/bloom-server
Mozilla Public License 2.0
712 stars 48 forks source link

Bloom depends on buggy versions of libraries #30

Open riking opened 8 months ago

riking commented 8 months ago

https://asan.saethlin.dev/ub?crate=bloom-server&version=1.34.0

This crate depends on buggy versions of redis and bytes. Please run cargo update.

warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.12.0
test cache::write::tests::it_fails_saving_cache - should panic ... thread 'cache::write::tests::it_fails_saving_cache' panicked at
'attempted to leave type `bytes::bytes::Inner` uninitialized, which is invalid', /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panicking.rs:126:5
stack backtrace:
   0: rust_begin_unwind
             at /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:617:5
   1: core::panicking::panic_nounwind_fmt
             at /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panicking.rs:96:14
   2: core::panicking::panic_nounwind
             at /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panicking.rs:126:5
   3: core::mem::uninitialized
             at /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/mem/mod.rs:692:9
   4: bytes::bytes::Inner::with_capacity
             at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-0.4.12/src/bytes.rs:1822:40
   5: bytes::bytes::Bytes::with_capacity
             at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-0.4.12/src/bytes.rs:417:20
   6: bytes::bytes::Bytes::new
             at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bytes-0.4.12/src/bytes.rs:435:9
   7: <hyper::proto::chunk::Chunk as core::default::Default>::default
             at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-0.11.27/src/proto/chunk.rs:85:29
   8: <futures::stream::concat::Concat2<S> as futures::future::Future>::poll::{{closure}}
             at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.31/src/stream/concat.rs:49:52
   9: core::result::Result<T,E>::map
             at /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:746:25
  10: <futures::stream::concat::Concat2<S> as futures::future::Future>::poll
             at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.31/src/stream/concat.rs:46:9
  11: <futures::future::map::Map<A,F> as futures::future::Future>::poll
             at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.31/src/future/map.rs:30:23
  12: futures::future::chain::Chain<A,B,C>::poll
             at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.31/src/future/chain.rs:26:23
  13: <futures::future::and_then::AndThen<A,B,F> as futures::future::Future>::poll
             at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.31/src/future/and_then.rs:32:9
  14: <alloc::boxed::Box<F> as futures::future::Future>::poll
             at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.31/src/future/mod.rs:113:13
  15: bloom::cache::write::tests::it_fails_saving_cache
             at ./src/cache/write.rs:177:17
  16: bloom::cache::write::tests::it_fails_saving_cache::{{closure}}
             at ./src/cache/write.rs:176:32
  17: core::ops::function::FnOnce::call_once
             at /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  18: core::ops::function::FnOnce::call_once
             at /root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread caused non-unwinding panic. aborting.
error: test failed, to rerun pass `--bin bloom`

Caused by:
  process didn't exit successfully: `/root/build/target/x86_64-unknown-linux-gnu/debug/deps/bloom-97cb1c8c8a589dc2` (signal: 6, SIGABRT: process abort signal)
error: 1 target failed:
valeriansaliou commented 8 months ago

Thanks! I accept PRs on this, since I have no time for OSS projects maintenance at the moment unfortunately.