Cronet Crash on QUIC DCHECK failure: !writer_->IsWriteBlocked() |
|||||||||||
Issue description
See details in internal bug 77684625, 78282910
F0405 14:41:06.251542 8598 quic_connection.cc:1635] Check failed: !writer_->IsWriteBlocked()
*** Check failure stack trace: ***
@ 0x7fc8bb32953e base_logging::LogMessage::SendToLog()
@ 0x7fc8bb329d52 base_logging::LogMessage::Flush()
@ 0x7fc8bb32bc15 base_logging::LogMessageFatal::~LogMessageFatal()
@ 0x7fc8c8afa671 gfe_quic::QuicConnection::OnCanWrite()
@ 0x7fc8c8af88e3 gfe_quic::QuicConnection::WriteAndBundleAcksIfNotBlocked()
@ 0x7fc8c8af887d gfe_quic::QuicConnection::MaybeSendInResponseToPacket()
@ 0x7fc8c8af9e59 gfe_quic::QuicConnection::ProcessUdpPacket()
@ 0x7fc8c8bf4b80 gfe_quic::QuicSession::ProcessUdpPacket()
@ 0x7fc8c8cad080 gfe_quic::QuartcSession::OnTransportReceived()
@ 0x7fc8c8ee16c2 quartc::QuartcThreadSafeSession::OnTransportReceivedAsync()::$_6::operator()()
@ 0x7fc8c8ee14fa std::_Function_handler<>::_M_invoke()
@ 0x7fc8c8ee2f92 std::function<>::operator()()
@ 0x7fc8c8edfdab quartc::(anonymous namespace)::ExecuteOnQuicThreadWithData()::$_10::operator()()
@ 0x7fc8c8edfbbd std::_Function_handler<>::_M_invoke()
@ 0x7fc8c8fe8aad std::function<>::operator()()
@ 0x7fc8c16ccf3c util::functional::internal::FunctorCallback<>::Run()
@ 0x7fc8bbabfd46 ThreadPoolWorker::Run()
@ 0x7fc8bbab2616 Thread::ThreadBody()
@ 0x7fc8ba8aa4e8 start_thread
,
Apr 20 2018
This change has been fixed by internal change list: Change 191910257. And the flag protected fix in chromium is: Call QuicConnection::WriteIfNotBlocked instead of OnCanWrite() from WriteAndBundleAcksIfNotBlocked to avoid writing another packet when the writer is already blocked. Protected by FLAGS_quic_reloadable_flag_quic_is_write_blocked. Merge internal change: 191910257 Change-Id: Ic34b43a0ba198d0bbcf84f8f1b22918eb9fd44c9 It's landed in https://chromium-review.googlesource.com/c/chromium/src/+/1005563.
,
Apr 20 2018
,
Apr 20 2018
,
Apr 20 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5f348f845f1baa924eede92bf883493162ae0205 commit 5f348f845f1baa924eede92bf883493162ae0205 Author: Zhongyi Shi <zhongyi@chromium.org> Date: Fri Apr 20 21:15:27 2018 Flip quic_is_write_blocked to true to fix crash on cronet. Details in internal bug 78282910. Change-Id: Ie6a26f0f1ecbc937b83644e12ae9c87b6ef66410 Bug: 835425 Change-Id: Ie6a26f0f1ecbc937b83644e12ae9c87b6ef66410 Reviewed-on: https://chromium-review.googlesource.com/1022253 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Reviewed-by: Misha Efimov <mef@chromium.org> Cr-Commit-Position: refs/heads/master@{#552471} [modify] https://crrev.com/5f348f845f1baa924eede92bf883493162ae0205/net/quic/core/quic_flags_list.h
,
Apr 21 2018
Your change meets the bar and is auto-approved for M67. Please go ahead and merge the CL to branch 3396 manually. Please contact milestone owner if you have questions. Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Apr 21 2018
Pls merge your change to M67 branch 3396 by 1:00 PM PT, Monday (04/23) so we can pick it up next M67 Dev/Beta release. Thank you.
,
Apr 23 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/93d538a65a131797fd4b2050277ab7ac46bf0c85 commit 93d538a65a131797fd4b2050277ab7ac46bf0c85 Author: Cherie Shi <zhongyi@chromium.org> Date: Mon Apr 23 17:44:40 2018 Flip quic_is_write_blocked to true to fix crash on cronet. Details in internal bug 78282910. Change-Id: Ie6a26f0f1ecbc937b83644e12ae9c87b6ef66410 TBR=zhongyi@chromium.org (cherry picked from commit 5f348f845f1baa924eede92bf883493162ae0205) Bug: 835425 Change-Id: Ie6a26f0f1ecbc937b83644e12ae9c87b6ef66410 Reviewed-on: https://chromium-review.googlesource.com/1022253 Commit-Queue: Zhongyi Shi <zhongyi@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Reviewed-by: Misha Efimov <mef@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#552471} Reviewed-on: https://chromium-review.googlesource.com/1024281 Reviewed-by: Zhongyi Shi <zhongyi@chromium.org> Cr-Commit-Position: refs/branch-heads/3396@{#225} Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428} [modify] https://crrev.com/93d538a65a131797fd4b2050277ab7ac46bf0c85/net/quic/core/quic_flags_list.h
,
Apr 23 2018
The original code to fix the crash in https://bugs.chromium.org/p/chromium/issues/detail?id=835425#c2 is already in M67 branch. https://bugs.chromium.org/p/chromium/issues/detail?id=835425#c8 merged the flag flipping to M67. Everything looks good to me, just waiting the new cronet release to pick up those changes.
,
Apr 23 2018
Handing off to Misha. mef@: Misha, please help the cronet release to pick up the change, and close this bug once completed. Thanks!
,
Apr 26 2018
,
Apr 26 2018
,
Apr 26 2018
Commit 93d538a6... initially landed in 67.0.3396.17 so it is not in Android Dev channel (67.0.3396.11) build yet.
,
Apr 26 2018
,
May 7 2018
Closing this bug as Cronet latest release has picked up M68, the fix should be included. |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by zhongyi@chromium.org
, Apr 20 2018