WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
223923
Crash in webgl/2.0.y/conformance/glsl/misc/uninitialized-local-global-variables.html ANGLE+METAL
https://bugs.webkit.org/show_bug.cgi?id=223923
Summary
Crash in webgl/2.0.y/conformance/glsl/misc/uninitialized-local-global-variab...
Kimmo Kinnunen
Reported
2021-03-30 04:42:40 PDT
Process: com.apple.WebKit.WebContent.Development [85074] Path: /Users/USER/*/com.apple.WebKit.WebContent.Development Identifier: com.apple.WebKit.WebContent.Development Version: 612+ (612.1.9+) Code Type: X86-64 (Native) Parent Process: ??? [1] User ID: 501 Date/Time: 2021-03-30 14:15:23.854 +0300 OS Version: macOS 11.3 (20E201) Report Version: 12 Bridge OS Version: 5.3 (18P4544) Anonymous UUID: ADEB2724-109F-6379-8A4B-657A6A37BBA8 Sleep/Wake UUID: D48EB9D4-6C73-426F-AF12-26DC79BB8DC1 Time Awake Since Boot: 110000 seconds Time Since Wake: 5200 seconds System Integrity Protection: enabled Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_INSTRUCTION (SIGILL) Exception Codes: 0x0000000000000001, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Termination Signal: Illegal instruction: 4 Termination Reason: Namespace SIGNAL, Code 0x4 Terminating Process: exc handler [85074] Application Specific Information: CRASHING TEST: webgl/2.0.y/conformance/glsl/misc/uninitialized-local-global-variables.html Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libANGLE-shared.dylib 0x000000028db411de gl::LogMessage::~LogMessage() + 238 (debug.cpp:199) 1 libANGLE-shared.dylib 0x000000028db40ab5 gl::LogMessage::~LogMessage() + 21 (debug.cpp:175) 2 libANGLE-shared.dylib 0x000000028df024a2 sh::Name::emit(sh::TInfoSinkBase&) const + 1122 (Name.cpp:94) 3 libANGLE-shared.dylib 0x000000028dbccfcd EmitName(sh::DebugSink&, sh::Name const&) + 61 (EmitMetal.cpp:989) 4 libANGLE-shared.dylib 0x000000028dbcca66 (anonymous namespace)::GenMetalTraverser::emitNameOf(sh::TSymbol const&) + 150 (EmitMetal.cpp:1002) 5 libANGLE-shared.dylib 0x000000028dbce420 (anonymous namespace)::GenMetalTraverser::emitBareTypeName(sh::TType const&, (anonymous namespace)::GenMetalTraverser::EmitTypeConfig const&) + 224 (EmitMetal.cpp:1041) 6 libANGLE-shared.dylib 0x000000028dbd3121 (anonymous namespace)::GenMetalTraverser::emitStructDeclaration(sh::TType const&) + 673 (EmitMetal.cpp:1334) 7 libANGLE-shared.dylib 0x000000028dbd27b4 (anonymous namespace)::GenMetalTraverser::emitVariableDeclaration((anonymous namespace)::VarDecl const&, (anonymous namespace)::GenMetalTraverser::EmitVariableDeclarationConfig const&) + 420 (EmitMetal.cpp:1437) 8 libANGLE-shared.dylib 0x000000028dbc9965 (anonymous namespace)::GenMetalTraverser::visitDeclaration(sh::Visit, sh::TIntermDeclaration*) + 453 (EmitMetal.cpp:2364) 9 libANGLE-shared.dylib 0x000000028de21a6a sh::TIntermDeclaration::visit(sh::Visit, sh::TIntermTraverser*) + 42 (IntermTraverse.cpp:166) 10 libANGLE-shared.dylib 0x000000028de2140a void sh::TIntermTraverser::traverse<sh::TIntermNode>(sh::TIntermNode*) + 106 (IntermTraverse.cpp:32) 11 libANGLE-shared.dylib 0x000000028de215ad sh::TIntermNode::traverse(sh::TIntermTraverser*) + 29 (IntermTraverse.cpp:60) 12 libANGLE-shared.dylib 0x000000028dbc9317 (anonymous namespace)::GenMetalTraverser::visitBlock(sh::Visit, sh::TIntermBlock*) + 775 (EmitMetal.cpp:2318) 13 libANGLE-shared.dylib 0x000000028de21ae7 sh::TIntermBlock::visit(sh::Visit, sh::TIntermTraverser*) + 39 (IntermTraverse.cpp:176) 14 libANGLE-shared.dylib 0x000000028de23a4a sh::TIntermTraverser::traverseBlock(sh::TIntermBlock*) + 138 (IntermTraverse.cpp:457) 15 libANGLE-shared.dylib 0x000000028de21764 sh::TIntermBlock::traverse(sh::TIntermTraverser*) + 36 (IntermTraverse.cpp:98) 16 libANGLE-shared.dylib 0x000000028dbc85e0 (anonymous namespace)::GenMetalTraverser::visitFunctionDefinition(sh::Visit, sh::TIntermFunctionDefinition*) + 208 (EmitMetal.cpp:2001) 17 libANGLE-shared.dylib 0x000000028de218e7 sh::TIntermFunctionDefinition::visit(sh::Visit, sh::TIntermTraverser*) + 39 (IntermTraverse.cpp:136) 18 libANGLE-shared.dylib 0x000000028de238f9 sh::TIntermTraverser::traverseFunctionDefinition(sh::TIntermFunctionDefinition*) + 105 (IntermTraverse.cpp:424) 19 libANGLE-shared.dylib 0x000000028de21734 sh::TIntermFunctionDefinition::traverse(sh::TIntermTraverser*) + 36 (IntermTraverse.cpp:93) 20 libANGLE-shared.dylib 0x000000028dbc9317 (anonymous namespace)::GenMetalTraverser::visitBlock(sh::Visit, sh::TIntermBlock*) + 775 (EmitMetal.cpp:2318) 21 libANGLE-shared.dylib 0x000000028de21ae7 sh::TIntermBlock::visit(sh::Visit, sh::TIntermTraverser*) + 39 (IntermTraverse.cpp:176) 22 libANGLE-shared.dylib 0x000000028de23a4a sh::TIntermTraverser::traverseBlock(sh::TIntermBlock*) + 138 (IntermTraverse.cpp:457) 23 libANGLE-shared.dylib 0x000000028de21764 sh::TIntermBlock::traverse(sh::TIntermTraverser*) + 36 (IntermTraverse.cpp:98) 24 libANGLE-shared.dylib 0x000000028dbc58b2 sh::EmitMetal(sh::TCompiler&, sh::TIntermBlock&, sh::IdGen&, sh::PipelineStructs const&, sh::Invariants const&, sh::SymbolEnv&, sh::ProgramPreludeConfig const&) + 1026 (EmitMetal.cpp:2636) 25 libANGLE-shared.dylib 0x000000028e22ffc8 sh::TranslatorMetalDirect::translateImpl(sh::TIntermBlock&, unsigned long long) + 6472 (TranslatorMetalDirect.cpp:1502) 26 libANGLE-shared.dylib 0x000000028e232c0c sh::TranslatorMetalDirect::translate(sh::TIntermBlock*, unsigned long long, sh::PerformanceDiagnostics*) + 316 (TranslatorMetalDirect.cpp:1552) 27 libANGLE-shared.dylib 0x000000028da70efe sh::TCompiler::compile(char const* const*, unsigned long, unsigned long long) + 286 (Compiler.cpp:981) 28 libANGLE-shared.dylib 0x000000028e1492a4 sh::Compile(void*, char const* const*, unsigned long, unsigned long long) + 340 (ShaderLang.cpp:336) 29 libANGLE-shared.dylib 0x000000028e14716a rx::TranslateTask::operator()() + 266 (ShaderImpl.cpp:52) 30 libANGLE-shared.dylib 0x000000028e2f4f3f angle::SingleThreadedWorkerPool::postWorkerTask(std::__1::shared_ptr<angle::Closure>) + 47 (WorkerThread.cpp:68) 31 libANGLE-shared.dylib 0x000000028e2f62a4 angle::WorkerThreadPool::PostWorkerTask(std::__1::shared_ptr<angle::WorkerThreadPool>, std::__1::shared_ptr<angle::Closure>) + 84 (WorkerThread.cpp:348) 32 libANGLE-shared.dylib 0x000000028e14c5c7 rx::ShaderMtl::compileImplMtl(gl::Context const*, gl::ShCompilerInstance*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long long) + 263 (ShaderMtl.mm:97) 33 libANGLE-shared.dylib 0x000000028e14ca70 rx::ShaderMtl::compile(gl::Context const*, gl::ShCompilerInstance*, unsigned long long) + 464 (ShaderMtl.mm:140) 34 libANGLE-shared.dylib 0x000000028e12ea3f gl::Shader::compile(gl::Context const*) + 1663 (Shader.cpp:367) 35 libANGLE-shared.dylib 0x000000028daaec19 gl::Context::compileShader(gl::ShaderProgramID) + 73 (Context.cpp:6183) 36 libANGLE-shared.dylib 0x000000028dc03a96 gl::CompileShader(unsigned int) + 134 (entry_points_gles_2_0_autogen.cpp:541) 37 com.apple.WebCore 0x0000000268d64794 WebCore::GraphicsContextGLOpenGL::compileShader(unsigned int) + 148 (GraphicsContextGLANGLE.cpp:917) 38 com.apple.WebCore 0x000000026c0682de WebCore::WebGLRenderingContextBase::compileShader(WebCore::WebGLShader&) + 126 (WebGLRenderingContextBase.cpp:1752) 39 com.apple.WebCore 0x000000026a2034d2 WebCore::jsWebGL2RenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGL2RenderingContext*)::'lambda'()::operator()() const + 34 (JSWebGL2RenderingContext.cpp:9387) 40 com.apple.WebCore 0x000000026a20333d JSC::JSValue WebCore::toJS<WebCore::IDLUndefined, WebCore::jsWebGL2RenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGL2RenderingContext*)::'lambda'()>(JSC::JSGlobalObject&, JSC::ThrowScope&, WebCore::jsWebGL2RenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGL2RenderingContext*)::'lambda'()&&) + 29 (JSDOMConvertBase.h:165) 41 com.apple.WebCore 0x000000026a20325c WebCore::jsWebGL2RenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGL2RenderingContext*) + 812 (JSWebGL2RenderingContext.cpp:9387) 42 com.apple.WebCore 0x000000026a202efc long long WebCore::IDLOperation<WebCore::JSWebGL2RenderingContext>::call<&(WebCore::jsWebGL2RenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGL2RenderingContext*)), (WebCore::CastedThisErrorBehavior)0>(JSC::JSGlobalObject&, JSC::CallFrame&, char const*) + 700 (JSDOMOperation.h:55) 43 com.apple.WebCore 0x000000026a16a4a4 WebCore::jsWebGL2RenderingContextPrototypeFunction_compileShader(JSC::JSGlobalObject*, JSC::CallFrame*) + 36 (JSWebGL2RenderingContext.cpp:9392) 44 ??? 0x00002169612011d8 0 + 36736484774360 45 com.apple.JavaScriptCore 0x000000028677799d llint_entry + 138395 (LowLevelInterpreter.asm:1093) 46 com.apple.JavaScriptCore 0x000000028677799d llint_entry + 138395 (LowLevelInterpreter.asm:1093) 47 com.apple.JavaScriptCore 0x000000028677799d llint_entry + 138395 (LowLevelInterpreter.asm:1093) 48 com.apple.JavaScriptCore 0x0000000286777a45 llint_entry + 138563 (LowLevelInterpreter.asm:1093) 49 com.apple.JavaScriptCore 0x0000000286755a10 vmEntryToJavaScript + 289 (LowLevelInterpreter64.asm:316) 50 com.apple.JavaScriptCore 0x0000000287618e3b JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 235 (JITCodeInlines.h:42) 51 com.apple.JavaScriptCore 0x0000000287618398 JSC::Interpreter::executeProgram(JSC::SourceCode const&, JSC::JSGlobalObject*, JSC::JSObject*) + 6600 (Interpreter.cpp:839) 52 com.apple.JavaScriptCore 0x00000002879f6b17 JSC::evaluate(JSC::JSGlobalObject*, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) + 567 (Completion.cpp:137) 53 com.apple.JavaScriptCore 0x00000002879f6c6a JSC::profiledEvaluate(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) + 74 (Completion.cpp:152) 54 com.apple.WebCore 0x000000026b3e5ebc WebCore::JSExecState::profiledEvaluate(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::SourceCode const&, JSC::JSValue, WTF::NakedPtr<JSC::Exception>&) + 76 (JSExecState.h:79) 55 com.apple.WebCore 0x000000026b3e5a9e WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld&) + 398 (ScriptController.cpp:148) 56 com.apple.WebCore 0x000000026b3e58c9 WebCore::ScriptController::evaluateInWorldIgnoringException(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld&) + 41 (ScriptController.cpp:121) 57 com.apple.WebCore 0x000000026b3e61c5 WebCore::ScriptController::evaluateIgnoringException(WebCore::ScriptSourceCode const&) + 53 (ScriptController.cpp:167) 58 com.apple.WebCore 0x000000026bb42b76 WebCore::ScriptElement::executeClassicScript(WebCore::ScriptSourceCode const&) + 1478 (ScriptElement.cpp:405) 59 com.apple.WebCore 0x000000026bb40b8b WebCore::ScriptElement::prepareScript(WTF::TextPosition const&, WebCore::ScriptElement::LegacyTypeSupport) + 2699 (ScriptElement.cpp:271) 60 com.apple.WebCore 0x000000026c0d5c76 WebCore::HTMLScriptRunner::runScript(WebCore::ScriptElement&, WTF::TextPosition const&) + 390 (HTMLScriptRunner.cpp:250) 61 com.apple.WebCore 0x000000026c0d5a77 WebCore::HTMLScriptRunner::execute(WTF::Ref<WebCore::ScriptElement, WTF::RawPtrTraits<WebCore::ScriptElement> >&&, WTF::TextPosition const&) + 71 (HTMLScriptRunner.cpp:140) 62 com.apple.WebCore 0x000000026c0b4181 WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() + 897 (HTMLDocumentParser.cpp:244) 63 com.apple.WebCore 0x000000026c0b4605 WebCore::HTMLDocumentParser::pumpTokenizerLoop(WebCore::HTMLDocumentParser::SynchronousMode, bool, WebCore::PumpSession&) + 133 (HTMLDocumentParser.cpp:263) 64 com.apple.WebCore 0x000000026c0b397f WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) + 495 (HTMLDocumentParser.cpp:322) 65 com.apple.WebCore 0x000000026c0b3116 WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode) + 198 (HTMLDocumentParser.cpp:196) 66 com.apple.WebCore 0x000000026c0b53b4 WebCore::HTMLDocumentParser::append(WTF::RefPtr<WTF::StringImpl, WTF::RawPtrTraits<WTF::StringImpl>, WTF::DefaultRefDerefTraits<WTF::StringImpl> >&&) + 548 (HTMLDocumentParser.cpp:437) 67 com.apple.WebCore 0x000000026b9449e6 WebCore::DecodedDataDocumentParser::appendBytes(WebCore::DocumentWriter&, char const*, unsigned long) + 150 (DecodedDataDocumentParser.cpp:50) 68 com.apple.WebCore 0x000000026c50114d WebCore::DocumentWriter::addData(char const*, unsigned long) + 365 (DocumentWriter.cpp:263) 69 com.apple.WebCore 0x000000026c4b37ae WebCore::DocumentLoader::commitData(char const*, unsigned long) + 2414 (DocumentLoader.cpp:1235) 70 com.apple.WebKit 0x0000000259e780c2 WebKit::WebFrameLoaderClient::committedLoad(WebCore::DocumentLoader*, char const*, int) + 82 (WebFrameLoaderClient.cpp:1147) 71 com.apple.WebCore 0x000000026c4b9ca1 WebCore::DocumentLoader::commitLoad(char const*, int) + 209 (DocumentLoader.cpp:1117) 72 com.apple.WebCore 0x000000026c4b9bc8 WebCore::DocumentLoader::dataReceived(char const*, int) + 568 (DocumentLoader.cpp:1268) 73 com.apple.WebCore 0x000000026c4ba578 WebCore::DocumentLoader::dataReceived(WebCore::CachedResource&, char const*, int) + 152 (DocumentLoader.cpp:1241) 74 com.apple.WebCore 0x000000026c63459e WebCore::CachedRawResource::notifyClientsDataWasReceived(char const*, unsigned int) + 142 (CachedRawResource.cpp:139) 75 com.apple.WebCore 0x000000026c6343a5 WebCore::CachedRawResource::updateBuffer(WebCore::SharedBuffer&) + 357 (CachedRawResource.cpp:76) 76 com.apple.WebCore 0x000000026c5be6ff WebCore::SubresourceLoader::didReceiveDataOrBuffer(char const*, int, WTF::RefPtr<WebCore::SharedBuffer, WTF::RawPtrTraits<WebCore::SharedBuffer>, WTF::DefaultRefDerefTraits<WebCore::SharedBuffer> >&&, long long, WebCore::DataPayloadType) + 671 (SubresourceLoader.cpp:537) 77 com.apple.WebCore 0x000000026c5be451 WebCore::SubresourceLoader::didReceiveData(char const*, unsigned int, long long, WebCore::DataPayloadType) + 97 (SubresourceLoader.cpp:505) 78 com.apple.WebKit 0x0000000259d7d2ba WebKit::WebResourceLoader::didReceiveData(IPC::ArrayReference<unsigned char, 18446744073709551615ul> const&, long long) + 1018 (WebResourceLoader.cpp:210) 79 com.apple.WebKit 0x000000025a378d09 void IPC::callMemberFunctionImpl<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference<unsigned char, 18446744073709551615ul> const&, long long), std::__1::tuple<IPC::ArrayReference<unsigned char, 18446744073709551615ul>, long long>, 0ul, 1ul>(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference<unsigned char, 18446744073709551615ul> const&, long long), std::__1::tuple<IPC::ArrayReference<unsigned char, 18446744073709551615ul>, long long>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 185 (HandleMessage.h:43) 80 com.apple.WebKit 0x000000025a378c40 void IPC::callMemberFunction<WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference<unsigned char, 18446744073709551615ul> const&, long long), std::__1::tuple<IPC::ArrayReference<unsigned char, 18446744073709551615ul>, long long>, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(std::__1::tuple<IPC::ArrayReference<unsigned char, 18446744073709551615ul>, long long>&&, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference<unsigned char, 18446744073709551615ul> const&, long long)) + 112 (HandleMessage.h:49) 81 com.apple.WebKit 0x000000025a376a66 void IPC::handleMessage<Messages::WebResourceLoader::DidReceiveData, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference<unsigned char, 18446744073709551615ul> const&, long long)>(IPC::Decoder&, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference<unsigned char, 18446744073709551615ul> const&, long long)) + 150 (HandleMessage.h:121) 82 com.apple.WebKit 0x000000025a376442 WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&, IPC::Decoder&) + 402 (WebResourceLoaderMessageReceiver.cpp:54) 83 com.apple.WebKit 0x0000000259d3e930 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 144 (NetworkProcessConnection.cpp:94) 84 com.apple.WebKit 0x0000000258084024 IPC::Connection::dispatchMessage(IPC::Decoder&) + 516 (Connection.cpp:1020) 85 com.apple.WebKit 0x00000002580847ec IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 636 (Connection.cpp:1065) 86 com.apple.WebKit 0x0000000258084e10 IPC::Connection::dispatchOneIncomingMessage() + 208 (Connection.cpp:1134) 87 com.apple.WebKit 0x00000002580a3368 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_9::operator()() + 88 (Connection.cpp:989) 88 com.apple.WebKit 0x00000002580a325e WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_9, void>::call() + 30 (Function.h:52) 89 com.apple.JavaScriptCore 0x00000002861aec62 WTF::Function<void ()>::operator()() const + 130 (Function.h:83) 90 com.apple.JavaScriptCore 0x0000000286226de5 WTF::RunLoop::performWork() + 341 (RunLoop.cpp:133) 91 com.apple.JavaScriptCore 0x000000028622a761 WTF::RunLoop::performWork(void*) + 33 (RunLoopCF.cpp:46) 92 com.apple.CoreFoundation 0x00007fff2045be2c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 93 com.apple.CoreFoundation 0x00007fff2045bd94 __CFRunLoopDoSource0 + 180 94 com.apple.CoreFoundation 0x00007fff2045bb14 __CFRunLoopDoSources0 + 242 95 com.apple.CoreFoundation 0x00007fff2045a53c __CFRunLoopRun + 893 96 com.apple.CoreFoundation 0x00007fff20459afc CFRunLoopRunSpecific + 563 97 com.apple.Foundation 0x00007fff211e3bb7 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212 98 com.apple.Foundation 0x00007fff21271a81 -[NSRunLoop(NSRunLoop) run] + 76 99 libxpc.dylib 0x00007fff200b138d _xpc_objc_main + 825 100 libxpc.dylib 0x00007fff200b0cd3 xpc_main + 116 101 com.apple.WebKit 0x0000000258d628e1 WebKit::XPCServiceMain(int, char const**) + 1025 (XPCServiceMain.mm:209) 102 com.apple.WebKit 0x000000025a404c6b WKXPCServiceMain + 27 (WKMain.mm:33) 103 com.apple.WebKit.WebContent 0x000000010e91eea2 main + 34 (AuxiliaryProcessMain.cpp:30) 104 libdyld.dylib 0x00007fff2037df3d start + 1
Attachments
Patch
(8.35 KB, patch)
2021-03-31 15:57 PDT
,
Kyle Piddington
no flags
Details
Formatted Diff
Diff
Patch
(11.32 KB, patch)
2021-04-09 18:01 PDT
,
Kyle Piddington
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Kyle Piddington
Comment 1
2021-03-31 15:57:37 PDT
Created
attachment 424838
[details]
Patch
EWS Watchlist
Comment 2
2021-03-31 15:58:21 PDT
Note that there are important steps to take when updating ANGLE. See
https://trac.webkit.org/wiki/UpdatingANGLE
Kenneth Russell
Comment 3
2021-04-01 12:35:01 PDT
Comment on
attachment 424838
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=424838&action=review
> Source/ThirdParty/ANGLE/ChangeLog:4 > + Correctly handle nameless structs in metal backend
This ChangeLog line's in the wrong place. It should be in a new paragraph after the bug ID. Please fix indentation too.
> Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:37 > + if (type.isStructSpecifier() && symbolType != SymbolType::Empty)
Would it be possible to add a unit test under src/tests/compiler_tests for this change, looking (for example) for the "unnamed" prefix?
> Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:43 > + if(structure->symbolType() == SymbolType::Empty && !structure->isVariable())
This seems weird to me. structure is a TStructure - why would its symbolType be empty, and further, why would it ever have Variable SymbolClass? Possible to describe in a comment the layout of the data structures for named vs. unnamed / inline structures?
> Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:45 > + const TStructure * structDefn = new TStructure(mSymbolTable, mIdGen.createNewName("unnamed").rawName(), &(structure->fields()) , SymbolType::AngleInternal);
Is it guaranteed that this generated name doesn't collide with anything? Does it use a prefix that's reserved, like "_webgl" per
https://www.khronos.org/registry/webgl/specs/latest/1.0/#4.3
?
Radar WebKit Bug Importer
Comment 4
2021-04-06 04:43:16 PDT
<
rdar://problem/76262154
>
Kyle Piddington
Comment 5
2021-04-09 18:01:46 PDT
Created
attachment 425671
[details]
Patch
Kenneth Russell
Comment 6
2021-04-10 21:59:47 PDT
Comment on
attachment 425671
[details]
Patch Looks good! r+
EWS
Comment 7
2021-04-12 12:01:15 PDT
Committed
r275832
(
236402@main
): <
https://commits.webkit.org/236402@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 425671
[details]
.
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