turbo
2830ecdc - fix: Wait for dependsOn on first run of turbo watch (#11953)

Commit
62 days ago
fix: Wait for dependsOn on first run of turbo watch (#11953) ### Description Fixes the issue which prevented `turbo watch` to be usable when e.g. we have apps/* with dev task which is `persistent: true, interruptible: false` (vite, nextjs dev servers), but packages had only build task and were watched by `turbo watch`. On the first run on turbo watch, it did not wait for dependencies to complete, which caused dev servers to crash. Now it waits for them, and subsequent runs are already handled correctly. Fixes #8673 ### Testing Instructions A turbo.json with: ``` { "tasks": { "dev": { "dependsOn": ["^build"], "cache": false, "persistent": true, }, "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] }, } } ``` A few packages with only build command, and an app with something like `"dev": "vite"` On an fresh cache, it should run first the build command of each package, and only then start running dev command of the app. Before it was running concurrently I tested that it works by running `cargo test` locally and testing the actual fix on my own repository. I don't know if my approach is sound, but seems to work. I hope I didn't miss anything (: Also when I ran it on my repository, I got a crash which seemed to be unrelated to my code: <details> ``` "name" = "turbo" "operating_system" = "Mac OS 26.3.0 [64-bit]" "crate_version" = "2.8.11-canary.17" "explanation" = """ file '/Users/alex/github/turborepo/crates/turborepo-cache/src/async_cache.rs' at line 205 """ "cause" = """ panicked at /Users/alex/github/turborepo/crates/turborepo-cache/src/async_cache.rs:205:30: called `Result::unwrap()` on an `Err` value: RecvError(())""" "method" = "Panic" "backtrace" = """ 0: 0x104c1a114 - <std[d660558d17a23f5f]::backtrace::Backtrace>::capture 1: 0x104c106b4 - core[7459d98ca4fb6741]::slice::sort::unstable::quicksort::quicksort::<(&[u8], u64), <[(&[u8], u64)]>::sort_unstable_by_key<u64, <std[d660558d17a23f5f]::backtrace_rs::symbolize::gimli::macho::Object>::parse::{closure#2}>::{closure#0}> 2: 0x104c1aeb8 - <gimli[45cf989c3dcae431]::read::dwarf::Unit<gimli[45cf989c3dcae431]::read::endian_slice::EndianSlice<gimli[45cf989c3dcae431]::endianity::LittleEndian>, usize>>::new 3: 0x104c542f4 - <i16 as core[7459d98ca4fb6741]::fmt::Display>::fmt 4: 0x104c54098 - <u16 as core[7459d98ca4fb6741]::fmt::Display>::fmt 5: 0x102375eb0 - core[7459d98ca4fb6741]::slice::sort::shared::smallsort::bidirectional_merge::<(turbopath[7572578b8c3d8680]::relative_unix_path_buf::RelativeUnixPathBuf, alloc[3e8b6c29d82f350e]::string::String), <[(turbopath[7572578b8c3d8680]::relative_unix_path_buf::RelativeUnixPathBuf, alloc[3e8b6c29d82f350e]::string::String)]>::sort_by<<alloc[3e8b6c29d82f350e]::collections::btree::map::BTreeMap<turbopath[7572578b8c3d8680]::relative_unix_path_buf::RelativeUnixPathBuf, alloc[3e8b6c29d82f350e]::string::String> as core[7459d98ca4fb6741]::iter::traits::collect::FromIterator<(turbopath[7572578b8c3d8680]::relative_unix_path_buf::RelativeUnixPathBuf, alloc[3e8b6c29d82f350e]::string::String)>>::from_iter<alloc[3e8b6c29d82f350e]::vec::into_iter::IntoIter<(turbopath[7572578b8c3d8680]::relative_unix_path_buf::RelativeUnixPathBuf, alloc[3e8b6c29d82f350e]::string::String)>>::{closure#0}>::{closure#0}> 6: 0x102368974 - core[7459d98ca4fb6741]::slice::sort::shared::smallsort::sort4_stable::<&turborepo_engine[2df29975bebedb4d]::TaskNode, <&turborepo_engine[2df29975bebedb4d]::TaskNode as core[7459d98ca4fb6741]::cmp::PartialOrd>::lt> 7: 0x102376da8 - core[7459d98ca4fb6741]::slice::sort::shared::smallsort::bidirectional_merge::<(&str, async_graphql[67e2cb8b8fbfe97e]::model::type::__Type), <[(&str, async_graphql[67e2cb8b8fbfe97e]::model::type::__Type)]>::sort_by<<async_graphql[67e2cb8b8fbfe97e]::model::schema::__Schema>::types::{closure#0}::{closure#0}::{closure#1}>::{closure#0}> 8: 0x1026f3080 - <hyper[24c3a9e6c204e594]::client::dispatch::SendWhen<http_body_util[b28517669d51f6b2]::empty::Empty<bytes[29623e8ccd28cc35]::bytes::Bytes>> as core[7459d98ca4fb6741]::future::future::Future>::poll 9: 0x1027a5ef8 - <tokio[533919114f6ba51b]::runtime::task::harness::Harness<core[7459d98ca4fb6741]::pin::Pin<alloc[3e8b6c29d82f350e]::boxed::Box<<turborepo_analytics[63f5fdb53c2a30ed]::Worker<turborepo_api_client[74631ba5fa6504a7]::APIClient>>::send_events::{closure#0}>>, alloc[3e8b6c29d82f350e]::sync::Arc<tokio[533919114f6ba51b]::runtime::scheduler::current_thread::Handle>>>::complete::{closure#1} 10: 0x1022920c4 - <futures_util[99f59bbccdf046de]::stream::futures_unordered::FuturesUnordered<futures_util[99f59bbccdf046de]::stream::futures_ordered::OrderWrapper<futures_util[99f59bbccdf046de]::future::try_future::into_future::IntoFuture<async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&u8, &alloc[3e8b6c29d82f350e]::vec::Vec<u8>>::{closure#0}::{closure#0}>>>>::unlink 11: 0x1022d8cf8 - <alloc[3e8b6c29d82f350e]::vec::Vec<futures_util[99f59bbccdf046de]::future::try_maybe_done::TryMaybeDone<futures_util[99f59bbccdf046de]::future::try_future::into_future::IntoFuture<async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&turborepo_lib[ad3b0530d09d7157]::query::ChangedPackage, &alloc[3e8b6c29d82f350e]::vec::Vec<turborepo_lib[ad3b0530d09d7157]::query::ChangedPackage>>::{closure#0}::{closure#0}>>> as core[7459d98ca4fb6741]::iter::traits::collect::FromIterator<futures_util[99f59bbccdf046de]::future::try_maybe_done::TryMaybeDone<futures_util[99f59bbccdf046de]::future::try_future::into_future::IntoFuture<async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&turborepo_lib[ad3b0530d09d7157]::query::ChangedPackage, &alloc[3e8b6c29d82f350e]::vec::Vec<turborepo_lib[ad3b0530d09d7157]::query::ChangedPackage>>::{closure#0}::{closure#0}>>>>::from_iter::<core[7459d98ca4fb6741]::iter::adapters::map::Map<core[7459d98ca4fb6741]::iter::adapters::map::Map<alloc[3e8b6c29d82f350e]::vec::into_iter::IntoIter<async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&turborepo_lib[ad3b0530d09d7157]::query::ChangedPackage, &alloc[3e8b6c29d82f350e]::vec::Vec<turborepo_lib[ad3b0530d09d7157]::query::ChangedPackage>>::{closure#0}::{closure#0}>, <async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&turborepo_lib[ad3b0530d09d7157]::query::ChangedPackage, &alloc[3e8b6c29d82f350e]::vec::Vec<turborepo_lib[ad3b0530d09d7157]::query::ChangedPackage>>::{closure#0}::{closure#0} as futures_util[99f59bbccdf046de]::future::try_future::TryFutureExt>::into_future>, futures_util[99f59bbccdf046de]::future::try_maybe_done::TryMaybeDone<futures_util[99f59bbccdf046de]::future::try_future::into_future::IntoFuture<async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&turborepo_lib[ad3b0530d09d7157]::query::ChangedPackage, &alloc[3e8b6c29d82f350e]::vec::Vec<turborepo_lib[ad3b0530d09d7157]::query::ChangedPackage>>::{closure#0}::{closure#0}>>::Future>> 12: 0x1022fbf60 - <alloc[3e8b6c29d82f350e]::vec::Vec<turborepo_lib[ad3b0530d09d7157]::query::package::Package> as core[7459d98ca4fb6741]::slice::sort::stable::BufGuard<turborepo_lib[ad3b0530d09d7157]::query::package::Package>>::with_capacity 13: 0x102b1b0c4 - <turborepo_engine[2df29975bebedb4d]::builder::TaskInheritanceResolver<turborepo_lib[ad3b0530d09d7157]::turbo_json::loader::UnifiedTurboJsonLoader>>::collect_from_extends_chain 14: 0x102b24d58 - <h2[9572fbca677d1bb7]::proto::streams::prioritize::Prioritize>::poll_complete::<hyper[24c3a9e6c204e594]::common::io::compat::Compat<hyper_rustls[de9a986ed2f40214]::stream::MaybeHttpsStream<hyper_util[dcf8865daf6d9123]::rt::tokio::TokioIo<tokio[533919114f6ba51b]::net::tcp::stream::TcpStream>>>, hyper[24c3a9e6c204e594]::proto::h2::SendBuf<bytes[29623e8ccd28cc35]::bytes::Bytes>> 15: 0x102999c90 - core[7459d98ca4fb6741]::ptr::drop_in_place::<turborepo_auth[24a75ab7cb855b07]::auth::sso::sso_login<turborepo_api_client[74631ba5fa6504a7]::APIClient>::{closure#0}> 16: 0x10298b138 - core[7459d98ca4fb6741]::ptr::drop_in_place::<<tonic[4675bc8b06f241d5]::server::grpc::Grpc<tonic_prost[9c2ec2dc4bdba599]::codec::ProstCodec<turborepo_daemon[5c6448365cc12697]::proto::PackageChangeEvent, turborepo_daemon[5c6448365cc12697]::proto::PackageChangesRequest>>>::map_request_unary<tonic[4675bc8b06f241d5]::body::Body>::{closure#0}> 17: 0x1022f0594 - <alloc[3e8b6c29d82f350e]::vec::Vec<alloc[3e8b6c29d82f350e]::string::String> as alloc[3e8b6c29d82f350e]::vec::spec_from_iter_nested::SpecFromIterNested<alloc[3e8b6c29d82f350e]::string::String, core[7459d98ca4fb6741]::iter::adapters::map::Map<core[7459d98ca4fb6741]::iter::adapters::filter::Filter<core[7459d98ca4fb6741]::iter::adapters::filter_map::FilterMap<core[7459d98ca4fb6741]::slice::iter::Iter<turborepo_lib[ad3b0530d09d7157]::cli::LinkTarget>, <clap_builder[45e26769a93d918c]::builder::value_parser::EnumValueParser<turborepo_lib[ad3b0530d09d7157]::cli::LinkTarget> as clap_builder[45e26769a93d918c]::builder::value_parser::TypedValueParser>::parse_ref::{closure#1}::{closure#0}>, <clap_builder[45e26769a93d918c]::builder::value_parser::EnumValueParser<turborepo_lib[ad3b0530d09d7157]::cli::LinkTarget> as clap_builder[45e26769a93d918c]::builder::value_parser::TypedValueParser>::parse_ref::{closure#1}::{closure#1}>, <clap_builder[45e26769a93d918c]::builder::value_parser::EnumValueParser<turborepo_lib[ad3b0530d09d7157]::cli::LinkTarget> as clap_builder[45e26769a93d918c]::builder::value_parser::TypedValueParser>::parse_ref::{closure#1}::{closure#2}>>>::from_iter 18: 0x1023417e0 - core[7459d98ca4fb6741]::iter::traits::iterator::Iterator::for_each::call::<async_graphql_value[95f86681d9b731db]::ConstValue, <alloc[3e8b6c29d82f350e]::vec::Vec<async_graphql_value[95f86681d9b731db]::ConstValue>>::extend_trusted<core[7459d98ca4fb6741]::iter::adapters::map::Map<core[7459d98ca4fb6741]::iter::adapters::map::Map<core[7459d98ca4fb6741]::slice::iter::IterMut<futures_util[99f59bbccdf046de]::future::try_maybe_done::TryMaybeDone<futures_util[99f59bbccdf046de]::future::try_future::into_future::IntoFuture<async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&async_graphql[67e2cb8b8fbfe97e]::model::directive::__Directive, &alloc[3e8b6c29d82f350e]::vec::Vec<async_graphql[67e2cb8b8fbfe97e]::model::directive::__Directive>>::{closure#0}::{closure#0}>>>, futures_util[99f59bbccdf046de]::future::join_all::iter_pin_mut<futures_util[99f59bbccdf046de]::future::try_maybe_done::TryMaybeDone<futures_util[99f59bbccdf046de]::future::try_future::into_future::IntoFuture<async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&async_graphql[67e2cb8b8fbfe97e]::model::directive::__Directive, &alloc[3e8b6c29d82f350e]::vec::Vec<async_graphql[67e2cb8b8fbfe97e]::model::directive::__Directive>>::{closure#0}::{closure#0}>>>::{closure#0}>, <futures_util[99f59bbccdf046de]::future::try_join_all::TryJoinAll<async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&async_graphql[67e2cb8b8fbfe97e]::model::directive::__Directive, &alloc[3e8b6c29d82f350e]::vec::Vec<async_graphql[67e2cb8b8fbfe97e]::model::directive::__Directive>>::{closure#0}::{closure#0}> as core[7459d98ca4fb6741]::future::future::Future>::poll::{closure#0}>>::{closure#0}>::{closure#0} 19: 0x102341a58 - core[7459d98ca4fb6741]::iter::traits::iterator::Iterator::for_each::call::<async_graphql_value[95f86681d9b731db]::ConstValue, <alloc[3e8b6c29d82f350e]::vec::Vec<async_graphql_value[95f86681d9b731db]::ConstValue>>::extend_trusted<core[7459d98ca4fb6741]::iter::adapters::map::Map<core[7459d98ca4fb6741]::iter::adapters::map::Map<core[7459d98ca4fb6741]::slice::iter::IterMut<futures_util[99f59bbccdf046de]::future::try_maybe_done::TryMaybeDone<futures_util[99f59bbccdf046de]::future::try_future::into_future::IntoFuture<async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&turborepo_lib[ad3b0530d09d7157]::query::task::RepositoryTask, &alloc[3e8b6c29d82f350e]::vec::Vec<turborepo_lib[ad3b0530d09d7157]::query::task::RepositoryTask>>::{closure#0}::{closure#1}>>>, futures_util[99f59bbccdf046de]::future::join_all::iter_pin_mut<futures_util[99f59bbccdf046de]::future::try_maybe_done::TryMaybeDone<futures_util[99f59bbccdf046de]::future::try_future::into_future::IntoFuture<async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&turborepo_lib[ad3b0530d09d7157]::query::task::RepositoryTask, &alloc[3e8b6c29d82f350e]::vec::Vec<turborepo_lib[ad3b0530d09d7157]::query::task::RepositoryTask>>::{closure#0}::{closure#1}>>>::{closure#0}>, <futures_util[99f59bbccdf046de]::future::try_join_all::TryJoinAll<async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&turborepo_lib[ad3b0530d09d7157]::query::task::RepositoryTask, &alloc[3e8b6c29d82f350e]::vec::Vec<turborepo_lib[ad3b0530d09d7157]::query::task::RepositoryTask>>::{closure#0}::{closure#1}> as core[7459d98ca4fb6741]::future::future::Future>::poll::{closure#0}>>::{closure#0}>::{closure#0} 20: 0x10235b3ec - <futures_util[99f59bbccdf046de]::stream::try_stream::try_collect::TryCollect<futures_util[99f59bbccdf046de]::stream::futures_ordered::FuturesOrdered<futures_util[99f59bbccdf046de]::future::try_future::into_future::IntoFuture<async_graphql[67e2cb8b8fbfe97e]::resolver_utils::list::resolve_list<&async_graphql[67e2cb8b8fbfe97e]::model::field::__Field, &alloc[3e8b6c29d82f350e]::vec::Vec<async_graphql[67e2cb8b8fbfe97e]::model::field::__Field>>::{closure#0}::{closure#0}>>, alloc[3e8b6c29d82f350e]::vec::Vec<async_graphql_value[95f86681d9b731db]::ConstValue>> as core[7459d98ca4fb6741]::future::future::Future>::poll 21: 0x104602ea8 - <hashbrown[399213940fbcef8]::raw::RawTable<(usize, std[d660558d17a23f5f]::thread::join_handle::JoinHandle<()>)>>::find::<hashbrown[399213940fbcef8]::map::equivalent_key<usize, usize, std[d660558d17a23f5f]::thread::join_handle::JoinHandle<()>>::{closure#0}> 22: 0x10461c608 - <tokio[533919114f6ba51b]::runtime::scheduler::multi_thread::idle::Idle>::unpark_worker_by_id 23: 0x1046503e8 - <tokio[533919114f6ba51b]::runtime::scheduler::multi_thread::worker::Context>::park 24: 0x104657c04 - <alloc[3e8b6c29d82f350e]::collections::btree::node::Handle<alloc[3e8b6c29d82f350e]::collections::btree::node::NodeRef<alloc[3e8b6c29d82f350e]::collections::btree::node::marker::Mut, signal_hook_registry[a0943506f653c186]::ActionId, alloc[3e8b6c29d82f350e]::sync::Arc<dyn for<'a> core[7459d98ca4fb6741]::ops::function::Fn<(&'a libc[f042c5d99acd6e3d]::unix::bsd::apple::siginfo_t,), Output = ()> + core[7459d98ca4fb6741]::marker::Send + core[7459d98ca4fb6741]::marker::Sync>, alloc[3e8b6c29d82f350e]::collections::btree::node::marker::LeafOrInternal>, alloc[3e8b6c29d82f350e]::collections::btree::node::marker::KV>>::next_leaf_edge 25: 0x104656f88 - <alloc[3e8b6c29d82f350e]::collections::btree::node::NodeRef<alloc[3e8b6c29d82f350e]::collections::btree::node::marker::Mut, signal_hook_registry[a0943506f653c186]::ActionId, alloc[3e8b6c29d82f350e]::sync::Arc<dyn for<'a> core[7459d98ca4fb6741]::ops::function::Fn<(&'a libc[f042c5d99acd6e3d]::unix::bsd::apple::siginfo_t,), Output = ()> + core[7459d98ca4fb6741]::marker::Send + core[7459d98ca4fb6741]::marker::Sync>, alloc[3e8b6c29d82f350e]::collections::btree::node::marker::LeafOrInternal>>::choose_parent_kv 26: 0x10464fbf8 - <tokio[533919114f6ba51b]::runtime::scheduler::multi_thread::worker::Context>::run 27: 0x1046273a0 - core[7459d98ca4fb6741]::ptr::drop_in_place::<[alloc[3e8b6c29d82f350e]::boxed::Box<dyn core[7459d98ca4fb6741]::ops::function::FnOnce<(), Output = ()> + core[7459d98ca4fb6741]::marker::Send>]> 28: 0x104611e40 - <tokio[533919114f6ba51b]::time::sleep::Sleep as core[7459d98ca4fb6741]::future::future::Future>::poll 29: 0x1045fdbc8 - <tokio[533919114f6ba51b]::runtime::io::registration_set::RegistrationSet>::deregister 30: 0x1045fd8fc - <dyn core[7459d98ca4fb6741]::any::Any>::downcast_ref::<&str> 31: 0x104610a24 - tokio[533919114f6ba51b]::signal::unix::signal_enable 32: 0x104650d60 - <tokio[533919114f6ba51b]::runtime::scheduler::multi_thread::worker::Context>::run_task 33: 0x1045f6d88 - <std[d660558d17a23f5f]::thread::local::LocalKey<tokio[533919114f6ba51b]::runtime::context::Context>>::try_with::<tokio[533919114f6ba51b]::runtime::context::set_scheduler<(), tokio[533919114f6ba51b]::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure#0}>::{closure#0}, ()> 34: 0x1046586fc - <std[d660558d17a23f5f]::sys::thread_local::native::lazy::Storage<core[7459d98ca4fb6741]::cell::Cell<(u64, u64)>, !>>::get_or_init_slow::<<std[d660558d17a23f5f]::hash::random::RandomState>::new::KEYS::__rust_std_internal_init_fn> 35: 0x10464fd4c - <tokio[533919114f6ba51b]::runtime::scheduler::multi_thread::worker::Context>::run 36: 0x104613828 - <core[7459d98ca4fb6741]::result::Result<core[7459d98ca4fb6741]::task::poll::Poll<tokio[533919114f6ba51b]::task::coop::RestoreOnPending>, std[d660558d17a23f5f]::thread::local::AccessError>>::unwrap_or 37: 0x1045ef978 - <tokio[533919114f6ba51b]::runtime::io::driver::Handle>::deregister_source::<tokio[533919114f6ba51b]::process::imp::Pipe> 38: 0x1045f1934 - <tokio[533919114f6ba51b]::runtime::signal::Driver>::new 39: 0x1045ec8ec - std[d660558d17a23f5f]::panic::catch_unwind::<core[7459d98ca4fb6741]::panic::unwind_safe::AssertUnwindSafe<<tokio[533919114f6ba51b]::runtime::task::harness::Harness<tokio[533919114f6ba51b]::runtime::blocking::task::BlockingTask<<tokio[533919114f6ba51b]::runtime::scheduler::multi_thread::worker::Launch>::launch::{closure#0}>, tokio[533919114f6ba51b]::runtime::blocking::schedule::BlockingSchedule>>::complete::{closure#0}>, ()> 40: 0x104613fc4 - <tokio[533919114f6ba51b]::util::sharded_list::ShardedList<tokio[533919114f6ba51b]::runtime::task::Task<alloc[3e8b6c29d82f350e]::sync::Arc<tokio[533919114f6ba51b]::runtime::scheduler::current_thread::Handle>>, tokio[533919114f6ba51b]::runtime::task::core::Header>>::new 41: 0x104611274 - <<tokio[533919114f6ba51b]::signal::unix::Signal>::recv::{closure#0} as core[7459d98ca4fb6741]::future::into_future::IntoFuture>::into_future 42: 0x1045f5a18 - <alloc[3e8b6c29d82f350e]::boxed::Box<tokio[533919114f6ba51b]::runtime::task::core::Cell<tokio[533919114f6ba51b]::runtime::blocking::task::BlockingTask<alloc[3e8b6c29d82f350e]::boxed::Box<<str as tokio[533919114f6ba51b]::net::addr::sealed::ToSocketAddrsPriv>::to_socket_addrs::{closure#0}>>, tokio[533919114f6ba51b]::runtime::blocking::schedule::BlockingSchedule>> as core[7459d98ca4fb6741]::ops::drop::Drop>::drop 43: 0x1045f3180 - <tokio[533919114f6ba51b]::io::poll_evented::PollEvented<tokio[533919114f6ba51b]::process::imp::Pipe>>::poll_read 44: 0x1045ec258 - std[d660558d17a23f5f]::panic::catch_unwind::<core[7459d98ca4fb6741]::panic::unwind_safe::AssertUnwindSafe<tokio[533919114f6ba51b]::runtime::task::harness::poll_future<tokio[533919114f6ba51b]::runtime::blocking::task::BlockingTask<alloc[3e8b6c29d82f350e]::boxed::Box<<str as tokio[533919114f6ba51b]::net::addr::sealed::ToSocketAddrsPriv>::to_socket_addrs::{closure#0}>>, tokio[533919114f6ba51b]::runtime::blocking::schedule::BlockingSchedule>::{closure#0}>, core[7459d98ca4fb6741]::task::poll::Poll<core[7459d98ca4fb6741]::result::Result<alloc[3e8b6c29d82f350e]::vec::into_iter::IntoIter<core[7459d98ca4fb6741]::net::socket_addr::SocketAddr>, std[d660558d17a23f5f]::io::error::Error>>> 45: 0x1045edf2c - <parking_lot[eb6f82ab889b13b3]::raw_rwlock::RawRwLock>::deadlock_acquire 46: 0x1045ee1a4 - <usize>::pow 47: 0x1045ff7c0 - tokio[533919114f6ba51b]::net::unix::ucred::impl_macos::get_peer_cred 48: 0x104602ea8 - <hashbrown[399213940fbcef8]::raw::RawTable<(usize, std[d660558d17a23f5f]::thread::join_handle::JoinHandle<()>)>>::find::<hashbrown[399213940fbcef8]::map::equivalent_key<usize, usize, std[d660558d17a23f5f]::thread::join_handle::JoinHandle<()>>::{closure#0}> 49: 0x10461c644 - <tokio[533919114f6ba51b]::runtime::scheduler::multi_thread::idle::Idle>::notify_should_wakeup 50: 0x104623b50 - core[7459d98ca4fb6741]::ptr::drop_in_place::<tokio[533919114f6ba51b]::io::poll_evented::PollEvented<tokio[533919114f6ba51b]::process::imp::Pipe>> 51: 0x1046252ec - core[7459d98ca4fb6741]::ptr::drop_in_place::<alloc[3e8b6c29d82f350e]::string::FromUtf8Error> 52: 0x104621850 - core[7459d98ca4fb6741]::ptr::drop_in_place::<core[7459d98ca4fb6741]::option::Option<alloc[3e8b6c29d82f350e]::boxed::Box<tokio[533919114f6ba51b]::runtime::scheduler::current_thread::Core>>> 53: 0x1045f38e8 - <tokio[533919114f6ba51b]::io::poll_evented::PollEvented<mio[e403ca7550f323b5]::net::uds::stream::UnixStream>>::poll_write 54: 0x1046360d0 - <tokio[533919114f6ba51b]::sync::batch_semaphore::Semaphore>::poll_acquire 55: 0x1046140a8 - <tokio[533919114f6ba51b]::util::sharded_list::ShardedList<tokio[533919114f6ba51b]::runtime::task::Task<alloc[3e8b6c29d82f350e]::sync::Arc<tokio[533919114f6ba51b]::runtime::scheduler::current_thread::Handle>>, tokio[533919114f6ba51b]::runtime::task::core::Header>>::new 56: 0x10461138c - <tokio[533919114f6ba51b]::runtime::metrics::worker::WorkerMetrics as core[7459d98ca4fb6741]::default::Default>::default 57: 0x10463b258 - <tokio[533919114f6ba51b]::runtime::scheduler::multi_thread::handle::Handle>::schedule_local 58: 0x104635e10 - <tokio[533919114f6ba51b]::sync::batch_semaphore::Semaphore>::add_permits_locked::{closure#1} 59: 0x10462ee40 - std[d660558d17a23f5f]::thread::lifecycle::spawn_unchecked::<<tokio[533919114f6ba51b]::runtime::blocking::pool::Spawner>::spawn_thread::{closure#0}, ()>::{closure#0} 60: 0x104c39198 - <std[d660558d17a23f5f]::process::Output as core[7459d98ca4fb6741]::fmt::Debug>::fmt 61: 0x188433c08 - __pthread_cond_wait""" ``` </details> I tried to fix it in async_cache file by simply avoiding unwrap. I can remove that if needed Thank you! --------- Co-authored-by: Anthony Shew <anthony.shew@vercel.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Turbobot <turbobot@vercel.com> Co-authored-by: Anthony Shew <anthonyshew@gmail.com>
Author
Parents
Loading