Git Product home page Git Product logo

rocket_crash_repro's Introduction

The read is happening on this link in Rocket:

https://github.com/SergioBenitez/Rocket/blob/v0.5-rc/core/lib/src/trip_wire.rs#L50

Note that the TripWire struct implements Deref. This returns a reference to the State struct stored within an Arc.

The segfault is happening on the ldarb instruction:

        if self.tripped.load(Ordering::Acquire) {
00007FF6F27F9050  ldr         x8,[x0]  
00007FF6F27F9054  mov         x22,x0  
00007FF6F27F9058  mov         x19,x0  
00007FF6F27F905C  add         x8,x8,#0x38  
> 00007FF6F27F9060  ldarb       w8,[x8]  

Which is an Load-Acquire Register Byte instruction. Register X8 is 0x38. Since the ArcInner struct stores data inline, this implies that the ptr field in Arc was null.

Environment

Note that the software is being built on a x64 System and run on an ARM64 VM.

Software Version
Rust 1.58.1
MSVC 14.30.30705
Windows Host (in VM) Windows 11 (10.0.22000.434)
HyperVisor Parallels
HyperVisor Host M1 Mac Mini with macos 12.1

See this article for information about how to collect crash dumps on Windows.

Stack Trace

>	rocket_crash_repro.exe!rocket::trip_wire::impl$3::poll(core::pin::Pin<ref_mut$<rocket::trip_wire::TripWire>> self, core::task::wake::Context * cx) Line 50	Unknown
 	rocket_crash_repro.exe!hyper::server::shutdown::impl$1::poll<rocket_http::listener::Incoming<rocket::ext::CancellableListener<rocket::shutdown::Shutdown,tokio::net::tcp::listener::TcpListener>>,rocket::ext::CancellableIo<rocket::shutdown::Shutdown,tokio::net::tcp::stream::TcpStream>,std::io::error::Error,hyper::service::make::MakeServiceFn<rocket::server::impl$0::http_server::generator$0::closure$0>,hyper::body::body::Body,rocket::shutdown::Shutdown,enum$<hyper::common::exec::Exec, 1, 18446744073709551615, Executor>>(core::pin::Pin<ref_mut$<hyper::server::shutdown::Graceful<rocket_http::listener::Incoming<rocket::ext::CancellableListener<rocket::shutdown::Shutdown,tokio::net::tcp::listener::TcpListener>>,hyper::service::make::MakeServiceFn<rocket::server::impl$0::http_server::generator$0::closure$0>,rocket::shutdown::Shutdown,enum$<hyper::common::exec::Exec, 1, 18446744073709551615, Executor>>>> self, core::task::wake::Context * cx) Line 74	Unknown
 	[Inline Frame] rocket_crash_repro.exe!futures_core::future::impl$2::try_poll(core::pin::Pin<ref_mut$<hyper::server::shutdown::Graceful<rocket_http::listener::Incoming<rocket::ext::CancellableListener<rocket::shutdown::Shutdown,tokio::net::tcp::listener::TcpListener>>,hyper::service::make::MakeServiceFn<rocket::server::impl$0::http_server::generator$0::closure$0>,rocket::shutdown::Shutdown,enum$<hyper::common::exec::Exec, 1, 18446744073709551615, Executor>>>> self, core::task::wake::Context * cx) Line 82	Unknown
 	[Inline Frame] rocket_crash_repro.exe!futures_util::future::try_future::into_future::impl$2::poll(core::pin::Pin<ref_mut$<futures_util::future::try_future::into_future::IntoFuture<hyper::server::shutdown::Graceful<rocket_http::listener::Incoming<rocket::ext::CancellableListener<rocket::shutdown::Shutdown,tokio::net::tcp::listener::TcpListener>>,hyper::service::make::MakeServiceFn<rocket::server::impl$0::http_server::generator$0::closure$0>,rocket::shutdown::Shutdown,enum$<hyper::common::exec::Exec, 1, 18446744073709551615, Executor>>>>> self, core::task::wake::Context * cx) Line 34	Unknown
 	rocket_crash_repro.exe!futures_util::future::future::map::impl$2::poll<futures_util::future::try_future::into_future::IntoFuture<hyper::server::shutdown::Graceful<rocket_http::listener::Incoming<rocket::ext::CancellableListener<rocket::shutdown::Shutdown,tokio::net::tcp::listener::TcpListener>>,hyper::service::make::MakeServiceFn<rocket::server::impl$0::http_server::generator$0::closure$0>,rocket::shutdown::Shutdown,enum$<hyper::common::exec::Exec, 1, 18446744073709551615, Executor>>>,futures_util::fns::MapErrFn<rocket::server::impl$0::http_server::generator$0::closure$1>,enum$<core::result::Result<tuple$<>,rocket::error::Error>, 0, 7, Err>>(core::pin::Pin<ref_mut$<enum$<futures_util::future::future::map::Map<futures_util::future::try_future::into_future::IntoFuture<hyper::server::shutdown::Graceful<rocket_http::listener::Incoming<rocket::ext::CancellableListener<rocket::shutdown::Shutdown,tokio::net::tcp::listener::TcpListener>>,hyper::service::make::MakeServiceFn<rocket::server::impl$0::http_server::generator$0::closure$0>,rocket::shutdown::Shutdown,enum$<hyper::common::exec::Exec, 1, 18446744073709551615, Executor>>>,futures_util::fns::MapErrFn<rocket::server::impl$0::http_server::generator$0::closure$1>>, 0, 1, Incomplete>>> self, core::task::wake::Context * cx) Line 55	Unknown
 	[Inline Frame] rocket_crash_repro.exe!futures_util::future::future::impl$15::poll(core::pin::Pin<ref_mut$<futures_util::future::future::Map<futures_util::future::try_future::into_future::IntoFuture<hyper::server::shutdown::Graceful<rocket_http::listener::Incoming<rocket::ext::CancellableListener<rocket::shutdown::Shutdown,tokio::net::tcp::listener::TcpListener>>,hyper::service::make::MakeServiceFn<rocket::server::impl$0::http_server::generator$0::closure$0>,rocket::shutdown::Shutdown,enum$<hyper::common::exec::Exec, 1, 18446744073709551615, Executor>>>,futures_util::fns::MapErrFn<rocket::server::impl$0::http_server::generator$0::closure$1>>>> self, core::task::wake::Context * cx) Line 91	Unknown
 	[Inline Frame] rocket_crash_repro.exe!futures_util::future::try_future::impl$61::poll(core::pin::Pin<ref_mut$<futures_util::future::try_future::MapErr<hyper::server::shutdown::Graceful<rocket_http::listener::Incoming<rocket::ext::CancellableListener<rocket::shutdown::Shutdown,tokio::net::tcp::listener::TcpListener>>,hyper::service::make::MakeServiceFn<rocket::server::impl$0::http_server::generator$0::closure$0>,rocket::shutdown::Shutdown,enum$<hyper::common::exec::Exec, 1, 18446744073709551615, Executor>>,rocket::server::impl$0::http_server::generator$0::closure$1>>> self, core::task::wake::Context * cx) Line 91	Unknown
 	[Inline Frame] rocket_crash_repro.exe!core::future::future::impl$1::poll(core::pin::Pin<ref_mut$<core::pin::Pin<ref_mut$<futures_util::future::try_future::MapErr<hyper::server::shutdown::Graceful<rocket_http::listener::Incoming<rocket::ext::CancellableListener<rocket::shutdown::Shutdown,tokio::net::tcp::listener::TcpListener>>,hyper::service::make::MakeServiceFn<rocket::server::impl$0::http_server::generator$0::closure$0>,rocket::shutdown::Shutdown,enum$<hyper::common::exec::Exec, 1, 18446744073709551615, Executor>>,rocket::server::impl$0::http_server::generator$0::closure$1>>>>> self, core::task::wake::Context * cx) Line 119	Unknown
 	[Inline Frame] rocket_crash_repro.exe!futures_util::future::future::FutureExt::poll_unpin(core::pin::Pin<ref_mut$<futures_util::future::try_future::MapErr<hyper::server::shutdown::Graceful<rocket_http::listener::Incoming<rocket::ext::CancellableListener<rocket::shutdown::Shutdown,tokio::net::tcp::listener::TcpListener>>,hyper::service::make::MakeServiceFn<rocket::server::impl$0::http_server::generator$0::closure$0>,rocket::shutdown::Shutdown,enum$<hyper::common::exec::Exec, 1, 18446744073709551615, Executor>>,rocket::server::impl$0::http_server::generator$0::closure$1>>> * self, core::task::wake::Context * cx) Line 562	Unknown
 	rocket_crash_repro.exe!futures_util::future::select::impl$1::poll<rocket::shutdown::Shutdown,core::pin::Pin<ref_mut$<futures_util::future::try_future::MapErr<hyper::server::shutdown::Graceful<rocket_http::listener::Incoming<rocket::ext::CancellableListener<rocket::shutdown::Shutdown,tokio::net::tcp::listener::TcpListener>>,hyper::service::make::MakeServiceFn<rocket::server::impl$0::http_server::generator$0::closure$0>,rocket::shutdown::Shutdown,enum$<hyper::common::exec::Exec, 1, 18446744073709551615, Executor>>,rocket::server::impl$0::http_server::generator$0::closure$1>>>>(core::pin::Pin<ref_mut$<futures_util::future::select::Select<rocket::shutdown::Shutdown,core::pin::Pin<ref_mut$<futures_util::future::try_future::MapErr<hyper::server::shutdown::Graceful<rocket_http::listener::Incoming<rocket::ext::CancellableListener<rocket::shutdown::Shutdown,tokio::net::tcp::listener::TcpListener>>,hyper::service::make::MakeServiceFn<rocket::server::impl$0::http_server::generator$0::closure$0>,rocket::shutdown::Shutdown,enum$<hyper::common::exec::Exec, 1, 18446744073709551615, Executor>>,rocket::server::impl$0::http_server::generator$0::closure$1>>>>>> self, core::task::wake::Context * cx) Line 105	Unknown
 	[Inline Frame] rocket_crash_repro.exe!core::future::from_generator::impl$1::poll(core::pin::Pin<ref_mut$<core::future::from_generator::GenFuture<rocket::server::impl$0::default_tcp_http_server::generator$0>>> self, core::task::wake::Context * cx) Line 80	Unknown
 	[Inline Frame] rocket_crash_repro.exe!rocket::rocket::impl$1::_launch::generator$0(core::pin::Pin<ref_mut$<rocket::rocket::impl$1::_launch::generator$0>>, core::future::ResumeTy) Line 619	Unknown
 	rocket_crash_repro.exe!core::future::from_generator::impl$1::poll<rocket::rocket::impl$1::_launch::generator$0>(core::pin::Pin<ref_mut$<core::future::from_generator::GenFuture<rocket::rocket::impl$1::_launch::generator$0>>> self, core::task::wake::Context * cx) Line 80	Unknown
 	[Inline Frame] rocket_crash_repro.exe!core::future::from_generator::impl$1::poll(core::pin::Pin<ref_mut$<core::future::from_generator::GenFuture<rocket::rocket::impl$3::launch::generator$0>>> self, core::task::wake::Context * cx) Line 80	Unknown
 	[Inline Frame] rocket_crash_repro.exe!rocket_crash_repro::main::generator$0(core::pin::Pin<ref_mut$<rocket_crash_repro::main::generator$0>>, core::future::ResumeTy) Line 10	Unknown
 	rocket_crash_repro.exe!core::future::from_generator::impl$1::poll<rocket_crash_repro::main::generator$0>(core::pin::Pin<ref_mut$<core::future::from_generator::GenFuture<rocket_crash_repro::main::generator$0>>> self, core::task::wake::Context * cx) Line 80	Unknown
 	[Inline Frame] rocket_crash_repro.exe!tokio::park::thread::impl$5::block_on::closure$0(tokio::park::thread::impl$5::block_on::closure$0) Line 263	Unknown
 	[Inline Frame] rocket_crash_repro.exe!tokio::coop::with_budget::closure$0(tokio::coop::with_budget::closure$0 cell, core::cell::Cell<tokio::coop::Budget> *) Line 102	Unknown
 	[Inline Frame] rocket_crash_repro.exe!std::thread::local::LocalKey<core::cell::Cell<tokio::coop::Budget>>::try_with(tokio::coop::with_budget::closure$0 self) Line 399	Unknown
 	[Inline Frame] rocket_crash_repro.exe!std::thread::local::LocalKey<core::cell::Cell<tokio::coop::Budget>>::with(tokio::coop::with_budget::closure$0 self) Line 375	Unknown
 	[Inline Frame] rocket_crash_repro.exe!tokio::coop::with_budget(tokio::coop::Budget) Line 95	Unknown
 	[Inline Frame] rocket_crash_repro.exe!tokio::coop::budget(tokio::park::thread::impl$5::block_on::closure$0) Line 72	Unknown
 	rocket_crash_repro.exe!tokio::park::thread::CachedParkThread::block_on<core::future::from_generator::GenFuture<rocket_crash_repro::main::generator$0>>(core::future::from_generator::GenFuture<rocket_crash_repro::main::generator$0> self) Line 263	Unknown
 	[Inline Frame] rocket_crash_repro.exe!tokio::runtime::enter::Enter::block_on(core::future::from_generator::GenFuture<rocket_crash_repro::main::generator$0> self) Line 151	Unknown
 	rocket_crash_repro.exe!tokio::runtime::thread_pool::ThreadPool::block_on<core::future::from_generator::GenFuture<rocket_crash_repro::main::generator$0>>(core::future::from_generator::GenFuture<rocket_crash_repro::main::generator$0> self) Line 77	Unknown
 	rocket_crash_repro.exe!tokio::runtime::Runtime::block_on<core::future::from_generator::GenFuture<rocket_crash_repro::main::generator$0>>(core::future::from_generator::GenFuture<rocket_crash_repro::main::generator$0> self, core::panic::location::Location * future) Line 463	Unknown
 	[Inline Frame] rocket_crash_repro.exe!rocket::async_main(core::future::from_generator::GenFuture<rocket_crash_repro::main::generator$0> fut) Line 226	Unknown
 	rocket_crash_repro.exe!rocket_crash_repro::main() Line 10	Unknown
 	[Inline Frame] rocket_crash_repro.exe!core::ops::function::FnOnce::call_once(void(*)()) Line 227	Unknown
 	rocket_crash_repro.exe!std::sys_common::backtrace::__rust_begin_short_backtrace<void (*)(),tuple$<>>(void(*)() f) Line 129	Unknown
 	rocket_crash_repro.exe!std::rt::lang_start::closure$0<tuple$<>>(std::rt::lang_start::closure$0 *) Line 145	Unknown
 	[Inline Frame] rocket_crash_repro.exe!core::ops::function::impls::impl$2::call_once() Line 259	Unknown
 	[Inline Frame] rocket_crash_repro.exe!std::panicking::try::do_call() Line 406	Unknown
 	[Inline Frame] rocket_crash_repro.exe!std::panicking::try() Line 370	Unknown
 	[Inline Frame] rocket_crash_repro.exe!std::panic::catch_unwind() Line 133	Unknown
 	[Inline Frame] rocket_crash_repro.exe!std::rt::lang_start_internal::closure$2() Line 128	Unknown
 	[Inline Frame] rocket_crash_repro.exe!std::panicking::try::do_call() Line 406	Unknown
 	[Inline Frame] rocket_crash_repro.exe!std::panicking::try() Line 370	Unknown
 	[Inline Frame] rocket_crash_repro.exe!std::panic::catch_unwind() Line 133	Unknown
 	rocket_crash_repro.exe!std::rt::lang_start_internal() Line 128	Unknown
 	rocket_crash_repro.exe!main�()	Unknown
 	[Inline Frame] rocket_crash_repro.exe!invoke_main() Line 78	C++
 	rocket_crash_repro.exe!__scrt_common_main_seh() Line 288	C++
 	[Inline Frame] rocket_crash_repro.exe!__scrt_common_main() Line 330	C++
 	rocket_crash_repro.exe!mainCRTStartup(void * __formal) Line 16	C++
 	kernel32.dll!BaseThreadInitThunk()	Unknown
 	ntdll.dll!RtlUserThreadStart()	Unknown

rocket_crash_repro's People

Contributors

austinwise avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.