Flaky WebGL crashes in WebGLObject::deleteObject on multiple platforms |
||||||||||||||||||
Issue descriptionThe Win7 x64 Release (NVIDIA) bot has failed the last few builds in a row with different failures in the WebGL (1 and 2) conformance tests. No obvious suspects. There is one WebGL roll (https://codereview.chromium.org/2506863002) but I think it's unlikely to cause flakiness across all the tests. The failures are all crashes with the same stack trace: blink::WebGLObject::deleteObject [0x000007FEEC271703+23] blink::WebGLObject::onDetached [0x000007FEEC2717AF+27] blink::WebGLProgram::deleteObjectImpl [0x000007FEEC270A68+52] blink::WebGLObject::deleteObject [0x000007FEEC27173F+83] blink::WebGLSharedObject::detachContextGroup [0x000007FEEC27875F+31] blink::WebGLContextGroup::detachAndRemoveAllObjects [0x000007FEEC272DE2+118] blink::WebGLContextGroup::loseContextGroup [0x000007FEEC27319D+33] blink::WebGLRenderingContextBase::forceLostContext [0x000007FEEC247FDC+84] blink::WebGLRenderingContextBase::stop [0x000007FEEC251696+34] blink::HTMLCanvasElement::contextDestroyed [0x000007FEEB9DAC81+25] blink::LifecycleNotifier<blink::ExecutionContext,blink::ContextLifecycleObserver>::notifyContextDestroyed [0x000007FEEB78EA0C+228] blink::ExecutionContext::notifyContextDestroyed [0x000007FEEB78EB41+245] blink::Document::shutdown [0x000007FEEB78779D+1221] blink::FrameLoader::prepareForCommit [0x000007FEEBCF4A77+491] blink::FrameLoader::commitProvisionalLoad [0x000007FEEBCF221B+279] blink::DocumentLoader::commitIfReady [0x000007FEEBCF8DD2+46] blink::DocumentLoader::processData [0x000007FEEBCFA2D5+81] blink::DocumentLoader::dataReceived [0x000007FEEBCF9185+457] blink::RawResource::appendData [0x000007FEECFE226E+94] content::WebURLLoaderImpl::Context::OnReceivedData [0x000007FEECDE66BA+258] content::WebURLLoaderImpl::RequestPeerImpl::OnReceivedData [0x000007FEECDE6763+43] content::ResourceDispatcher::OnReceivedData [0x000007FEEB28E90F+767] IPC::MessageT<ResourceMsg_DataReceived_Meta,std::tuple<int,int,int,int,int>,void>::Dispatch<content::ResourceDispatcher,content::ResourceDispatcher,void,void (__cdecl content::ResourceDispatcher::*)(int,int,int,int,int) __ptr64> [0x000007FEEB28C843+199] content::ResourceDispatcher::DispatchMessageW [0x000007FEEB28DD46+398] content::ResourceDispatcher::OnMessageReceived [0x000007FEEB28E437+323] content::ResourceSchedulingFilter::DispatchMessageW [0x000007FEEB29606E+62] base::internal::InvokeHelper<1,void>::MakeItSo<void (__cdecl content::WebMediaPlayerMS::*const & __ptr64)(scoped_refptr<media::VideoFrame> const & __ptr64) __ptr64,base::WeakPtr<content::WebMediaPlayerMS> const & __ptr64,scoped_refptr<media::VideoFrame> c [0x000007FEEC92B17A+94] base::debug::TaskAnnotator::RunTask [0x000007FEEA78BEC9+361] blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue [0x000007FEEB37B698+976] blink::scheduler::TaskQueueManager::DoWork [0x000007FEEB37A83A+566] base::internal::InvokeHelper<1,void>::MakeItSo<void (__cdecl blink::scheduler::TaskQueueManager::*const & __ptr64)(base::TimeTicks,bool) __ptr64,base::WeakPtr<blink::scheduler::TaskQueueManager> const & __ptr64,base::TimeTicks const & __ptr64,bool const & [0x000007FEEB379115+105] base::debug::TaskAnnotator::RunTask [0x000007FEEA78BEC9+361] base::MessageLoop::RunTask [0x000007FEEA741F4E+1294] base::MessageLoop::DoWork [0x000007FEEA740C2A+394] base::MessagePumpDefault::Run [0x000007FEEA78E51F+431] base::RunLoop::Run [0x000007FEEA75331E+46] content::RendererMain [0x000007FEEC34B800+676] content::RunNamedProcessTypeMain [0x000007FEEA6DAD7F+423] content::ContentMainRunnerImpl::Run [0x000007FEEA6DAB7E+358] content::ContentMain [0x000007FEEA6D9E04+48] ChromeMain [0x000007FEE9A06A33+243] MainDllLoader::Launch [0x000000013F2B6294+868] wWinMain [0x000000013F2B2F6F+443] __scrt_common_main_seh [0x000000013F319A13+279] (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253) BaseThreadInitThunk [0x00000000770C59CD+13] RtlUserThreadStart [0x00000000771FB891+33] bot: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20x64%20Release%20%28NVIDIA%29 first failed build: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20x64%20Release%20%28NVIDIA%29/builds/7973
,
Nov 17 2016
,
Nov 17 2016
There's https://codereview.chromium.org/2490443002/ which touched WebGLRenderingContextBase.cpp a bit. It's not obvious that it is the cause though.
,
Nov 17 2016
The mac one could be different though, it looks like a timeout.
,
Nov 17 2016
My change here: https://codereview.chromium.org/2490443002/, should not affect any existing behavior. I will try to see if I can repro locally.
,
Nov 17 2016
I heard from hpayer@ that incremental wrapper tracing for V8's GC was turned on and then off again recently. Not sure what the current status is or whether that might have had an effect. Are there other changes to Blink's Oilpan collector?
,
Nov 17 2016
The mac failure is the same but the stack trace is a bit lower in the results: Operating system: Mac OS X 10.10.5 14F1808 CPU: amd64 family 6 model 69 stepping 1 4 CPUs GPU: UNKNOWN Crash reason: EXC_BAD_ACCESS / EXC_I386_GPFLT Crash address: 0x1118bee14 Process uptime: 145 seconds Thread 0 (crashed) 0 Chromium Framework!__ZN5blink11WebGLObject12deleteObjectEPN3gpu5gles214GLES2InterfaceE + 0x14 rax = 0x2c2c2c2c2c2c2c2c rdx = 0x0000000000000000 rcx = 0x0000000000040000 rbx = 0x00000b97a1d64398 rsi = 0x00007fe7332aa600 rdi = 0x00000b97a1d64398 rbp = 0x00007fff55619ed0 rsp = 0x00007fff55619ec0 r8 = 0x00007fff55619a50 r9 = 0x00007fe733900000 r10 = 0x0000000000000110 r11 = 0x00007fe733900000 r12 = 0x000020a355207f08 r13 = 0x0000244947caaa50 r14 = 0x00007fe7332aa600 r15 = 0x0000000000000003 rip = 0x00000001118bee14 Found by: given as instruction pointer in context 1 Chromium Framework!__ZN5blink12WebGLProgram16deleteObjectImplEPN3gpu5gles214GLES2InterfaceE + 0x34 rbp = 0x00007fff55619ef0 rsp = 0x00007fff55619ee0 rip = 0x00000001118bf184 Found by: previous frame's frame pointer 2 Chromium Framework!__ZN5blink11WebGLObject12deleteObjectEPN3gpu5gles214GLES2InterfaceE + 0x50 rbp = 0x00007fff55619f10 rsp = 0x00007fff55619f00 rip = 0x00000001118bee50 Found by: previous frame's frame pointer 3 Chromium Framework!__ZN5blink17WebGLSharedObject18detachContextGroupEv + 0x1f rbp = 0x00007fff55619f30 rsp = 0x00007fff55619f20 rip = 0x00000001118fc9df Found by: previous frame's frame pointer 4 Chromium Framework!__ZN5blink17WebGLContextGroup25detachAndRemoveAllObjectsEv + 0x18 rbp = 0x00007fff55619f50 rsp = 0x00007fff55619f40 rip = 0x00000001118b7c98 Found by: previous frame's frame pointer 5 Chromium Framework!__ZN5blink17WebGLContextGroup16loseContextGroupENS_22CanvasRenderingContext15LostContextModeENS_25WebGLRenderingContextBase18AutoRecoveryMethodE + 0x1c rbp = 0x00007fff55619f90 rsp = 0x00007fff55619f60 rip = 0x00000001118b802c Found by: previous frame's frame pointer 6 Chromium Framework!__ZN5blink17LifecycleNotifierINS_16ExecutionContextENS_24ContextLifecycleObserverEE22notifyContextDestroyedEv + 0x165 rbp = 0x00007fff5561a150 rsp = 0x00007fff55619fa0 rip = 0x0000000110c3c2c5 Found by: previous frame's frame pointer 7 Chromium Framework!__ZN5blink16ExecutionContext22notifyContextDestroyedEv + 0xcb rbp = 0x00007fff5561a1a0 rsp = 0x00007fff5561a160 rip = 0x00000001108510cb Found by: previous frame's frame pointer
,
Nov 17 2016
kbr: The flag was enabled between Monday (7db18648678acf332a4cb7c91b831dd231e26d62 r431951) and Tuesday (22b4f9c583ca8a3ef6aeae1903adb6445ebc9600 r432169), which meant it was on one Canary. We reverted, because I needed to enable another code path in V8, which without the flag was not exercised in production. I didn't want to take the risk of a roll blocker. Note, that I planned to reland after the branch cut. So, if you have any objections just let me know. We didn't land any changes to Oilpan wrt. to wrapper tracing throughout the last weeks.
,
Nov 17 2016
@mlippautz thanks for the info, it seems unrelated then - failures are for builds outside that range.
,
Nov 17 2016
kbr@, piman@: Do you think these are related: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20x64%20Release%20%28NVIDIA%29/builds/7991 https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%2010.10%20Release%20%28Intel%29/builds/19274 There is a whole bunch of image_bitmap tests that fails. I don't think there is any major change in ImageBitmap recently. The tests are all timing out. I am not sure what is happening there.
,
Nov 17 2016
The error message for the timeout tests: [3568:1720:1117/094508:INFO:CONSOLE(59)] "Uncaught (in promise) TypeError: Failed to execute 'createImageBitmap' on 'Window': Illegal invocation", source: http://127.0.0.1:49278/third_party/webgl/src/sdk/tests/js/tests/tex-image-and-sub-image-2d-with-image-bitmap-from-image-bitmap.js (59) Note that the tests has not been changed for at least 3 months.
,
Nov 17 2016
Xida: it looks like those failures were caused by https://codereview.chromium.org/2513573003/ . I don't know how that landed. Don't worry about them, since that V8 roll's been reverted.
,
Nov 17 2016
My running theory is that the WebGLProgram and its WebGLShaders become unreachable, and it so happens that the WebGLShaders get finalized (i.e. destroyed) but the WebGLProgram has not yet, and so it is still visible from the WebGLContextGroup through the m_groupObjects UntracedMember map. If WebGLContextGroup::detachAndRemoveAllObjects is then called before the WebGLProgram gets finalized, it is called into a bad state (its m_*Shader members point to finalized objects) and badness ensues. I suspect we may be able to fix this by doing the deletion/unregistration in a pre-finalizer, though documentation suggests this is bad for GC performance if we have many of those objects (which we would in a large WebGL app). Another option might be EAGERLY_FINALIZE, though documentation is sparse, so I don't know if it would give enough guarantees.
,
Nov 18 2016
Sigbjorn might have some idea. EAGERLY_FINALIZE is low overhead. Destructors of eargerly-finalized objects are allowed to touch not-eargerly-finalized objects.
,
Nov 18 2016
Ken said he'll take this. We can probably get rid of the map altogether and make the WebGLObjects EAGERLY_FINALIZE - see crbug.com/537054 for context
,
Nov 18 2016
,
Nov 18 2016
,
Nov 21 2016
Per Issue 537054 this is showing up frequently on the tryservers, in particular mac_chromium_rel_ng. Working on this with high priority.
,
Nov 21 2016
,
Dec 1 2016
This is a major source of flakiness in GPU.FYI waterfall: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/28539 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/28536 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/28512 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/28443 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/28401 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28NVIDIA%29/builds/19263 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Release%20%28NVIDIA%29/builds/25441 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Release%20%28NVIDIA%29/builds/25434 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Release%20%28NVIDIA%29/builds/25409 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Release%20%28NVIDIA%29/builds/25376 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Debug%20%28NVIDIA%29/builds/16377 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Debug%20%28NVIDIA%29/builds/16368 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%20GeForce%20730%29/builds/2543 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20x64%20Release%20%28NVIDIA%29/builds/8201 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20x64%20Release%20%28NVIDIA%29/builds/8167 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20x64%20Release%20%28NVIDIA%29/builds/8137 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20x64%20Release%20%28NVIDIA%29/builds/8117 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20x64%20Release%20%28NVIDIA%29/builds/8088 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20x64%20Release%20%28NVIDIA%29/builds/8083 https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20x64%20Debug%20%28NVIDIA%29/builds/6219 Interestingly, I've only seen it affect NVIDIA boards so far (I've looked only at Windows bots), maybe it will give a hint to why this is happening?
,
Dec 1 2016
All Intel WebGL tests are marked as flaky already on Windows, and old AMD. New AMD I think is not.
,
Dec 1 2016
Ah, on Mac it happens on Intel as well ... https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%2010.10%20Release%20%28Intel%29/builds/19706 https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%2010.10%20Release%20%28Intel%29/builds/19646 https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%2010.10%20Release%20%28Intel%29/builds/19641 https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%2010.10%20Release%20%28Intel%29/builds/19639 https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%2010.10%20Release%20%28Intel%29/builds/19633 https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%2010.10%20Release%20%28Intel%29/builds/19623 https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%2010.10%20Release%20%28Intel%29/builds/19604
,
Dec 2 2016
,
Dec 2 2016
Got it on Windows AMD, too https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28AMD%29/builds/372
,
Dec 2 2016
This looks like the top cause of flakiness on the GPU waterfall right now. Flakes reported on Issue 596622 point to this bug. Only one example from https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/341912 : WebglConformance_conformance_ogles_GL_swizzlers_swizzlers_089_to_096 (gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest) ... Backtrace: blink::WebGLObject::deleteObject [0x65CC274F+12] blink::WebGLProgram::deleteObjectImpl [0x65CC241A+40] blink::WebGLObject::deleteObject [0x65CC2781+62] blink::WebGLSharedObject::detachContextGroup [0x65CC77C0+23] blink::WebGLContextGroup::detachAndRemoveAllObjects [0x65CC3676+62] blink::WebGLContextGroup::loseContextGroup [0x65CC3919+16] blink::WebGLRenderingContextBase::forceLostContext [0x65CA5600+55] blink::WebGLRenderingContextBase::stop [0x65CAC9C0+23] blink::LifecycleNotifier<blink::ExecutionContext,blink::ContextLifecycleObserver>::notifyContextDestroyed [0x6552C67C+189] blink::Document::shutdown [0x65518A82+822] blink::FrameLoader::prepareForCommit [0x658E8713+394] blink::FrameLoader::commitProvisionalLoad [0x658E68D8+195] blink::DocumentLoader::processData [0x658EC7E0+63] blink::DocumentLoader::dataReceived [0x658EBA8D+405] blink::RawResource::appendData [0x666B4B83+51] blink::ResourceLoader::didReceiveData [0x6564A5EE+121] content::WebURLLoaderImpl::Context::OnReceivedData [0x6653EC98+174] content::WebURLLoaderImpl::RequestPeerImpl::OnReceivedData [0x6653ECF4+30] content::ResourceDispatcher::OnReceivedData [0x65190120+535] IPC::MessageT<ResourceMsg_DataReceived_Meta,std::tuple<int,int,int,int>,void>::Dispatch<content::ResourceDispatcher,content::ResourceDispatcher,void,void (__thiscall content::ResourceDispatcher::*)(int,int,int,int)> [0x6518E9AA+133] content::ResourceDispatcher::DispatchMessageW [0x6518F9BC+582] content::ResourceDispatcher::OnMessageReceived [0x6518FD8A+270] base::internal::InvokeHelper<1,void>::MakeItSo<void (__thiscall media::VideoRendererImpl::*const &)(media::PipelineStatistics const &),base::WeakPtr<media::VideoRendererImpl> const &,media::PipelineStatistics const &> [0x6574267A+41] base::internal::Invoker<base::internal::BindState<void (__thiscall content::ResourceSchedulingFilter::*)(IPC::Message const &),base::WeakPtr<content::ResourceSchedulingFilter>,IPC::Message>,void __cdecl(void)>::Run [0x65194864+23] base::debug::TaskAnnotator::RunTask [0x64894A7E+286] blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue [0x6523DCCF+720] blink::scheduler::TaskQueueManager::DoWork [0x6523D237+462] base::internal::FunctorTraits<void (__thiscall blink::scheduler::TaskQueueManager::*)(base::TimeTicks,bool),void>::Invoke<base::WeakPtr<blink::scheduler::TaskQueueManager> const &,base::TimeTicks const &,bool const &> [0x6523C678+34]
,
Dec 2 2016
,
Dec 2 2016
,
Dec 2 2016
,
Dec 2 2016
,
Dec 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f5e91b15573820ff14396b6be246c54ca6755a13 commit f5e91b15573820ff14396b6be246c54ca6755a13 Author: kbr <kbr@chromium.org> Date: Fri Dec 02 23:46:02 2016 Remove WebGLObject maps from WebGLRenderingContextBase and WebGLContextGroup. There are two high-level goals for the handling of WebGLObjects: 1) When they are GC'd, the underlying graphics resource is deleted promptly. 2) When the context is destroyed, all of the underlying graphics resources are reclaimed. The WebGLContextObject and WebGLSharedObject maps were an attempt to implement (2) before WebGL contexts were in their own client-side share group, separate from the compositor. Unfortunately, with the introduction of Oilpan, it's become clear that there are longstanding bugs in the lifetime management of WebGLObjects. These bugs recently began manifesting frequently on the bots. To fix these bugs, WebGLObjects are now eagerly finalized, rather than the WebGLRenderingContextBase. WebGLObjects maintain a strong reference either to their context or share group, depending on whether they're per-context or shared objects. WebGLContextGroup becomes an Oilpan object which maintains weak references to all of its contexts (currently, just one). WebGLRenderingContextBase maintains a strong reference to its context group. Because WebGLObjects can no longer be enumerated, their invalidation during context loss needs to be rewritten. This is handled by tracking the number of context losses on a per-share-group basis, and comparing this with a cached version in each WebGLObject instance during its validation. As a consequence of this change, most of the work in WebGLRenderingContextBase's destructor, as well as in the destructors of corollary types like WebGLExtension, becomes useless, and it has been removed. The destructors of the WebGLObject subclasses have been made more uniform to prevent errors. More fixes around wrapper tracing are probably both needed and enabled by this CL, but they can follow this necessary fix. BUG= 537054 , 666061 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel TBR=zmo@chromium.org Review-Url: https://codereview.chromium.org/2547813002 Cr-Commit-Position: refs/heads/master@{#436080} [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/ANGLEInstancedArrays.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/ANGLEInstancedArrays.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTBlendMinMax.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTBlendMinMax.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTColorBufferFloat.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTColorBufferFloat.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTDisjointTimerQuery.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTDisjointTimerQuery.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTDisjointTimerQueryWebGL2.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTDisjointTimerQueryWebGL2.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTFragDepth.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTFragDepth.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTShaderTextureLOD.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTShaderTextureLOD.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTTextureFilterAnisotropic.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTTextureFilterAnisotropic.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTsRGB.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/EXTsRGB.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESElementIndexUint.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESElementIndexUint.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESStandardDerivatives.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESStandardDerivatives.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESTextureFloat.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESTextureFloat.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESTextureFloatLinear.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESTextureFloatLinear.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESTextureHalfFloat.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESTextureHalfFloat.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESTextureHalfFloatLinear.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESTextureHalfFloatLinear.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESVertexArrayObject.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/OESVertexArrayObject.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContext.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContext.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLBuffer.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTextureASTC.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTextureASTC.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTextureATC.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTextureATC.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTextureETC.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTextureETC.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTextureETC1.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTextureETC1.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTexturePVRTC.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTexturePVRTC.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTextureS3TC.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTextureS3TC.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTextureS3TCsRGB.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLCompressedTextureS3TCsRGB.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLContextGroup.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLContextGroup.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLContextObject.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLContextObject.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLDebugRendererInfo.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLDebugRendererInfo.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLDebugShaders.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLDebugShaders.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLDepthTexture.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLDepthTexture.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLDrawBuffers.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLDrawBuffers.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLExtension.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLExtension.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLFenceSync.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLFenceSync.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLFramebuffer.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLLoseContext.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLLoseContext.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLObject.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLObject.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLProgram.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLQuery.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLRenderbuffer.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLRenderingContext.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLRenderingContext.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLSampler.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLShader.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLSharedObject.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLSharedObject.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLSharedPlatform3DObject.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLSharedPlatform3DObject.h [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLSync.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLTexture.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLTimerQueryEXT.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLTransformFeedback.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLVertexArrayObjectBase.cpp [modify] https://crrev.com/f5e91b15573820ff14396b6be246c54ca6755a13/third_party/WebKit/Source/modules/webgl/WebGLVertexArrayObjectBase.h
,
Dec 3 2016
I'm confident that f5e91b15573820ff14396b6be246c54ca6755a13 will fix this issue. I'll monitor the bots and close this next Monday if the problem appears to be resolved.
,
Dec 3 2016
There's one remaining assertion failure as seen here. Rather than revert the above I'm going to fix the logic in WebGLContextGroup::getAGLInterface(). https://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/347298 WebglConformance_conformance_context_premultiplyalpha_test (gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest) ... ASSERTION FAILED: !m_contexts.isEmpty() ../../third_party/WebKit/Source/modules/webgl/WebGLContextGroup.cpp(33) : gpu::gles2::GLES2Interface *blink::WebGLContextGroup::getAGLInterface() 1 0x10a40cafa blink::WebGLObject::deleteObject(gpu::gles2::GLES2Interface*) 2 0x10a40cbec blink::WebGLObject::runDestructor() 3 0x10a40ce38 blink::WebGLProgram::~WebGLProgram() 4 0x1048f905a blink::NormalPage::sweep() 5 0x1048f5748 blink::BaseArena::completeSweep() 6 0x104905dcc blink::ThreadState::eagerSweep() 7 0x104905813 blink::ThreadState::preSweep() 8 0x1049012c5 blink::ThreadState::collectGarbage(blink::BlinkGC::StackState, blink::BlinkGC::GCType, blink::BlinkGC::GCReason) 9 0x108c8704f blink::V8GCController::gcEpilogue(v8::Isolate*, v8::GCType, v8::GCCallbackFlags) 10 0x1037af812 v8::internal::Heap::CallGCEpilogueCallbacks(v8::GCType, v8::GCCallbackFlags) 11 0x1037b1552 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) 12 0x1037affd3 v8::internal::Heap::CollectGarbage(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*, v8::GCCallbackFlags) 13 0x1037aeb05 v8::internal::Heap::HandleGCRequest() 14 0x103754c9e v8::internal::StackGuard::HandleInterrupts() 15 0x103a95ddc v8::internal::__RT_impl_Runtime_StackGuard(v8::internal::Arguments, v8::internal::Isolate*) 16 0x2b1db348426e 17 0x2b1db36b0900 18 0x2b1db36af894
,
Dec 4 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f9370828c4ec76881000f95d39f1360e1beeb983 commit f9370828c4ec76881000f95d39f1360e1beeb983 Author: kbr <kbr@chromium.org> Date: Sun Dec 04 00:18:02 2016 Remove now-incorrect assert in WebGLContextGroup. BUG= 537054 , 666061 TBR=zmo@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2548153002 Cr-Commit-Position: refs/heads/master@{#436180} [modify] https://crrev.com/f9370828c4ec76881000f95d39f1360e1beeb983/third_party/WebKit/Source/modules/webgl/WebGLContextGroup.cpp
,
Dec 5 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/344f19bd27857cd931e41f09fd81573323ede110 commit 344f19bd27857cd931e41f09fd81573323ede110 Author: kbr <kbr@chromium.org> Date: Mon Dec 05 11:14:59 2016 Addressed haraken's feedback on the removal of WebGLObject maps. BUG= 537054 , 666061 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2548273002 Cr-Commit-Position: refs/heads/master@{#436259} [modify] https://crrev.com/344f19bd27857cd931e41f09fd81573323ede110/third_party/WebKit/Source/modules/webgl/WebGLContextGroup.cpp [modify] https://crrev.com/344f19bd27857cd931e41f09fd81573323ede110/third_party/WebKit/Source/modules/webgl/WebGLObject.h [modify] https://crrev.com/344f19bd27857cd931e41f09fd81573323ede110/third_party/WebKit/Source/modules/webgl/WebGLSharedObject.cpp
,
Dec 5 2016
There are no instances of this flake today on chromium-try-flakes per https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyLwsSBUZsYWtlIiR3ZWJnbF9jb25mb3JtYW5jZV90ZXN0cyAod2l0aCBwYXRjaCkM . Closing as Verified.
,
Dec 8 2016
,
Dec 20 2016
,
Jun 20 2017
|
||||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||||
Comment 1 by geoffl...@chromium.org
, Nov 17 2016