WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
Bug 205662
REGRESSION (
r253926
): webgl/2.0.0/conformance2/renderbuffers/multisampled-renderbuffer-initialization.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=205662
Summary
REGRESSION (r253926): webgl/2.0.0/conformance2/renderbuffers/multisampled-ren...
Alexey Proskuryakov
Reported
2019-12-31 14:18:18 PST
webgl/2.0.0/conformance2/renderbuffers/multisampled-renderbuffer-initialization.html became a flaky failure on all Mac bots after switching to ANGLE.
https://results.webkit.org/?suite=layout-tests&test=webgl%2F2.0.0%2Fconformance2%2Frenderbuffers%2Fmultisampled-renderbuffer-initialization.html
FWIW, the story seems to be more subtle on internal bots, some of which saw the test flake in different ways prior to the switch, but it's a 100% clear regression in open source. @@ -49,7 +49,7 @@ [ 46: PASS ] gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE [ 47: PASS ] getError was expected value: NO_ERROR : should be no errors [ 48: PASS ] getError was expected value: NO_ERROR : should be no errors -[ 49: PASS ] user buffer has been initialized to 0 +[ 49: FAIL ] user buffer has been initialized to 0 at (8, 0) expected: 0,0,0,0 was 255,255,255,255 [ 50: PASS ] getError was expected value: NO_ERROR : should be no errors [ 51: PASS ] internal buffers have been initialized to 0 [ 52: PASS ] getError was expected value: NO_ERROR : should be no error after framebufferRenderbuffer. @@ -112,7 +112,7 @@ [ 109: PASS ] gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE [ 110: PASS ] getError was expected value: NO_ERROR : should be no errors [ 111: PASS ] getError was expected value: NO_ERROR : should be no errors -[ 112: PASS ] user buffer has been initialized to 0 +[ 112: FAIL ] user buffer has been initialized to 0 at (8, 0) expected: 0,0,0,0 was 255,255,255,255 [ 113: PASS ] getError was expected value: NO_ERROR : should be no errors [ 114: PASS ] internal buffers have been initialized to 0 [ 115: PASS ] getError was expected value: NO_ERROR : should be no error after framebufferRenderbuffer. @@ -130,5 +130,5 @@ [ 127: PASS ] clearColor is [0, 1, 0, 1] [ 128: PASS ] getError was expected value: NO_ERROR : should be no errors [ 129: PASS ] successfullyParsed is true -[ FAIL ] 8 failures reported +[ FAIL ] 10 failures reported
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2019-12-31 14:18:35 PST
<
rdar://problem/58256926
>
Justin Fan
Comment 2
2020-02-04 16:49:26 PST
Interestingly, both iMac Pro and Mac mini 8,1 crashed every 274 iterations of this test, but the failure described by this bug does not reproduce.
Justin Fan
Comment 3
2020-02-04 16:51:18 PST
stack trace: CRASHING TEST: webgl/2.0.0/conformance2/renderbuffers/multisampled-renderbuffer-initialization.html Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.JavaScriptCore 0x000000020a0570de WTFCrash + 14 (Assertions.cpp:305) 1 com.apple.WebCore 0x00000001f0009b9b WTFCrashWithInfo(int, char const*, char const*, int) + 27 2 com.apple.WebCore 0x00000001f170d8b9 -[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:] + 537 (WebGLLayer.mm:213) 3 com.apple.WebCore 0x00000001f16ed4e8 WebCore::GraphicsContextGLOpenGL::allocateIOSurfaceBackingStore(WebCore::IntSize) + 152 (GraphicsContextGLOpenGLCocoa.mm:773) 4 com.apple.WebCore 0x00000001f017f5e8 WebCore::GraphicsContextGLOpenGL::reshapeFBOs(WebCore::IntSize const&) + 952 (GraphicsContextGLANGLE.cpp:197) 5 com.apple.WebCore 0x00000001f01810c0 WebCore::GraphicsContextGLOpenGL::reshape(int, int) + 368 (GraphicsContextGLANGLE.cpp:578) 6 com.apple.WebCore 0x00000001f2c8d293 WebCore::WebGLRenderingContextBase::reshape(int, int) + 259 (WebGLRenderingContextBase.cpp:1078) 7 com.apple.WebCore 0x00000001f2a44589 WebCore::HTMLCanvasElement::reset() + 681 8 com.apple.WebCore 0x00000001f2a442bd WebCore::HTMLCanvasElement::parseAttribute(WebCore::QualifiedName const&, WTF::AtomString const&) + 125 9 com.apple.WebCore 0x00000001f26d06f4 WebCore::Element::attributeChanged(WebCore::QualifiedName const&, WTF::AtomString const&, WTF::AtomString const&, WebCore::Element::AttributeModificationReason) + 1156 (Element.cpp:1791) 10 com.apple.WebCore 0x00000001f282d57c WebCore::StyledElement::attributeChanged(WebCore::QualifiedName const&, WTF::AtomString const&, WTF::AtomString const&, WebCore::Element::AttributeModificationReason) + 236 (StyledElement.cpp:155) 11 com.apple.WebCore 0x00000001f26dc966 WebCore::Element::didModifyAttribute(WebCore::QualifiedName const&, WTF::AtomString const&, WTF::AtomString const&) + 70 (Element.cpp:3960) 12 com.apple.WebCore 0x00000001f26cfeec WebCore::Element::setAttributeInternal(unsigned int, WebCore::QualifiedName const&, WTF::AtomString const&, WebCore::Element::SynchronizationOfLazyAttribute) + 364 (Element.cpp:1741) 13 com.apple.WebCore 0x00000001f26d01e5 WebCore::Element::setAttributeWithoutSynchronization(WebCore::QualifiedName const&, WTF::AtomString const&) + 117 (Element.cpp:1703) 14 com.apple.WebCore 0x00000001f2a44abb WebCore::HTMLCanvasElement::setWidth(unsigned int) + 267 (HTMLCanvasElement.cpp:177) 15 com.apple.WebCore 0x00000001f0a7ec7d WebCore::setJSHTMLCanvasElementWidthSetter(JSC::JSGlobalObject&, WebCore::JSHTMLCanvasElement&, JSC::JSValue, JSC::ThrowScope&)::'lambda'()::operator()() const + 61 (JSHTMLCanvasElement.cpp:241) 16 com.apple.WebCore 0x00000001f0a7d1a1 std::__1::enable_if<!(std::is_same<void, decltype(fp1())>::value), void>::type WebCore::AttributeSetter::call<WebCore::setJSHTMLCanvasElementWidthSetter(JSC::JSGlobalObject&, WebCore::JSHTMLCanvasElement&, JSC::JSValue, JSC::ThrowScope&)::'lambda'()>(JSC::JSGlobalObject&, JSC::ThrowScope&, WebCore::setJSHTMLCanvasElementWidthSetter(JSC::JSGlobalObject&, WebCore::JSHTMLCanvasElement&, JSC::JSValue, JSC::ThrowScope&)::'lambda'()&&) + 33 (JSDOMAttribute.h:104) 17 com.apple.WebCore 0x00000001f0a7d0e8 WebCore::setJSHTMLCanvasElementWidthSetter(JSC::JSGlobalObject&, WebCore::JSHTMLCanvasElement&, JSC::JSValue, JSC::ThrowScope&) + 520 (JSHTMLCanvasElement.cpp:243) 18 com.apple.WebCore 0x00000001f09c8ce4 bool WebCore::IDLAttribute<WebCore::JSHTMLCanvasElement>::set<&(WebCore::setJSHTMLCanvasElementWidthSetter(JSC::JSGlobalObject&, WebCore::JSHTMLCanvasElement&, JSC::JSValue, JSC::ThrowScope&)), (WebCore::CastedThisErrorBehavior)0>(JSC::JSGlobalObject&, long long, long long, char const*) + 324 (JSDOMAttribute.h:50) 19 com.apple.WebCore 0x00000001f09c8b8c WebCore::setJSHTMLCanvasElementWidth(JSC::JSGlobalObject*, long long, long long) + 44 (JSHTMLCanvasElement.cpp:248) 20 com.apple.JavaScriptCore 0x000000020b5df14f JSC::callCustomSetter(JSC::JSGlobalObject*, bool (*)(JSC::JSGlobalObject*, long long, long long), bool, JSC::JSValue, JSC::JSValue) + 191 (CustomGetterSetter.cpp:41) 21 com.apple.JavaScriptCore 0x000000020b5df223 JSC::callCustomSetter(JSC::JSGlobalObject*, JSC::JSValue, bool, JSC::JSObject*, JSC::JSValue, JSC::JSValue) + 163 (CustomGetterSetter.cpp:58) 22 com.apple.JavaScriptCore 0x000000020b7480de JSC::JSObject::putInlineSlow(JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) + 1566 (JSObject.cpp:824) 23 com.apple.JavaScriptCore 0x000000020b747a6e JSC::JSObject::putInlineForJSObject(JSC::JSCell*, JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) + 1262 (JSObjectInlines.h:263) 24 com.apple.JavaScriptCore 0x000000020af52c28 JSC::JSCell::putInline(JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) + 152 (JSCellInlines.h:413) 25 com.apple.JavaScriptCore 0x000000020af54523 JSC::JSValue::putInline(JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) + 163 (JSCJSValueInlines.h:996) 26 com.apple.JavaScriptCore 0x000000020b37ef86 llint_slow_path_put_by_id + 806 (LLIntSlowPaths.cpp:845) 27 com.apple.JavaScriptCore 0x000000020a52de1d llint_entry + 43183 (LowLevelInterpreter64.asm:348) 28 com.apple.JavaScriptCore 0x000000020a540639 llint_entry + 118987 (LowLevelInterpreter.asm:1000) 29 com.apple.JavaScriptCore 0x000000020a523303 vmEntryToJavaScript + 273 (LowLevelInterpreter64.asm:298) 30 com.apple.JavaScriptCore 0x000000020b2734f7 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 199 (JITCodeInlines.h:38) 31 com.apple.JavaScriptCore 0x000000020b272b7c JSC::Interpreter::executeProgram(JSC::SourceCode const&, JSC::JSGlobalObject*, JSC::JSObject*) + 6348 (Interpreter.cpp:851) 32 com.apple.JavaScriptCore 0x000000020b5c6c3c JSC::evaluate(JSC::JSGlobalObject*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) + 556 (Completion.cpp:146) 33 com.apple.JavaScriptCore 0x000000020b5c6de8 JSC::profiledEvaluate(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) + 72 (Completion.cpp:161) 34 com.apple.WebCore 0x00000001f21882d8 WebCore::JSExecState::profiledEvaluate(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) + 72 (JSExecState.h:79) 35 com.apple.WebCore 0x00000001f2187f17 WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld&) + 359 (ScriptController.cpp:144) 36 com.apple.WebCore 0x00000001f2187d69 WebCore::ScriptController::evaluateInWorldIgnoringException(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld&) + 41 (ScriptController.cpp:117) 37 com.apple.WebCore 0x00000001f21885a5 WebCore::ScriptController::evaluateIgnoringException(WebCore::ScriptSourceCode const&) + 53 (ScriptController.cpp:164) 38 com.apple.WebCore 0x00000001f27e4b7d WebCore::ScriptElement::executeClassicScript(WebCore::ScriptSourceCode const&) + 893 (ScriptElement.cpp:393) 39 com.apple.WebCore 0x00000001f27e2dea WebCore::ScriptElement::prepareScript(WTF::TextPosition const&, WebCore::ScriptElement::LegacyTypeSupport) + 2602 (ScriptElement.cpp:268) 40 com.apple.WebCore 0x00000001f2cf34df WebCore::HTMLScriptRunner::runScript(WebCore::ScriptElement&, WTF::TextPosition const&) + 383 (HTMLScriptRunner.cpp:252) 41 com.apple.WebCore 0x00000001f2cf32df WebCore::HTMLScriptRunner::execute(WTF::Ref<WebCore::ScriptElement, WTF::DumbPtrTraits<WebCore::ScriptElement> >&&, WTF::TextPosition const&) + 79 (HTMLScriptRunner.cpp:140) 42 com.apple.WebCore 0x00000001f2cd810a WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() + 922 (HTMLDocumentParser.cpp:236) 43 com.apple.WebCore 0x00000001f2cd856d WebCore::HTMLDocumentParser::pumpTokenizerLoop(WebCore::HTMLDocumentParser::SynchronousMode, bool, WebCore::PumpSession&) + 141 (HTMLDocumentParser.cpp:255) 44 com.apple.WebCore 0x00000001f2cd7914 WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) + 468 (HTMLDocumentParser.cpp:305) 45 com.apple.WebCore 0x00000001f2cd729d WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode) + 205 (HTMLDocumentParser.cpp:189) 46 com.apple.WebCore 0x00000001f2cd927c WebCore::HTMLDocumentParser::append(WTF::RefPtr<WTF::StringImpl, WTF::DumbPtrTraits<WTF::StringImpl> >&&) + 556 (HTMLDocumentParser.cpp:419) 47 com.apple.WebCore 0x00000001f25fb76e WebCore::DecodedDataDocumentParser::appendBytes(WebCore::DocumentWriter&, char const*, unsigned long) + 158 (DecodedDataDocumentParser.cpp:50) 48 com.apple.WebCore 0x00000001f30488d5 WebCore::DocumentWriter::addData(char const*, unsigned long) + 357 (DocumentWriter.cpp:258) 49 com.apple.WebCore 0x00000001f3042a58 WebCore::DocumentLoader::commitData(char const*, unsigned long) + 2632 50 com.apple.WebKit 0x000000010c4ff2df WebKit::WebFrameLoaderClient::committedLoad(WebCore::DocumentLoader*, char const*, int) + 79 51 com.apple.WebCore 0x00000001f304755a WebCore::DocumentLoader::commitLoad(char const*, int) + 202 (DocumentLoader.cpp:1021) 52 com.apple.WebCore 0x00000001f3047485 WebCore::DocumentLoader::dataReceived(char const*, int) + 565 (DocumentLoader.cpp:1168) 53 com.apple.WebCore 0x00000001f3048976 WebCore::DocumentLoader::dataReceived(WebCore::CachedResource&, char const*, int) + 150 (DocumentLoader.cpp:1141) 54 com.apple.WebCore 0x00000001f318e4dc WebCore::CachedRawResource::notifyClientsDataWasReceived(char const*, unsigned int) + 140 (CachedRawResource.cpp:135) 55 com.apple.WebCore 0x00000001f318e32b WebCore::CachedRawResource::updateBuffer(WebCore::SharedBuffer&) + 331 (CachedRawResource.cpp:74) 56 com.apple.WebCore 0x00000001f3123942 WebCore::SubresourceLoader::didReceiveDataOrBuffer(char const*, int, WTF::RefPtr<WebCore::SharedBuffer, WTF::DumbPtrTraits<WebCore::SharedBuffer> >&&, long long, WebCore::DataPayloadType) + 674 (SubresourceLoader.cpp:519) 57 com.apple.WebCore 0x00000001f3123691 WebCore::SubresourceLoader::didReceiveData(char const*, unsigned int, long long, WebCore::DataPayloadType) + 97 (SubresourceLoader.cpp:487) 58 com.apple.WebKit 0x000000010c3fb024 WebKit::WebResourceLoader::didReceiveData(IPC::DataReference const&, long long) + 996 59 com.apple.WebKit 0x000000010c9f04c3 void IPC::callMemberFunctionImpl<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&, long long), std::__1::tuple<IPC::DataReference, long long>, 0ul, 1ul>(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&, long long), std::__1::tuple<IPC::DataReference, long long>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 179 (HandleMessage.h:42) 60 com.apple.WebKit 0x000000010c9f0400 void IPC::callMemberFunction<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&, long long), std::__1::tuple<IPC::DataReference, long long>, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(std::__1::tuple<IPC::DataReference, long long>&&, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&, long long)) + 112 (HandleMessage.h:48) 61 com.apple.WebKit 0x000000010c9edf8e void IPC::handleMessage<Messages::WebResourceLoader::DidReceiveData, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&, long long)>(IPC::Decoder&, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&, long long)) + 238 (HandleMessage.h:121) 62 com.apple.WebKit 0x000000010c9ed680 WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&, IPC::Decoder&) + 544 (WebResourceLoaderMessageReceiver.cpp:62) 63 com.apple.WebKit 0x000000010c3ee786 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 166 (NetworkProcessConnection.cpp:89) 64 com.apple.WebKit 0x000000010b1b5b49 IPC::Connection::dispatchMessage(IPC::Decoder&) + 473 (Connection.cpp:1009) 65 com.apple.WebKit 0x000000010b1b64b1 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 577 66 com.apple.WebKit 0x000000010b1b6b43 IPC::Connection::dispatchOneIncomingMessage() + 211 (Connection.cpp:1146) 67 com.apple.WebKit 0x000000010b1d322b IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_7::operator()() + 91 (Connection.cpp:986) 68 com.apple.WebKit 0x000000010b1d3149 WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_7, void>::call() + 25 (Function.h:52) 69 com.apple.JavaScriptCore 0x000000020a07dc6a WTF::Function<void ()>::operator()() const + 138 (Function.h:84) 70 com.apple.JavaScriptCore 0x000000020a0e8cd3 WTF::RunLoop::performWork() + 211 (RunLoop.cpp:108) 71 com.apple.JavaScriptCore 0x000000020a0e970e WTF::RunLoop::performWork(void*) + 30 (RunLoopCF.cpp:39) 72 com.apple.CoreFoundation 0x00007fff311efb21 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 73 com.apple.CoreFoundation 0x00007fff311efac0 __CFRunLoopDoSource0 + 103 74 com.apple.CoreFoundation 0x00007fff311ef8d4 __CFRunLoopDoSources0 + 209 75 com.apple.CoreFoundation 0x00007fff311ee740 __CFRunLoopRun + 1272 76 com.apple.CoreFoundation 0x00007fff311edbd3 CFRunLoopRunSpecific + 499 77 com.apple.Foundation 0x00007fff33891188 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 78 com.apple.Foundation 0x00007fff33944d6b -[NSRunLoop(NSRunLoop) run] + 76 79 libxpc.dylib 0x00007fff68a38191 _xpc_objc_main.cold.4 + 49 80 libxpc.dylib 0x00007fff68a380d7 _xpc_objc_main + 559 81 libxpc.dylib 0x00007fff68a37c0a xpc_main + 377 82 com.apple.WebKit 0x000000010b95b55a WebKit::XPCServiceMain(int, char const**) + 1322 (XPCServiceMain.mm:160) 83 com.apple.WebKit 0x000000010ca8b27b WKXPCServiceMain + 27 (WKMain.mm:33) 84 com.apple.WebKit.WebContent 0x000000010b13beb2 main + 34 (AuxiliaryProcessMain.cpp:30) 85 libdyld.dylib 0x00007fff687ea7fd start + 1
Kenneth Russell
Comment 4
2020-02-04 17:22:39 PST
Does it seem likely that there is a resource leak? The only assertions in that function are: ASSERT(_contentsBuffer); ASSERT(_drawingBuffer); ASSERT(_spareBuffer); which are calls to WebCore::IOSurface::create() - one of the calls is returning null.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug