Skip to content

"called Option::unwrap() on a None value" in salsa #5001

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

Closed
jonas-schievink opened this issue Jun 22, 2020 · 4 comments
Closed

"called Option::unwrap() on a None value" in salsa #5001

jonas-schievink opened this issue Jun 22, 2020 · 4 comments
Labels
A-ty type system / type inference / traits / method resolution S-unactionable Issue requires feedback, design decisions or is blocked on other work

Comments

@jonas-schievink
Copy link
Contributor

This appeared recently (perhaps with the recent typesystem fixes?) and occurs a lot on the rustc code base.

thread '<unnamed>' panicked at 'called `Option::unwrap()` on a `None` value', /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/runtime.rs:432:31
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86
   1: backtrace::backtrace::trace_unsynchronized
             at /cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print_fmt
             at src/libstd/sys_common/backtrace.rs:78
   3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
             at src/libstd/sys_common/backtrace.rs:59
   4: core::fmt::write
             at src/libcore/fmt/mod.rs:1069
   5: std::io::Write::write_fmt
             at src/libstd/io/mod.rs:1504
   6: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:62
   7: std::sys_common::backtrace::print
             at src/libstd/sys_common/backtrace.rs:49
   8: std::panicking::default_hook::{{closure}}
             at src/libstd/panicking.rs:198
   9: std::panicking::default_hook
             at src/libstd/panicking.rs:218
  10: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:511
  11: rust_begin_unwind
             at src/libstd/panicking.rs:419
  12: core::panicking::panic_fmt
             at src/libcore/panicking.rs:111
  13: core::panicking::panic
             at src/libcore/panicking.rs:54
  14: core::option::Option<T>::unwrap
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/macros/mod.rs:34
  15: salsa::runtime::Runtime<DB>::report_unexpected_cycle
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/runtime.rs:432
  16: salsa::derived::slot::Slot<DB,Q,MP>::probe
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:387
  17: salsa::derived::slot::Slot<DB,Q,MP>::read
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:144
  18: <salsa::derived::DerivedStorage<DB,Q,MP> as salsa::plumbing::QueryStorageOps<DB,Q>>::try_fetch
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived.rs:140
  19: salsa::QueryTable<DB,Q>::try_get
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/lib.rs:483
  20: salsa::QueryTable<DB,Q>::get
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/lib.rs:479
  21: <T as ra_hir_ty::db::HirDatabase>::ty
             at /home/jonas/dev/rust-analyzer/crates/ra_hir_ty/src/db.rs:21
  22: ra_hir_ty::lower::<impl ra_hir_ty::Ty>::from_hir_path_inner
             at crates/ra_hir_ty/src/lower.rs:501
  23: ra_hir_ty::lower::<impl ra_hir_ty::Ty>::from_partly_resolved_hir_path
             at crates/ra_hir_ty/src/lower.rs:0
  24: ra_hir_ty::lower::<impl ra_hir_ty::Ty>::from_hir_path
             at crates/ra_hir_ty/src/lower.rs:438
  25: ra_hir_ty::lower::<impl ra_hir_ty::Ty>::from_hir_ext
             at crates/ra_hir_ty/src/lower.rs:159
  26: ra_hir_ty::lower::<impl ra_hir_ty::Ty>::from_hir
             at crates/ra_hir_ty/src/lower.rs:145
  27: ra_hir_ty::lower::substs_from_path_segment
             at crates/ra_hir_ty/src/lower.rs:569
  28: ra_hir_ty::lower::<impl ra_hir_ty::Ty>::from_hir_path_inner
             at crates/ra_hir_ty/src/lower.rs:500
  29: ra_hir_ty::lower::<impl ra_hir_ty::Ty>::from_partly_resolved_hir_path
             at crates/ra_hir_ty/src/lower.rs:0
  30: ra_hir_ty::lower::<impl ra_hir_ty::Ty>::from_hir_path
             at crates/ra_hir_ty/src/lower.rs:438
  31: ra_hir_ty::lower::<impl ra_hir_ty::Ty>::from_hir_ext
             at crates/ra_hir_ty/src/lower.rs:159
  32: ra_hir_ty::lower::<impl ra_hir_ty::Ty>::from_hir
             at crates/ra_hir_ty/src/lower.rs:145
  33: ra_hir_ty::lower::assoc_type_bindings_from_type_bound::{{closure}}
             at crates/ra_hir_ty/src/lower.rs:727
  34: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/function.rs:285
  35: core::option::Option<T>::map
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/option.rs:456
  36: <core::iter::adapters::Map<I,F> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/mod.rs:805
  37: <core::iter::adapters::fuse::Fuse<I> as core::iter::adapters::fuse::FuseImpl<I>>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/fuse.rs:403
  38: <core::iter::adapters::fuse::Fuse<I> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/fuse.rs:69
  39: <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/flatten.rs:272
  40: <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/flatten.rs:55
  41: <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/flatten.rs:267
  42: <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/flatten.rs:55
  43: <core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/chain.rs:54
  44: <core::iter::adapters::Map<I,F> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/mod.rs:805
  45: <core::iter::adapters::flatten::FlattenCompat<I,U> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/flatten.rs:267
  46: <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/flatten.rs:55
  47: alloc::vec::Vec<T>::extend_desugared
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/liballoc/vec.rs:2193
  48: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::spec_extend
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/liballoc/vec.rs:2086
  49: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/liballoc/vec.rs:2081
  50: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/liballoc/vec.rs:1981
  51: core::iter::traits::iterator::Iterator::collect
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:1660
  52: <alloc::sync::Arc<[T]> as alloc::sync::ArcFromIter<T,I>>::from_iter
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/liballoc/sync.rs:2118
  53: <alloc::sync::Arc<[T]> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/liballoc/sync.rs:2107
  54: core::iter::traits::iterator::Iterator::collect
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:1660
  55: ra_hir_ty::lower::generic_predicates_for_param_query
             at crates/ra_hir_ty/src/lower.rs:868
  56: <ra_hir_ty::db::GenericPredicatesForParamQuery as salsa::plumbing::QueryFunction<DB>>::execute
             at /home/jonas/dev/rust-analyzer/crates/ra_hir_ty/src/db.rs:21
  57: salsa::derived::slot::Slot<DB,Q,MP>::read_upgrade::{{closure}}
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:220
  58: salsa::runtime::Runtime<DB>::execute_query_implementation
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/runtime.rs:352
  59: salsa::derived::slot::Slot<DB,Q,MP>::read_upgrade
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:217
  60: <salsa::derived::slot::Slot<DB,Q,MP> as salsa::dependency::DatabaseSlot<DB>>::maybe_changed_since
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:961
  61: salsa::dependency::Dependency<DB>::maybe_changed_since
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/dependency.rs:36
  62: salsa::derived::slot::Memo<DB,Q>::validate_memoized_value::{{closure}}
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:780
  63: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/function.rs:274
  64: core::iter::traits::iterator::Iterator::find::check::{{closure}}
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:2208
  65: core::iter::traits::iterator::Iterator::try_fold
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:1878
  66: core::iter::traits::iterator::Iterator::find
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:2212
  67: <core::iter::adapters::Filter<I,P> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/mod.rs:947
  68: salsa::derived::slot::Memo<DB,Q>::validate_memoized_value
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:778
  69: salsa::derived::slot::Slot<DB,Q,MP>::read_upgrade
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:191
  70: <salsa::derived::slot::Slot<DB,Q,MP> as salsa::dependency::DatabaseSlot<DB>>::maybe_changed_since
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:961
  71: salsa::dependency::Dependency<DB>::maybe_changed_since
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/dependency.rs:36
  72: salsa::derived::slot::Memo<DB,Q>::validate_memoized_value::{{closure}}
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:780
  73: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/function.rs:274
  74: core::iter::traits::iterator::Iterator::find::check::{{closure}}
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:2208
  75: core::iter::traits::iterator::Iterator::try_fold
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:1878
  76: core::iter::traits::iterator::Iterator::find
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:2212
  77: <core::iter::adapters::Filter<I,P> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/mod.rs:947
  78: salsa::derived::slot::Memo<DB,Q>::validate_memoized_value
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:778
  79: salsa::derived::slot::Slot<DB,Q,MP>::read_upgrade
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:191
  80: <salsa::derived::slot::Slot<DB,Q,MP> as salsa::dependency::DatabaseSlot<DB>>::maybe_changed_since
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:961
  81: salsa::dependency::Dependency<DB>::maybe_changed_since
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/dependency.rs:36
  82: salsa::derived::slot::Memo<DB,Q>::validate_memoized_value::{{closure}}
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:780
  83: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/function.rs:274
  84: core::iter::traits::iterator::Iterator::find::check::{{closure}}
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:2208
  85: core::iter::traits::iterator::Iterator::try_fold
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:1878
  86: core::iter::traits::iterator::Iterator::find
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:2212
  87: <core::iter::adapters::Filter<I,P> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/mod.rs:947
  88: salsa::derived::slot::Memo<DB,Q>::validate_memoized_value
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:778
  89: salsa::derived::slot::Slot<DB,Q,MP>::read_upgrade
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:191
  90: <salsa::derived::slot::Slot<DB,Q,MP> as salsa::dependency::DatabaseSlot<DB>>::maybe_changed_since
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:961
  91: salsa::dependency::Dependency<DB>::maybe_changed_since
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/dependency.rs:36
  92: salsa::derived::slot::Memo<DB,Q>::validate_memoized_value::{{closure}}
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:780
  93: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/function.rs:274
  94: core::iter::traits::iterator::Iterator::find::check::{{closure}}
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:2208
  95: core::iter::traits::iterator::Iterator::try_fold
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:1878
  96: core::iter::traits::iterator::Iterator::find
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:2212
  97: <core::iter::adapters::Filter<I,P> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/mod.rs:947
  98: salsa::derived::slot::Memo<DB,Q>::validate_memoized_value
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:778
  99: salsa::derived::slot::Slot<DB,Q,MP>::read_upgrade
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:191
 100: <salsa::derived::slot::Slot<DB,Q,MP> as salsa::dependency::DatabaseSlot<DB>>::maybe_changed_since
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:961
 101: salsa::dependency::Dependency<DB>::maybe_changed_since
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/dependency.rs:36
 102: salsa::derived::slot::Memo<DB,Q>::validate_memoized_value::{{closure}}
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:780
 103: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/function.rs:274
 104: core::iter::traits::iterator::Iterator::find::check::{{closure}}
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:2208
 105: core::iter::traits::iterator::Iterator::try_fold
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:1878
 106: core::iter::traits::iterator::Iterator::find
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/traits/iterator.rs:2212
 107: <core::iter::adapters::Filter<I,P> as core::iter::traits::iterator::Iterator>::next
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/iter/adapters/mod.rs:947
 108: salsa::derived::slot::Memo<DB,Q>::validate_memoized_value
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:778
 109: salsa::derived::slot::Slot<DB,Q,MP>::read_upgrade
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:191
 110: salsa::derived::slot::Slot<DB,Q,MP>::read
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived/slot.rs:149
 111: <salsa::derived::DerivedStorage<DB,Q,MP> as salsa::plumbing::QueryStorageOps<DB,Q>>::try_fetch
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/derived.rs:140
 112: salsa::QueryTable<DB,Q>::try_get
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/lib.rs:483
 113: salsa::QueryTable<DB,Q>::get
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/salsa-0.14.1/src/lib.rs:479
 114: <T as ra_hir_ty::db::HirDatabase>::infer_query
             at /home/jonas/dev/rust-analyzer/crates/ra_hir_ty/src/db.rs:21
 115: ra_hir_ty::db::infer_wait
             at /home/jonas/dev/rust-analyzer/crates/ra_hir_ty/src/db.rs:137
 116: ra_hir::code_model::Function::diagnostics
             at crates/ra_hir/src/code_model.rs:680
 117: ra_hir::code_model::Module::diagnostics
             at crates/ra_hir/src/code_model.rs:322
 118: ra_ide::diagnostics::diagnostics
             at crates/ra_ide/src/diagnostics.rs:133
 119: ra_ide::Analysis::diagnostics::{{closure}}
             at crates/ra_ide/src/lib.rs:488
 120: ra_db::CheckCanceled::catch_canceled::{{closure}}
             at /home/jonas/dev/rust-analyzer/crates/ra_db/src/lib.rs:61
 121: std::panicking::try::do_call
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panicking.rs:331
 122: std::panicking::try
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panicking.rs:274
 123: std::panic::catch_unwind
             at /home/jonas/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panic.rs:394
 124: ra_db::CheckCanceled::catch_canceled
             at /home/jonas/dev/rust-analyzer/crates/ra_db/src/lib.rs:61
 125: ra_ide::Analysis::with_db
             at crates/ra_ide/src/lib.rs:517
 126: ra_ide::Analysis::diagnostics
             at crates/ra_ide/src/lib.rs:488
 127: rust_analyzer::main_loop::handlers::publish_diagnostics
             at crates/rust-analyzer/src/main_loop/handlers.rs:954
 128: rust_analyzer::main_loop::update_file_notifications_on_threadpool::{{closure}}
             at crates/rust-analyzer/src/main_loop.rs:927
 129: <F as threadpool::FnBox>::call_box
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/threadpool-1.8.1/src/lib.rs:95
 130: threadpool::spawn_in_pool::{{closure}}
             at /home/jonas/.cargo/registry/src/gb.xjqchip.workers.dev-1ecc6299db9ec823/threadpool-1.8.1/src/lib.rs:769
@jonas-schievink jonas-schievink added the A-ty type system / type inference / traits / method resolution label Jun 22, 2020
@jonas-schievink
Copy link
Contributor Author

This seems to happen when looking at crates/proc_macro_srv/src/proc_macro/bridge/mod.rs

@lnicola
Copy link
Member

lnicola commented Jan 22, 2021

Are you still seeing this? I can't reproduce in crates/proc_macro_srv/src/proc_macro/bridge/mod.rs.

@lnicola lnicola added the S-unactionable Issue requires feedback, design decisions or is blocked on other work label Jan 22, 2021
@jonas-schievink
Copy link
Contributor Author

I just saw this, but don't know which commit that was. Now I can't reproduce it on master.

@flodiebold
Copy link
Member

Oh, I think this is salsa-rs/salsa#257. I think I fixed this happening on valid code (but not on actual cycles) with #8133.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-ty type system / type inference / traits / method resolution S-unactionable Issue requires feedback, design decisions or is blocked on other work
Projects
None yet
Development

No branches or pull requests

3 participants