Closed Bug 1851008 Opened 2 years ago Closed 8 months ago

Hit MOZ_CRASH(assertion failed: self.state.active()) at /builds/worker/checkouts/gecko/third_party/rust/neqo-http3/src/connection.rs:1086

Categories

(Core :: Networking, defect, P2)

defect
Points:
2

Tracking

()

RESOLVED FIXED
132 Branch
Tracking Status
firefox119 --- wontfix
firefox132 --- fixed

People

(Reporter: tsmith, Assigned: edgul, NeedInfo)

References

(Blocks 1 open bug)

Details

(Keywords: pernosco, Whiteboard: [necko-triaged][necko-priority-queue] )

Attachments

(1 file)

Found while trying to reproduce another issue.

Hit MOZ_CRASH(assertion failed: self.state.active()) at /builds/worker/checkouts/gecko/third_party/rust/neqo-http3/src/connection.rs:1086

#0 0x691a853dd847 in MOZ_Crash(char const*, int, char const*) /builds/worker/workspace/obj-build/dist/include/mozilla/Assertions.h:281:3
#1 0x691a853dd847 in RustMozCrash /builds/worker/checkouts/gecko/mozglue/static/rust/wrappers.cpp:18:3
#2 0x691a853dd783 in mozglue_static::panic_hook::h8a2e2507d4c4039f /builds/worker/checkouts/gecko/mozglue/static/rust/lib.rs:96:9
#3 0x691a853db306 in core::ops::function::Fn::call::ha717a4f11f9ade3c /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/ops/function.rs:79:5
#4 0x691a87be2bdc in _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..Fn$LT$Args$GT$$GT$::call::h0be7fc2421582b49 /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/alloc/src/boxed.rs:1999:9
#5 0x691a87be2bdc in std::panicking::rust_panic_with_hook::h82ebcd5d5ed2fad4 /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:709:13
#6 0x691a87be2930 in std::panicking::begin_panic_handler::_$u7b$$u7b$closure$u7d$$u7d$::h810bed8ecbe66f1a /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:595:13
#7 0x691a87bdfdf5 in std::sys_common::backtrace::__rust_end_short_backtrace::h1410008071796261 /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/sys_common/backtrace.rs:151:18
#8 0x691a87be26c1 in rust_begin_unwind /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:593:5
#9 0x691a87c3b722 in core::panicking::panic_fmt::ha0a42a25e0cf258d /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/panicking.rs:67:14
#10 0x691a87c3b7b2 in core::panicking::panic::ha338a74a5d65bf6f /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/panicking.rs:117:5
#11 0x691a8384ea87 in neqo_http3::connection::Http3Connection::stream_close_send::h5fb13689fac36194 /builds/worker/checkouts/gecko/third_party/rust/neqo-http3/src/connection.rs:1086:9
#12 0x691a8385631d in neqo_http3::connection_client::Http3Client::stream_close_send::h7fb66c602612a6fe /builds/worker/checkouts/gecko/third_party/rust/neqo-http3/src/connection_client.rs:572:9
#13 0x691a837e8067 in neqo_http3conn_close_stream /builds/worker/checkouts/gecko/netwerk/socket/neqo_glue/src/lib.rs:649:11
#14 0x691a73a992e4 in mozilla::net::NeqoHttp3Conn::CloseStream(unsigned long) /builds/worker/workspace/obj-build/dist/include/mozilla/net/NeqoHttp3Conn.h:82:12
#15 0x691a73a9926b in mozilla::net::Http3Session::CloseSendingSide(unsigned long) /builds/worker/checkouts/gecko/netwerk/protocol/http/Http3Session.cpp:1284:21
#16 0x691a73aa4fec in mozilla::net::Http3Stream::ReadSegments() /builds/worker/checkouts/gecko/netwerk/protocol/http/Http3Stream.cpp:414:17
#17 0x691a73a9a366 in mozilla::net::Http3Session::SendData(nsIUDPSocket*) /builds/worker/checkouts/gecko/netwerk/protocol/http/Http3Session.cpp:1497:18
#18 0x691a73bbdda0 in mozilla::net::HttpConnectionUDP::SendData() /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpConnectionUDP.cpp:569:32
#19 0x691a73c7e52c in mozilla::net::HttpConnectionUDP::ResumeSend()::$_0::operator()() const /builds/worker/checkouts/gecko/netwerk/protocol/http/HttpConnectionUDP.cpp:403:64
#20 0x691a73c7e3b8 in mozilla::detail::RunnableFunction<mozilla::net::HttpConnectionUDP::ResumeSend()::$_0>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:548:5
#21 0x691a72fe08c7 in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1193:16
#22 0x691a72fe88c5 in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10
#23 0x691a734002aa in mozilla::net::nsSocketTransportService::Run() /builds/worker/checkouts/gecko/netwerk/base/nsSocketTransportService2.cpp:1191:11
#24 0x691a72fe08c7 in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1193:16
#25 0x691a72fe88c5 in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10
#26 0x691a74556356 in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:330:5
#27 0x691a743b5227 in MessageLoop::RunInternal() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:370:10
#28 0x691a743b51a4 in MessageLoop::RunHandler() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:363:3
#29 0x691a743b515f in MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:345:3
#30 0x691a72fdad20 in nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:391:10
#31 0x5d243c60d3c5 in _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:201:5
#32 0x4a6008043b42 in start_thread nptl/pthread_create.c:442:8
#33 0x4a60080d4bb3 in __clone misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Kershaw, is this a dupe?

Flags: needinfo?(kershaw)

(In reply to Valentin Gosu [:valentin] (he/him) from comment #1)

Kershaw, is this a dupe?

Looks like not a dupe.

Tyson, could you share the STR?
If there is no reliable way to reproduce, maybe try to record a http log?
Thanks.

Flags: needinfo?(kershaw) → needinfo?(twsmith)

I tried to open a Pernosco session but it turns out the rr trace was no good. Unfortunately this was a one off crash and I have no idea how to reproduce it. Feel free to close this and I can reopen if I come across it again. Sorry for the noise.

Flags: needinfo?(twsmith)
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INCOMPLETE

I managed to trigger it again. A Pernosco session is available here: https://pernos.co/debug/-tQtj7JaSGlnt2ybX8UqNw/index.html

Blocks: site-scout
Status: RESOLVED → REOPENED
Keywords: pernosco
Resolution: INCOMPLETE → ---

(In reply to Tyson Smith [:tsmith] from comment #4)

I managed to trigger it again. A Pernosco session is available here: https://pernos.co/debug/-tQtj7JaSGlnt2ybX8UqNw/index.html

Thanks for the session.
We hit this assertion because the connection is closed here.
To fix this, I think we should call Http3Session::ProcessEvents after each Http3Session::ProcessOutput to make sure all events from neqo are processed properly.

Severity: -- → S4
Priority: -- → P2
Whiteboard: [necko-triaged][necko-priority-new]
Whiteboard: [necko-triaged][necko-priority-new] → [necko-triaged][necko-priority-next]
See Also: → 1855167
Status: REOPENED → NEW
Points: --- → 2
Whiteboard: [necko-triaged][necko-priority-next] → [necko-triaged][necko-priority-queue]
Flags: needinfo?(kershaw)
Assignee: nobody → edgul
Pushed by eguloien@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/676f4150ad63 Add Http3Session::ProcessEvents after each Http3Session::ProcessOutput. r=kershaw,necko-reviewers
Status: NEW → RESOLVED
Closed: 2 years ago8 months ago
Resolution: --- → FIXED
Target Milestone: --- → 132 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: