New issue
Advanced search Search tips

Issue 870187 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 8
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 1
Type: Bug
Flaky-Test: http/tests/wasm_streaming/wasm_response_apis.html



Sign in to add a comment

http/tests/wasm_streaming/wasm_response_apis.html is Flaky

Project Member Reported by Findit, Aug 2

Issue description

Components: Blink>JavaScript>WebAssembly
That culprit one is a V8 autoroll, so it might be the case but probably not worth reverting. I'll be adding a TestExpectations instead.

virtual/enable_wasm_streaming/http/tests/wasm_streaming/wasm_response_apis.html is also flaky (Crashing) on Win7 Dbg:

https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win7%20Tests%20%28dbg%29%281%29/70632
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win7%20Tests%20%28dbg%29%281%29/70631

crash log for renderer (pid <unknown>):
STDOUT: <empty>
STDERR: [2892:7448:0801/115717.476:INFO:media_foundation_video_encode_accelerator_win.cc(346)] Windows versions earlier than 8 are not supported.
STDERR: [3940:1752:0801/115718.581:FATAL:v8_initializer.cc(86)] 
STDERR: Backtrace:
STDERR: 	base::debug::StackTrace::StackTrace [0x6D5CA326+102]
STDERR: 	base::debug::StackTrace::StackTrace [0x6D5C93CB+27]
STDERR: 	logging::LogMessage::~LogMessage [0x6D62EE64+148]
STDERR: 	blink::V8Initializer::InitializeMainThread [0x588306A9+4601]
STDERR: 	v8::Utils::ReportApiFailure [0x5BFB1001+49]
STDERR: 	v8::internal::HandleScope::Extend [0x5C5B6338+72]
STDERR: 	v8::internal::wasm::AsyncCompileJob::FinishCompile [0x5CADB7AA+90]
STDERR: 	v8::internal::wasm::AsyncStreamingProcessor::OnFinishedStream [0x5CADD284+580]
STDERR: 	v8::internal::wasm::StreamingDecoder::Finish [0x5CAFEAF4+1140]
STDERR: 	std::shared_ptr<v8::WasmStreaming>::shared_ptr<v8::WasmStreaming> [0x58857934+1652]
STDERR: 	blink::BytesConsumerForDataConsumerHandle::DidGetReadable [0x595FE196+502]
STDERR: 	content::SharedMemoryDataConsumerHandle::Context::NotifyInternal [0x6B1D41D1+209]
STDERR: 	base::internal::FunctorTraits<void (__thiscall content::SharedMemoryDataConsumerHandle::Context::*)(bool),void>::Invoke<void (__thiscall content::SharedMemoryDataConsumerHandle::Context::*)(bool),scoped_refptr<content::SharedMemoryDataConsumerHandle::Cont [0x6B1D46AC+76]
STDERR: 	base::internal::InvokeHelper<0,void>::MakeItSo<void (__thiscall content::SharedMemoryDataConsumerHandle::Context::*)(bool),scoped_refptr<content::SharedMemoryDataConsumerHandle::Context>,bool> [0x6B1D45EB+107]
STDERR: 	base::internal::Invoker<base::internal::BindState<void (__thiscall content::SharedMemoryDataConsumerHandle::Context::*)(bool),scoped_refptr<content::SharedMemoryDataConsumerHandle::Context>,bool>,void __cdecl(void)>::RunImpl<void (__thiscall content::Shar [0x6B1D452F+111]
STDERR: 	base::internal::Invoker<base::internal::BindState<void (__thiscall content::SharedMemoryDataConsumerHandle::Context::*)(bool),scoped_refptr<content::SharedMemoryDataConsumerHandle::Context>,bool>,void __cdecl(void)>::RunOnce [0x6B1D43D4+84]
STDERR: 	base::OnceCallback<void __cdecl(void)>::Run [0x6D56CAB0+80]
STDERR: 	base::debug::TaskAnnotator::RunTask [0x6D5CEB43+1075]
STDERR: 	base::sequence_manager::internal::ThreadControllerImpl::DoWork [0x6D7D51F6+1206]
STDERR: 	base::internal::FunctorTraits<void (__thiscall base::sequence_manager::internal::ThreadControllerImpl::*)(enum base::sequence_manager::internal::ThreadControllerImpl::WorkType),void>::Invoke<void (__thiscall base::sequence_manager::internal::ThreadControl [0x6D7D7CD1+81]
STDERR: 	base::internal::InvokeHelper<1,void>::MakeItSo<void (__thiscall base::sequence_manager::internal::ThreadControllerImpl::*const &)(enum base::sequence_manager::internal::ThreadControllerImpl::WorkType),base::WeakPtr<base::sequence_manager::internal::Thread [0x6D7D7B82+146]
STDERR: 	base::internal::Invoker<base::internal::BindState<void (__thiscall base::sequence_manager::internal::ThreadControllerImpl::*)(enum base::sequence_manager::internal::ThreadControllerImpl::WorkType),base::WeakPtr<base::sequence_manager::internal::ThreadCont [0x6D7D7ADF+111]
STDERR: 	base::internal::Invoker<base::internal::BindState<void (__thiscall base::sequence_manager::internal::ThreadControllerImpl::*)(enum base::sequence_manager::internal::ThreadControllerImpl::WorkType),base::WeakPtr<base::sequence_manager::internal::ThreadCont [0x6D7D793F+63]
STDERR: 	base::OnceCallback<void __cdecl(void)>::Run [0x6D56CAB0+80]
STDERR: 	base::debug::TaskAnnotator::RunTask [0x6D5CEB43+1075]
STDERR: 	base::MessageLoop::RunTask [0x6D662474+884]
STDERR: 	base::MessageLoop::DeferOrRunPendingTask [0x6D662C59+73]
STDERR: 	base::MessageLoop::DoWork [0x6D663178+392]
STDERR: 	base::MessagePumpDefault::Run [0x6D671E01+81]
STDERR: 	base::MessageLoop::Run [0x6D661D86+486]
STDERR: 	base::RunLoop::Run [0x6D72F1D8+488]
STDERR: 	content::RendererMain [0x6B69900F+2095]
STDERR: 	content::RunOtherNamedProcessTypeMain [0x6B9C2F3F+175]
STDERR: 	content::ContentMainRunnerImpl::Run [0x6B9C40C6+966]
STDERR: 	content::ContentServiceManagerMainDelegate::RunEmbedderProcess [0x6B9C07F2+50]
STDERR: 	service_manager::Main [0x5DB239B6+1814]
STDERR: 	content::ContentMain [0x6B9C2D5C+92]
STDERR: 	wWinMain [0x00B710B1+177]
STDERR: 	invoke_main [0x028D588E+30] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:123)
STDERR: 	__scrt_common_main_seh [0x028D59E1+337] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)
STDERR: 	__scrt_common_main [0x028D5AAD+13] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:326)
STDERR: 	wWinMainCRTStartup [0x028D5AB8+8] (f:\dd\vctools\crt\vcstartup\src\startup\exe_wwinmain.cpp:17)
STDERR: 	BaseThreadInitThunk [0x76E1337A+18]
STDERR: 	RtlInitializeExceptionChain [0x77449882+99]
STDERR: 	RtlInitializeExceptionChain [0x77449855+54]
STDERR: 
Owner: ahaas@chromium.org
Status: Assigned (was: Available)
Labels: -Sheriff-Chromium
I reverted the culprit in V8. Please don't disable the test.
Status: Fixed (was: Assigned)
I fixed this issue in https://crrev.com/c/1172357
The problem was the following:
Finishing compilation of a WebAssembly module with streaming compilation requires both that all functions are compiled, and that all bytes of the module where received. Depending on which of these two events happen last, different code path trigger the finishing of compilation.

In the case that the streaming finishes second we are missing a HandleScope. This case triggers rarely in tests and was therefore not found until now.
Issue v8:8055 has been merged into this issue.
I request a merge for #7. The CL fixes a long-standing crash and is low-risk. At the moment the crash seems to get triggered rarely, but with the right WebAssembly module it should not be too difficult to trigger the bug.
Labels: Merge-Request-69
Project Member

Comment 12 by sheriffbot@chromium.org, Aug 16

Labels: -Merge-Request-69 Merge-Review-69 Hotlist-Merge-Review
This bug requires manual review: M69 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), kariahda@(iOS), cindyb@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows
Labels: -Merge-Review-69 Merge-Rejected-69
Per comment #10 this is long-standing crash and rarely triggered in M69. Rejecting merge to M69 per offline chat with ahaas@.

Sign in to add a comment