Skip to content

salsa-related panic: "should have the ingredient index available" #115

@sharkdp

Description

@sharkdp

Occurred twice today in mypy_primer CI runs, went away when retrying:

thread '<unnamed>' panicked at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/zalsa.rs:269:14:
should have the ingredient index available
Full backtrace
thread '<unnamed>' panicked at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/zalsa.rs:269:14:
should have the ingredient index available
stack backtrace:
   0: rust_begin_unwind
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:695:5
   1: core::panicking::panic_fmt
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:75:14
   2: core::panicking::panic_display
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panicking.rs:261:5
   3: core::option::expect_failed
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/option.rs:2024:5
   4: core::option::Option<T>::expect
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/option.rs:933:21
   5: salsa::zalsa::Zalsa::lookup_page_type_id
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/zalsa.rs:265:10
   6: red_knot_python_semantic::types::class::_::<impl salsa::id::FromIdWithDb for red_knot_python_semantic::types::class::ClassLiteralType>::from_id
             at /tmp/mypy_primer/knot_old/ruff/crates/red_knot_python_semantic/src/types/class.rs:451:63
   7: <red_knot_python_semantic::types::class::ClassLiteralType::inheritance_cycle::inheritance_cycle_::Configuration_ as salsa::function::Configuration>::id_to_input
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/components/salsa-macro-rules/src/setup_tracked_fn.rs:225:29
   8: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/execute.rs:59:48
   9: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/fetch.rs:195:20
  10: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::refresh_memo::{{closure}}
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/fetch.rs:54:29
  11: core::option::Option<T>::or_else
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/option.rs:1552:21
  12: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::refresh_memo
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/fetch.rs:52:33
  13: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/fetch.rs:18:20
  14: red_knot_python_semantic::types::class::ClassLiteralType::inheritance_cycle::inheritance_cycle_::{{closure}}
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/components/salsa-macro-rules/src/setup_tracked_fn.rs:341:25
  15: salsa::attach::Attached::attach
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/attach.rs:72:9
  16: salsa::attach::attach::{{closure}}
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/attach.rs:92:23
  17: std::thread::local::LocalKey<T>::try_with
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:310:12
  18: std::thread::local::LocalKey<T>::with
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:274:15
  19: salsa::attach::attach
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/attach.rs:92:5
  20: red_knot_python_semantic::types::class::ClassLiteralType::inheritance_cycle::inheritance_cycle_
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/components/salsa-macro-rules/src/setup_tracked_fn.rs:333:13
  21: red_knot_python_semantic::types::class::ClassLiteralType::inheritance_cycle
             at /tmp/mypy_primer/knot_old/ruff/crates/red_knot_python_semantic/src/types/class.rs:458:1
  22: red_knot_python_semantic::types::infer::TypeInferenceBuilder::check_class_definitions
             at /tmp/mypy_primer/knot_old/ruff/crates/red_knot_python_semantic/src/types/infer.rs:750:46
  23: red_knot_python_semantic::types::infer::TypeInferenceBuilder::infer_region_scope
             at /tmp/mypy_primer/knot_old/ruff/crates/red_knot_python_semantic/src/types/infer.rs:718:9
  24: red_knot_python_semantic::types::infer::TypeInferenceBuilder::infer_region
             at /tmp/mypy_primer/knot_old/ruff/crates/red_knot_python_semantic/src/types/infer.rs:664:46
  25: red_knot_python_semantic::types::infer::TypeInferenceBuilder::finish
             at /tmp/mypy_primer/knot_old/ruff/crates/red_knot_python_semantic/src/types/infer.rs:6554:9
  26: <red_knot_python_semantic::types::infer::infer_scope_types::Configuration_ as salsa::function::Configuration>::execute::inner_
             at /tmp/mypy_primer/knot_old/ruff/crates/red_knot_python_semantic/src/types/infer.rs:124:5
  27: <red_knot_python_semantic::types::infer::infer_scope_types::Configuration_ as salsa::function::Configuration>::execute
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/components/salsa-macro-rules/src/setup_tracked_fn.rs:204:21
  28: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/execute.rs:59:33
  29: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/fetch.rs:195:20
  30: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::refresh_memo::{{closure}}
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/fetch.rs:54:29
  31: core::option::Option<T>::or_else
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/option.rs:1552:21
  32: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::refresh_memo
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/fetch.rs:52:33
  33: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/fetch.rs:18:20
  34: red_knot_python_semantic::types::infer::infer_scope_types::{{closure}}
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/components/salsa-macro-rules/src/setup_tracked_fn.rs:341:25
  35: salsa::attach::Attached::attach
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/attach.rs:72:9
  36: salsa::attach::attach::{{closure}}
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/attach.rs:92:23
  37: std::thread::local::LocalKey<T>::try_with
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:310:12
  38: std::thread::local::LocalKey<T>::with
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:274:15
  39: salsa::attach::attach
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/attach.rs:92:5
  40: red_knot_python_semantic::types::infer::infer_scope_types
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/components/salsa-macro-rules/src/setup_tracked_fn.rs:333:13
  41: <red_knot_python_semantic::types::check_types::Configuration_ as salsa::function::Configuration>::execute::inner_
             at /tmp/mypy_primer/knot_old/ruff/crates/red_knot_python_semantic/src/types.rs:89:22
  42: <red_knot_python_semantic::types::check_types::Configuration_ as salsa::function::Configuration>::execute
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/components/salsa-macro-rules/src/setup_tracked_fn.rs:204:21
  43: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/execute.rs:59:33
  44: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/fetch.rs:195:20
  45: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::refresh_memo::{{closure}}
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/fetch.rs:54:29
  46: core::option::Option<T>::or_else
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/option.rs:1552:21
  47: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::refresh_memo
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/fetch.rs:52:33
  48: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/function/fetch.rs:18:20
  49: red_knot_python_semantic::types::check_types::{{closure}}
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/components/salsa-macro-rules/src/setup_tracked_fn.rs:341:25
  50: salsa::attach::Attached::attach
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/attach.rs:72:9
  51: salsa::attach::attach::{{closure}}
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/attach.rs:92:23
  52: std::thread::local::LocalKey<T>::try_with
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:310:12
  53: std::thread::local::LocalKey<T>::with
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/thread/local.rs:274:15
  54: salsa::attach::attach
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/src/attach.rs:92:5
  55: red_knot_python_semantic::types::check_types
             at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/87bf6b6/components/salsa-macro-rules/src/setup_tracked_fn.rs:333:13
  56: red_knot_project::check_file_impl
             at /tmp/mypy_primer/knot_old/ruff/crates/red_knot_project/src/lib.rs:435:24
  57: red_knot_project::Project::check::{{closure}}::{{closure}}
             at /tmp/mypy_primer/knot_old/ruff/crates/red_knot_project/src/lib.rs:207:44
  58: rayon_core::scope::Scope::spawn::{{closure}}::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:526:57
  59: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/core/src/panic/unwind_safe.rs:272:9
  60: std::panicking::try::do_call
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:587:40
  61: __rust_try
  62: std::panicking::try
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panicking.rs:550:19
  63: std::panic::catch_unwind
             at /rustc/05f9846f893b09a1be1fc8560e33fc3c815cfecb/library/std/src/panic.rs:358:14
  64: rayon_core::unwind::halt_unwinding
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/unwind.rs:17:5
  65: rayon_core::scope::ScopeBase::execute_job_closure
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:689:28
  66: rayon_core::scope::ScopeBase::execute_job
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:679:29
  67: rayon_core::scope::Scope::spawn::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/scope/mod.rs:526:13
  68: <rayon_core::job::HeapJob<BODY> as rayon_core::job::Job>::execute
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:169:9
  69: rayon_core::job::JobRef::execute
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/job.rs:64:9
  70: rayon_core::registry::WorkerThread::execute
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:860:9
  71: rayon_core::registry::WorkerThread::wait_until_cold
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:794:21
  72: rayon_core::registry::WorkerThread::wait_until
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:769:13
  73: rayon_core::registry::WorkerThread::wait_until_out_of_work
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:818:9
  74: rayon_core::registry::main_loop
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:923:5
  75: rayon_core::registry::ThreadBuilder::run
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:53:18
  76: <rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-core-1.12.1/src/registry.rs:98:20
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Rayon: detected unexpected panic; aborting
Aborted (core dumped)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfatala fatal error (panic or crash)

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions