<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>223923</bug_id>
          
          <creation_ts>2021-03-30 04:42:40 -0700</creation_ts>
          <short_desc>Crash in  webgl/2.0.y/conformance/glsl/misc/uninitialized-local-global-variables.html ANGLE+METAL</short_desc>
          <delta_ts>2021-06-29 03:40:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>ANGLE</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=227482</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>220076</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kyle Piddington">kpiddington</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1745082</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-30 04:42:40 -0700</bug_when>
    <thetext>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&amp;) const + 1122 (Name.cpp:94)
3   libANGLE-shared.dylib         	0x000000028dbccfcd EmitName(sh::DebugSink&amp;, sh::Name const&amp;) + 61 (EmitMetal.cpp:989)
4   libANGLE-shared.dylib         	0x000000028dbcca66 (anonymous namespace)::GenMetalTraverser::emitNameOf(sh::TSymbol const&amp;) + 150 (EmitMetal.cpp:1002)
5   libANGLE-shared.dylib         	0x000000028dbce420 (anonymous namespace)::GenMetalTraverser::emitBareTypeName(sh::TType const&amp;, (anonymous namespace)::GenMetalTraverser::EmitTypeConfig const&amp;) + 224 (EmitMetal.cpp:1041)
6   libANGLE-shared.dylib         	0x000000028dbd3121 (anonymous namespace)::GenMetalTraverser::emitStructDeclaration(sh::TType const&amp;) + 673 (EmitMetal.cpp:1334)
7   libANGLE-shared.dylib         	0x000000028dbd27b4 (anonymous namespace)::GenMetalTraverser::emitVariableDeclaration((anonymous namespace)::VarDecl const&amp;, (anonymous namespace)::GenMetalTraverser::EmitVariableDeclarationConfig const&amp;) + 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&lt;sh::TIntermNode&gt;(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&amp;, sh::TIntermBlock&amp;, sh::IdGen&amp;, sh::PipelineStructs const&amp;, sh::Invariants const&amp;, sh::SymbolEnv&amp;, sh::ProgramPreludeConfig const&amp;) + 1026 (EmitMetal.cpp:2636)
25  libANGLE-shared.dylib         	0x000000028e22ffc8 sh::TranslatorMetalDirect::translateImpl(sh::TIntermBlock&amp;, 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&lt;angle::Closure&gt;) + 47 (WorkerThread.cpp:68)
31  libANGLE-shared.dylib         	0x000000028e2f62a4 angle::WorkerThreadPool::PostWorkerTask(std::__1::shared_ptr&lt;angle::WorkerThreadPool&gt;, std::__1::shared_ptr&lt;angle::Closure&gt;) + 84 (WorkerThread.cpp:348)
32  libANGLE-shared.dylib         	0x000000028e14c5c7 rx::ShaderMtl::compileImplMtl(gl::Context const*, gl::ShCompilerInstance*, std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt; const&amp;, 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&amp;) + 126 (WebGLRenderingContextBase.cpp:1752)
39  com.apple.WebCore             	0x000000026a2034d2 WebCore::jsWebGL2RenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGL2RenderingContext*)::&apos;lambda&apos;()::operator()() const + 34 (JSWebGL2RenderingContext.cpp:9387)
40  com.apple.WebCore             	0x000000026a20333d JSC::JSValue WebCore::toJS&lt;WebCore::IDLUndefined, WebCore::jsWebGL2RenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGL2RenderingContext*)::&apos;lambda&apos;()&gt;(JSC::JSGlobalObject&amp;, JSC::ThrowScope&amp;, WebCore::jsWebGL2RenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGL2RenderingContext*)::&apos;lambda&apos;()&amp;&amp;) + 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&lt;WebCore::JSWebGL2RenderingContext&gt;::call&lt;&amp;(WebCore::jsWebGL2RenderingContextPrototypeFunction_compileShaderBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGL2RenderingContext*)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::JSGlobalObject&amp;, JSC::CallFrame&amp;, 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&amp;, JSC::JSGlobalObject*, JSC::JSObject*) + 6600 (Interpreter.cpp:839)
52  com.apple.JavaScriptCore      	0x00000002879f6b17 JSC::evaluate(JSC::JSGlobalObject*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 567 (Completion.cpp:137)
53  com.apple.JavaScriptCore      	0x00000002879f6c6a JSC::profiledEvaluate(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 74 (Completion.cpp:152)
54  com.apple.WebCore             	0x000000026b3e5ebc WebCore::JSExecState::profiledEvaluate(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 76 (JSExecState.h:79)
55  com.apple.WebCore             	0x000000026b3e5a9e WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;) + 398 (ScriptController.cpp:148)
56  com.apple.WebCore             	0x000000026b3e58c9 WebCore::ScriptController::evaluateInWorldIgnoringException(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;) + 41 (ScriptController.cpp:121)
57  com.apple.WebCore             	0x000000026b3e61c5 WebCore::ScriptController::evaluateIgnoringException(WebCore::ScriptSourceCode const&amp;) + 53 (ScriptController.cpp:167)
58  com.apple.WebCore             	0x000000026bb42b76 WebCore::ScriptElement::executeClassicScript(WebCore::ScriptSourceCode const&amp;) + 1478 (ScriptElement.cpp:405)
59  com.apple.WebCore             	0x000000026bb40b8b WebCore::ScriptElement::prepareScript(WTF::TextPosition const&amp;, WebCore::ScriptElement::LegacyTypeSupport) + 2699 (ScriptElement.cpp:271)
60  com.apple.WebCore             	0x000000026c0d5c76 WebCore::HTMLScriptRunner::runScript(WebCore::ScriptElement&amp;, WTF::TextPosition const&amp;) + 390 (HTMLScriptRunner.cpp:250)
61  com.apple.WebCore             	0x000000026c0d5a77 WebCore::HTMLScriptRunner::execute(WTF::Ref&lt;WebCore::ScriptElement, WTF::RawPtrTraits&lt;WebCore::ScriptElement&gt; &gt;&amp;&amp;, WTF::TextPosition const&amp;) + 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&amp;) + 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&lt;WTF::StringImpl, WTF::RawPtrTraits&lt;WTF::StringImpl&gt;, WTF::DefaultRefDerefTraits&lt;WTF::StringImpl&gt; &gt;&amp;&amp;) + 548 (HTMLDocumentParser.cpp:437)
67  com.apple.WebCore             	0x000000026b9449e6 WebCore::DecodedDataDocumentParser::appendBytes(WebCore::DocumentWriter&amp;, 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&amp;, 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&amp;) + 357 (CachedRawResource.cpp:76)
76  com.apple.WebCore             	0x000000026c5be6ff WebCore::SubresourceLoader::didReceiveDataOrBuffer(char const*, int, WTF::RefPtr&lt;WebCore::SharedBuffer, WTF::RawPtrTraits&lt;WebCore::SharedBuffer&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::SharedBuffer&gt; &gt;&amp;&amp;, 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&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long) + 1018 (WebResourceLoader.cpp:210)
79  com.apple.WebKit              	0x000000025a378d09 void IPC::callMemberFunctionImpl&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long), std::__1::tuple&lt;IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt;, long long&gt;, 0ul, 1ul&gt;(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long), std::__1::tuple&lt;IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt;, long long&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul&gt;) + 185 (HandleMessage.h:43)
80  com.apple.WebKit              	0x000000025a378c40 void IPC::callMemberFunction&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long), std::__1::tuple&lt;IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt;, long long&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul&gt; &gt;(std::__1::tuple&lt;IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt;, long long&gt;&amp;&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long)) + 112 (HandleMessage.h:49)
81  com.apple.WebKit              	0x000000025a376a66 void IPC::handleMessage&lt;Messages::WebResourceLoader::DidReceiveData, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long)&gt;(IPC::Decoder&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(IPC::ArrayReference&lt;unsigned char, 18446744073709551615ul&gt; const&amp;, long long)) + 150 (HandleMessage.h:121)
82  com.apple.WebKit              	0x000000025a376442 WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 402 (WebResourceLoaderMessageReceiver.cpp:54)
83  com.apple.WebKit              	0x0000000259d3e930 WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 144 (NetworkProcessConnection.cpp:94)
84  com.apple.WebKit              	0x0000000258084024 IPC::Connection::dispatchMessage(IPC::Decoder&amp;) + 516 (Connection.cpp:1020)
85  com.apple.WebKit              	0x00000002580847ec IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) + 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&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_9::operator()() + 88 (Connection.cpp:989)
88  com.apple.WebKit              	0x00000002580a325e WTF::Detail::CallableWrapper&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_9, void&gt;::call() + 30 (Function.h:52)
89  com.apple.JavaScriptCore      	0x00000002861aec62 WTF::Function&lt;void ()&gt;::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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745840</commentid>
    <comment_count>1</comment_count>
      <attachid>424838</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-03-31 15:57:37 -0700</bug_when>
    <thetext>Created attachment 424838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745841</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-03-31 15:58:21 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746183</commentid>
    <comment_count>3</comment_count>
      <attachid>424838</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-04-01 12:35:01 -0700</bug_when>
    <thetext>Comment on attachment 424838
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=424838&amp;action=review

&gt; Source/ThirdParty/ANGLE/ChangeLog:4
&gt; +	Correctly handle nameless structs in metal backend

This ChangeLog line&apos;s in the wrong place. It should be in a new paragraph after the bug ID. Please fix indentation too.

&gt; Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:37
&gt; +        if (type.isStructSpecifier() &amp;&amp; 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 &quot;unnamed&quot; prefix?

&gt; Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:43
&gt; +            if(structure-&gt;symbolType() == SymbolType::Empty &amp;&amp; !structure-&gt;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?

&gt; Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect/SeparateCompoundStructDeclarations.cpp:45
&gt; +                const TStructure * structDefn = new TStructure(mSymbolTable,  mIdGen.createNewName(&quot;unnamed&quot;).rawName(), &amp;(structure-&gt;fields()) , SymbolType::AngleInternal);

Is it guaranteed that this generated name doesn&apos;t collide with anything? Does it use a prefix that&apos;s reserved, like &quot;_webgl&quot; per https://www.khronos.org/registry/webgl/specs/latest/1.0/#4.3 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747368</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-06 04:43:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/76262154&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748932</commentid>
    <comment_count>5</comment_count>
      <attachid>425671</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-04-09 18:01:46 -0700</bug_when>
    <thetext>Created attachment 425671
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749069</commentid>
    <comment_count>6</comment_count>
      <attachid>425671</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-04-10 21:59:47 -0700</bug_when>
    <thetext>Comment on attachment 425671
Patch

Looks good! r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749313</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-12 12:01:15 -0700</bug_when>
    <thetext>Committed r275832 (236402@main): &lt;https://commits.webkit.org/236402@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425671.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424838</attachid>
            <date>2021-03-31 15:57:37 -0700</date>
            <delta_ts>2021-04-09 18:01:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223923-20210331155736.patch</filename>
            <type>text/plain</type>
            <size>8546</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1Mjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNzY5YTY4NjNhZDE4OTg4N2JiNzExNzAxYWJmNTJiYzc4YTMyNzk5Mi4uMmRhZDJmZTAwODJl
Nzg5ZGZmNWRhNzdmODQ4YTY3MTk3OTdlZTdiMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAzLTMxICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggaW4gIHdlYmdsLzIuMC55L2NvbmZvcm1h
bmNlL2dsc2wvbWlzYy91bmluaXRpYWxpemVkLWxvY2FsLWdsb2JhbC12YXJpYWJsZXMuaHRtbCBB
TkdMRStNRVRBTAorCUNvcnJlY3RseSBoYW5kbGUgbmFtZWxlc3Mgc3RydWN0cyBpbiBtZXRhbCBi
YWNrZW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjM5MjMKKworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0LmNwcDoKKyAg
ICAgICAgKHNoOjpUcmFuc2xhdG9yTWV0YWxEaXJlY3Q6OnRyYW5zbGF0ZUltcGwpOgorICAgICAg
ICAqIHNyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TZXBhcmF0
ZUNvbXBvdW5kU3RydWN0RGVjbGFyYXRpb25zLmNwcDoKKyAgICAgICAgKHNoOjpTZXBhcmF0b3I6
OlNlcGFyYXRvcik6CisgICAgICAgIChzaDo6U2VwYXJhdGVDb21wb3VuZFN0cnVjdERlY2xhcmF0
aW9ucyk6CisgICAgICAgICogc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFs
RGlyZWN0L1NlcGFyYXRlQ29tcG91bmRTdHJ1Y3REZWNsYXJhdGlvbnMuaDoKKwogMjAyMS0wMy0z
MCAgS3lsZSBQaWRkaW5ndG9uICA8a3BpZGRpbmd0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEVu
YWJsZSBzYW1wbGVfY29tcGFyZSBvcGVyYXRpb25zIGluIE1ldGFsIEFOR0xFCmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xh
dG9yTWV0YWxEaXJlY3QuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVy
L3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0LmNwcAppbmRleCA4OTYzNDQ0ZDk2ZGE4
MzMyMWNmZmI4YTkyNTUwYzEwOWI1NWY4ZjYxLi4zOTlkZGRjZDNkNmY3Yzk4M2Y1OTQzN2E5MDdh
NGQ2YzNjNjU4MDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29t
cGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QuY3BwCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERp
cmVjdC5jcHAKQEAgLTE0MzUsNyArMTQzNSw3IEBAIGJvb2wgVHJhbnNsYXRvck1ldGFsRGlyZWN0
Ojp0cmFuc2xhdGVJbXBsKFRJbnRlcm1CbG9jayAmcm9vdCwgU2hDb21waWxlT3B0aW9ucyBjCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBpZiAoIVNlcGFyYXRlQ29tcG91bmRT
dHJ1Y3REZWNsYXJhdGlvbnMoKnRoaXMsIHJvb3QpKQorICAgIGlmICghU2VwYXJhdGVDb21wb3Vu
ZFN0cnVjdERlY2xhcmF0aW9ucygqdGhpcywgaWRHZW4sIHJvb3QpKQogICAgIHsKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TZXBhcmF0ZUNv
bXBvdW5kU3RydWN0RGVjbGFyYXRpb25zLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3Ny
Yy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TZXBhcmF0ZUNvbXBv
dW5kU3RydWN0RGVjbGFyYXRpb25zLmNwcAppbmRleCAxNzIyNzdiN2IzMDI3YjY1ZDliNjc3MzE3
MWQ4NDY0ZDJkOWQxNjNhLi5hMWQ2NGNiN2E5MmRhNTZlYTM0YzJhM2Y5M2E2MTE0ZWNjNjdkNzBi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNs
YXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvU2VwYXJhdGVDb21wb3VuZFN0cnVjdERlY2xhcmF0
aW9ucy5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1NlcGFyYXRlQ29tcG91bmRTdHJ1Y3REZWNsYXJh
dGlvbnMuY3BwCkBAIC05LDYgKzksNyBAQAogI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3Iv
VHJhbnNsYXRvck1ldGFsRGlyZWN0L1NlcGFyYXRlQ29tcG91bmRTdHJ1Y3REZWNsYXJhdGlvbnMu
aCIKICNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL3RyZWVfb3BzL1NlcGFyYXRlRGVjbGFy
YXRpb25zLmgiCiAjaW5jbHVkZSAiY29tcGlsZXIvdHJhbnNsYXRvci90cmVlX3V0aWwvSW50ZXJt
VHJhdmVyc2UuaCIKKyNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRh
bERpcmVjdC9Bc3RIZWxwZXJzLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBzaDsKIApAQCAtMjEsMzcg
KzIyLDU1IEBAIGNsYXNzIFNlcGFyYXRvciA6IHB1YmxpYyBUSW50ZXJtVHJhdmVyc2VyCiB7CiAg
IHB1YmxpYzoKICAgICBzdGQ6OnVub3JkZXJlZF9tYXA8aW50LCBUSW50ZXJtU3ltYm9sICo+IHJl
cGxhY2VtZW50TWFwOwotICAgIFNlcGFyYXRvcihUU3ltYm9sVGFibGUgJnN5bWJvbFRhYmxlKSA6
IFRJbnRlcm1UcmF2ZXJzZXIoZmFsc2UsIGZhbHNlLCB0cnVlLCAmc3ltYm9sVGFibGUpIHt9Ci0K
KyAgICBTZXBhcmF0b3IoVFN5bWJvbFRhYmxlICZzeW1ib2xUYWJsZSwgSWRHZW4gJmlkR2VuKSA6
IFRJbnRlcm1UcmF2ZXJzZXIoZmFsc2UsIGZhbHNlLCB0cnVlLCAmc3ltYm9sVGFibGUpLAorICAg
ICAgICBtSWRHZW4oaWRHZW4pCisgICAge30KKyAgICBJZEdlbiAmbUlkR2VuOwogICAgIGJvb2wg
dmlzaXREZWNsYXJhdGlvbihWaXNpdCwgVEludGVybURlY2xhcmF0aW9uICpkZWNsTm9kZSkgb3Zl
cnJpZGUKICAgICB7CiAgICAgICAgIEFTU0VSVChkZWNsTm9kZS0+Z2V0Q2hpbGRDb3VudCgpID09
IDEpOwotICAgICAgICBUSW50ZXJtTm9kZSAmbm9kZSA9ICpkZWNsTm9kZS0+Z2V0Q2hpbGROb2Rl
KDApOworICAgICAgICBEZWNsYXJhdGlvbiBkZWNsYXJhdGlvbiA9IFZpZXdEZWNsYXJhdGlvbigq
ZGVjbE5vZGUpOwogCi0gICAgICAgIGlmIChUSW50ZXJtU3ltYm9sICpzeW1ib2xOb2RlID0gbm9k
ZS5nZXRBc1N5bWJvbE5vZGUoKSkKKyAgICAgICAgY29uc3QgVFZhcmlhYmxlICZ2YXIgICAgICAg
ID0gZGVjbGFyYXRpb24uc3ltYm9sLnZhcmlhYmxlKCk7CisgICAgICAgIGNvbnN0IFRUeXBlICZ0
eXBlICAgICAgICAgICA9IHZhci5nZXRUeXBlKCk7CisgICAgICAgIGNvbnN0IFN5bWJvbFR5cGUg
c3ltYm9sVHlwZSA9IHZhci5zeW1ib2xUeXBlKCk7CisgICAgICAgIGlmICh0eXBlLmlzU3RydWN0
U3BlY2lmaWVyKCkgJiYgc3ltYm9sVHlwZSAhPSBTeW1ib2xUeXBlOjpFbXB0eSkKICAgICAgICAg
ewotICAgICAgICAgICAgY29uc3QgVFZhcmlhYmxlICZ2YXIgICAgICAgID0gc3ltYm9sTm9kZS0+
dmFyaWFibGUoKTsKLSAgICAgICAgICAgIGNvbnN0IFRUeXBlICZ0eXBlICAgICAgICAgICA9IHZh
ci5nZXRUeXBlKCk7Ci0gICAgICAgICAgICBjb25zdCBTeW1ib2xUeXBlIHN5bWJvbFR5cGUgPSB2
YXIuc3ltYm9sVHlwZSgpOwotICAgICAgICAgICAgaWYgKHR5cGUuaXNTdHJ1Y3RTcGVjaWZpZXIo
KSAmJiBzeW1ib2xUeXBlICE9IFN5bWJvbFR5cGU6OkVtcHR5KQorICAgICAgICAgICAgY29uc3Qg
VFN0cnVjdHVyZSAqc3RydWN0dXJlID0gdHlwZS5nZXRTdHJ1Y3QoKTsKKyAgICAgICAgICAgIFRW
YXJpYWJsZSAqc3RydWN0VmFyID0gbnVsbHB0cjsKKyAgICAgICAgICAgIFRUeXBlICogaW5zdGFu
Y2VUeXBlID0gbnVsbHB0cjsKKyAgICAgICAgICAgIC8vTmFtZSB1bm5hbWVkIGlubGluZSBzdHJ1
Y3RzCisgICAgICAgICAgICBpZihzdHJ1Y3R1cmUtPnN5bWJvbFR5cGUoKSA9PSBTeW1ib2xUeXBl
OjpFbXB0eSAmJiAhc3RydWN0dXJlLT5pc1ZhcmlhYmxlKCkpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgY29uc3QgVFN0cnVjdHVyZSAqIHN0cnVjdERlZm4gPSBuZXcgVFN0cnVjdHVy
ZShtU3ltYm9sVGFibGUsICBtSWRHZW4uY3JlYXRlTmV3TmFtZSgidW5uYW1lZCIpLnJhd05hbWUo
KSwgJihzdHJ1Y3R1cmUtPmZpZWxkcygpKSAsIFN5bWJvbFR5cGU6OkFuZ2xlSW50ZXJuYWwpOwor
ICAgICAgICAgICAgICAgIHN0cnVjdFZhciA9IG5ldyBUVmFyaWFibGUobVN5bWJvbFRhYmxlLCBJ
bW11dGFibGVTdHJpbmcoIiIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBuZXcgVFR5cGUoc3RydWN0RGVmbiwgdHJ1ZSksIFN5bWJvbFR5cGU6OkVtcHR5KTsKKyAg
ICAgICAgICAgICAgICBpbnN0YW5jZVR5cGUgPSBuZXcgVFR5cGUoc3RydWN0RGVmbiwgZmFsc2Up
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIGNvbnN0IFRTdHJ1Y3R1cmUgKnN0cnVjdHVyZSA9IHR5cGUuZ2V0U3RydWN0KCk7
Ci0gICAgICAgICAgICAgICAgYXV0byAqc3RydWN0VmFyICAgICAgICAgICAgID0gbmV3IFRWYXJp
YWJsZShtU3ltYm9sVGFibGUsIEltbXV0YWJsZVN0cmluZygiIiksCisgICAgICAgICAgICAgICAg
c3RydWN0VmFyICAgICAgICAgICAgID0gbmV3IFRWYXJpYWJsZShtU3ltYm9sVGFibGUsIEltbXV0
YWJsZVN0cmluZygiIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBuZXcgVFR5cGUoc3RydWN0dXJlLCB0cnVlKSwgU3ltYm9sVHlwZTo6RW1wdHkpOwor
ICAgICAgICAgICAgICAgIGluc3RhbmNlVHlwZSA9IG5ldyBUVHlwZShzdHJ1Y3R1cmUsIGZhbHNl
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGluc3RhbmNlVHlwZS0+c2V0UXVhbGlmaWVy
KHR5cGUuZ2V0UXVhbGlmaWVyKCkpOworICAgICAgICAgICAgYXV0byAqaW5zdGFuY2VWYXIgPSBu
ZXcgVFZhcmlhYmxlKG1TeW1ib2xUYWJsZSwgdmFyLm5hbWUoKSwgaW5zdGFuY2VUeXBlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbFR5cGUsIHZh
ci5leHRlbnNpb24oKSk7CiAKLSAgICAgICAgICAgICAgICBhdXRvICppbnN0YW5jZVR5cGUgPSBu
ZXcgVFR5cGUoc3RydWN0dXJlLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgaW5zdGFuY2VUeXBl
LT5zZXRRdWFsaWZpZXIodHlwZS5nZXRRdWFsaWZpZXIoKSk7Ci0gICAgICAgICAgICAgICAgYXV0
byAqaW5zdGFuY2VWYXIgPSBuZXcgVFZhcmlhYmxlKG1TeW1ib2xUYWJsZSwgdmFyLm5hbWUoKSwg
aW5zdGFuY2VUeXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzeW1ib2xUeXBlLCB2YXIuZXh0ZW5zaW9uKCkpOwotCi0gICAgICAgICAgICAgICAg
VEludGVybVNlcXVlbmNlIHJlcGxhY2VtZW50czsKLSAgICAgICAgICAgICAgICBUSW50ZXJtU3lt
Ym9sICogaW5zdGFuY2VTeW1ib2wgPSBuZXcgVEludGVybVN5bWJvbChpbnN0YW5jZVZhcik7Ci0g
ICAgICAgICAgICAgICAgcmVwbGFjZW1lbnRzLnB1c2hfYmFjayhuZXcgVEludGVybVN5bWJvbChz
dHJ1Y3RWYXIpKTsKLSAgICAgICAgICAgICAgICByZXBsYWNlbWVudHMucHVzaF9iYWNrKGluc3Rh
bmNlU3ltYm9sKTsKLSAgICAgICAgICAgICAgICByZXBsYWNlbWVudE1hcFtzeW1ib2xOb2RlLT51
bmlxdWVJZCgpLmdldCgpXSA9IGluc3RhbmNlU3ltYm9sOwotICAgICAgICAgICAgICAgIG1NdWx0
aVJlcGxhY2VtZW50cy5wdXNoX2JhY2soCi0gICAgICAgICAgICAgICAgICAgIE5vZGVSZXBsYWNl
V2l0aE11bHRpcGxlRW50cnkoZGVjbE5vZGUsIHN5bWJvbE5vZGUsIHN0ZDo6bW92ZShyZXBsYWNl
bWVudHMpKSk7CisgICAgICAgICAgICBUSW50ZXJtU2VxdWVuY2UgcmVwbGFjZW1lbnRzOworICAg
ICAgICAgICAgcmVwbGFjZW1lbnRzLnB1c2hfYmFjayhuZXcgVEludGVybVN5bWJvbChzdHJ1Y3RW
YXIpKTsKKworICAgICAgICAgICAgVEludGVybVN5bWJvbCAqIGluc3RhbmNlU3ltYm9sID0gbmV3
IFRJbnRlcm1TeW1ib2woaW5zdGFuY2VWYXIpOworICAgICAgICAgICAgVEludGVybU5vZGUgKiBp
bnN0YW5jZVJlcGxhY2VtZW50ID0gaW5zdGFuY2VTeW1ib2w7CisgICAgICAgICAgICBpZihkZWNs
YXJhdGlvbi5pbml0RXhwcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpbnN0YW5j
ZVJlcGxhY2VtZW50ID0gbmV3IFRJbnRlcm1CaW5hcnkoRU9wSW5pdGlhbGl6ZSwgaW5zdGFuY2VT
eW1ib2wsIGRlY2xhcmF0aW9uLmluaXRFeHByKTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHJlcGxhY2VtZW50cy5wdXNoX2JhY2soaW5zdGFuY2VSZXBsYWNlbWVudCk7CisKKyAgICAgICAg
ICAgIHJlcGxhY2VtZW50TWFwW2RlY2xhcmF0aW9uLnN5bWJvbC51bmlxdWVJZCgpLmdldCgpXSA9
IGluc3RhbmNlU3ltYm9sOworICAgICAgICAgICAgbU11bHRpUmVwbGFjZW1lbnRzLnB1c2hfYmFj
aygKKyAgICAgICAgICAgICAgICBOb2RlUmVwbGFjZVdpdGhNdWx0aXBsZUVudHJ5KGRlY2xOb2Rl
LCBkZWNsTm9kZS0+Z2V0Q2hpbGROb2RlKDApLCBzdGQ6Om1vdmUocmVwbGFjZW1lbnRzKSkpOwog
ICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNzEsOSArOTAsOSBAQCBjbGFz
cyBTZXBhcmF0b3IgOiBwdWJsaWMgVEludGVybVRyYXZlcnNlcgogCiAvLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLwogCi1ib29sIHNoOjpTZXBhcmF0ZUNvbXBvdW5kU3RydWN0RGVjbGFyYXRpb25zKFRD
b21waWxlciAmY29tcGlsZXIsIFRJbnRlcm1CbG9jayAmcm9vdCkKK2Jvb2wgc2g6OlNlcGFyYXRl
Q29tcG91bmRTdHJ1Y3REZWNsYXJhdGlvbnMoVENvbXBpbGVyICZjb21waWxlciwgSWRHZW4gJmlk
R2VuLCBUSW50ZXJtQmxvY2sgJnJvb3QpCiB7Ci0gICAgU2VwYXJhdG9yIHNlcGFyYXRvcihjb21w
aWxlci5nZXRTeW1ib2xUYWJsZSgpKTsKKyAgICBTZXBhcmF0b3Igc2VwYXJhdG9yKGNvbXBpbGVy
LmdldFN5bWJvbFRhYmxlKCksIGlkR2VuKTsKICAgICByb290LnRyYXZlcnNlKCZzZXBhcmF0b3Ip
OwogICAgIGlmICghc2VwYXJhdG9yLnVwZGF0ZVRyZWUoJmNvbXBpbGVyLCAmcm9vdCkpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1NlcGFyYXRlQ29tcG91bmRTdHJ1Y3REZWNsYXJh
dGlvbnMuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9y
L1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TZXBhcmF0ZUNvbXBvdW5kU3RydWN0RGVjbGFyYXRpb25z
LmgKaW5kZXggMDcxMmU4MGQ4YTU4MWU0NGUxOTZlODY2NDM4ZjliY2UxZGE5NDNiMy4uMTE4ZGYz
MzE3YmY4M2ZhNjBkZDllNzdkMmI5ZWM3YmMxM2U4ZmNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGly
ZWN0L1NlcGFyYXRlQ29tcG91bmRTdHJ1Y3REZWNsYXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJl
Y3QvU2VwYXJhdGVDb21wb3VuZFN0cnVjdERlY2xhcmF0aW9ucy5oCkBAIC05LDcgKzksNyBAQAog
CiAjaW5jbHVkZSAiY29tbW9uL2FuZ2xldXRpbHMuaCIKICNpbmNsdWRlICJjb21waWxlci90cmFu
c2xhdG9yL0NvbXBpbGVyLmgiCi0KKyNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL1RyYW5z
bGF0b3JNZXRhbERpcmVjdC9JZEdlbi5oIgogbmFtZXNwYWNlIHNoCiB7CiAKQEAgLTE3LDcgKzE3
LDcgQEAgbmFtZXNwYWNlIHNoCiAvLyAgc3RydWN0IEZvbyB7IGludCB4OyB9IGZvbzsKIC8vIEJl
Y29tZXM6CiAvLyAgc3RydWN0IEZvbyB7aW50IHg7IH07IEZvbyBmb287Ci1BTkdMRV9OT19ESVND
QVJEIGJvb2wgU2VwYXJhdGVDb21wb3VuZFN0cnVjdERlY2xhcmF0aW9ucyhUQ29tcGlsZXIgJmNv
bXBpbGVyLCBUSW50ZXJtQmxvY2sgJnJvb3QpOworQU5HTEVfTk9fRElTQ0FSRCBib29sIFNlcGFy
YXRlQ29tcG91bmRTdHJ1Y3REZWNsYXJhdGlvbnMoVENvbXBpbGVyICZjb21waWxlciwgSWRHZW4g
JmlkR2VuLCBUSW50ZXJtQmxvY2sgJnJvb3QpOwogCiB9ICAvLyBuYW1lc3BhY2Ugc2gKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425671</attachid>
            <date>2021-04-09 18:01:46 -0700</date>
            <delta_ts>2021-04-12 12:01:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223923-20210409180145.patch</filename>
            <type>text/plain</type>
            <size>11592</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggMWE3Njc3ODZiMDU4Mjg2YmQwNGFlMWZlOTY0MDE4MWM0YzhmYWU3OC4uMmEyMmFmZTM0MGIx
NDU3ZTVkZjFhOTk0ZTc4MWMyZDVkMmQ4ZGMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA0LTA5ICBLeWxlIFBpZGRpbmd0b24gIDxrcGlkZGlu
Z3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggaW4gd2ViZ2wvMi4wLnkvY29uZm9ybWFu
Y2UvZ2xzbC9taXNjL3VuaW5pdGlhbGl6ZWQtbG9jYWwtZ2xvYmFsLXZhcmlhYmxlcy5odG1sIEFO
R0xFK01FVEFMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjM5MjMKKwkKKyAgICAgICAgQW5vbnltb3VzIHN0cnVjdHMgcmVxdWlyZSBhIG5hbWUgaW4g
TVNMLCBhZGQgYSBkZWZhdWx0IG5hbWUgQU5HTEVfX3VubmFtZWQkaWQgdG8gYW55IHN0cnVjdHMu
CisgICAgICAgIEFsc28gYWRkIGEgdW5pdCB0ZXN0IHRvIGVuc3VyZSB0aGlzIHdvcmtzLgorICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9jb21waWxl
ci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC5jcHA6CisgICAgICAgIChzaDo6VHJh
bnNsYXRvck1ldGFsRGlyZWN0Ojp0cmFuc2xhdGVJbXBsKToKKyAgICAgICAgKiBzcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvU2VwYXJhdGVDb21wb3VuZFN0cnVj
dERlY2xhcmF0aW9ucy5jcHA6CisgICAgICAgIChzaDo6U2VwYXJhdG9yOjpTZXBhcmF0b3IpOgor
ICAgICAgICAoc2g6OlNlcGFyYXRlQ29tcG91bmRTdHJ1Y3REZWNsYXJhdGlvbnMpOgorICAgICAg
ICAqIHNyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TZXBhcmF0
ZUNvbXBvdW5kU3RydWN0RGVjbGFyYXRpb25zLmg6CisgICAgICAgICogc3JjL3Rlc3RzL0JVSUxE
LmduOgorICAgICAgICAqIHNyYy90ZXN0cy9hbmdsZV91bml0dGVzdHMuZ25pOgorICAgICAgICAq
IHNyYy90ZXN0cy9jb21waWxlcl90ZXN0cy9NU0xPdXRwdXRfVGVzdC5jcHA6CisKIDIwMjEtMDQt
MDggIEt5bGUgUGlkZGluZ3RvbiAgPGtwaWRkaW5ndG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TWV0YWwtQU5HTEVdIFN1cHBvcnQgR1BVIHBvd2VyIHByZWZlcmVuY2VzLCBzZWxlY3QgbG93LXBv
d2VyIEdQVSBieSBkZWZhdWx0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0LmNwcCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRh
bERpcmVjdC5jcHAKaW5kZXggODk2MzQ0NGQ5NmRhODMzMjFjZmZiOGE5MjU1MGMxMDliNTVmOGY2
MS4uMzk5ZGRkY2QzZDZmN2M5ODNmNTk0MzdhOTA3YTRkNmMzYzY1ODA4YyAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRv
ck1ldGFsRGlyZWN0LmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGls
ZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QuY3BwCkBAIC0xNDM1LDcgKzE0MzUs
NyBAQCBib29sIFRyYW5zbGF0b3JNZXRhbERpcmVjdDo6dHJhbnNsYXRlSW1wbChUSW50ZXJtQmxv
Y2sgJnJvb3QsIFNoQ29tcGlsZU9wdGlvbnMgYwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQogCi0gICAgaWYgKCFTZXBhcmF0ZUNvbXBvdW5kU3RydWN0RGVjbGFyYXRpb25zKCp0aGlzLCBy
b290KSkKKyAgICBpZiAoIVNlcGFyYXRlQ29tcG91bmRTdHJ1Y3REZWNsYXJhdGlvbnMoKnRoaXMs
IGlkR2VuLCByb290KSkKICAgICB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9U
cmFuc2xhdG9yTWV0YWxEaXJlY3QvU2VwYXJhdGVDb21wb3VuZFN0cnVjdERlY2xhcmF0aW9ucy5j
cHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFu
c2xhdG9yTWV0YWxEaXJlY3QvU2VwYXJhdGVDb21wb3VuZFN0cnVjdERlY2xhcmF0aW9ucy5jcHAK
aW5kZXggMTcyMjc3YjdiMzAyN2I2NWQ5YjY3NzMxNzFkODQ2NGQyZDlkMTYzYS4uZGU1ZmM4YzI3
ZWEzMjA3ZDc0NTBiNTY1MzJiY2NhYjc0YTNmYmJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0
L1NlcGFyYXRlQ29tcG91bmRTdHJ1Y3REZWNsYXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVj
dC9TZXBhcmF0ZUNvbXBvdW5kU3RydWN0RGVjbGFyYXRpb25zLmNwcApAQCAtOSw2ICs5LDcgQEAK
ICNpbmNsdWRlICJjb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRhbERpcmVjdC9TZXBh
cmF0ZUNvbXBvdW5kU3RydWN0RGVjbGFyYXRpb25zLmgiCiAjaW5jbHVkZSAiY29tcGlsZXIvdHJh
bnNsYXRvci90cmVlX29wcy9TZXBhcmF0ZURlY2xhcmF0aW9ucy5oIgogI2luY2x1ZGUgImNvbXBp
bGVyL3RyYW5zbGF0b3IvdHJlZV91dGlsL0ludGVybVRyYXZlcnNlLmgiCisjaW5jbHVkZSAiY29t
cGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvQXN0SGVscGVycy5oIgogCiB1
c2luZyBuYW1lc3BhY2Ugc2g7CiAKQEAgLTIxLDM3ICsyMiw1NSBAQCBjbGFzcyBTZXBhcmF0b3Ig
OiBwdWJsaWMgVEludGVybVRyYXZlcnNlcgogewogICBwdWJsaWM6CiAgICAgc3RkOjp1bm9yZGVy
ZWRfbWFwPGludCwgVEludGVybVN5bWJvbCAqPiByZXBsYWNlbWVudE1hcDsKLSAgICBTZXBhcmF0
b3IoVFN5bWJvbFRhYmxlICZzeW1ib2xUYWJsZSkgOiBUSW50ZXJtVHJhdmVyc2VyKGZhbHNlLCBm
YWxzZSwgdHJ1ZSwgJnN5bWJvbFRhYmxlKSB7fQotCisgICAgU2VwYXJhdG9yKFRTeW1ib2xUYWJs
ZSAmc3ltYm9sVGFibGUsIElkR2VuICZpZEdlbikgOiBUSW50ZXJtVHJhdmVyc2VyKGZhbHNlLCBm
YWxzZSwgdHJ1ZSwgJnN5bWJvbFRhYmxlKSwKKyAgICAgICAgbUlkR2VuKGlkR2VuKQorICAgIHt9
CisgICAgSWRHZW4gJm1JZEdlbjsKICAgICBib29sIHZpc2l0RGVjbGFyYXRpb24oVmlzaXQsIFRJ
bnRlcm1EZWNsYXJhdGlvbiAqZGVjbE5vZGUpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBBU1NF
UlQoZGVjbE5vZGUtPmdldENoaWxkQ291bnQoKSA9PSAxKTsKLSAgICAgICAgVEludGVybU5vZGUg
Jm5vZGUgPSAqZGVjbE5vZGUtPmdldENoaWxkTm9kZSgwKTsKKyAgICAgICAgRGVjbGFyYXRpb24g
ZGVjbGFyYXRpb24gPSBWaWV3RGVjbGFyYXRpb24oKmRlY2xOb2RlKTsKIAotICAgICAgICBpZiAo
VEludGVybVN5bWJvbCAqc3ltYm9sTm9kZSA9IG5vZGUuZ2V0QXNTeW1ib2xOb2RlKCkpCisgICAg
ICAgIGNvbnN0IFRWYXJpYWJsZSAmdmFyICAgICAgICA9IGRlY2xhcmF0aW9uLnN5bWJvbC52YXJp
YWJsZSgpOworICAgICAgICBjb25zdCBUVHlwZSAmdHlwZSAgICAgICAgICAgPSB2YXIuZ2V0VHlw
ZSgpOworICAgICAgICBjb25zdCBTeW1ib2xUeXBlIHN5bWJvbFR5cGUgPSB2YXIuc3ltYm9sVHlw
ZSgpOworICAgICAgICBpZiAodHlwZS5pc1N0cnVjdFNwZWNpZmllcigpICYmIHN5bWJvbFR5cGUg
IT0gU3ltYm9sVHlwZTo6RW1wdHkpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGNvbnN0IFRWYXJp
YWJsZSAmdmFyICAgICAgICA9IHN5bWJvbE5vZGUtPnZhcmlhYmxlKCk7Ci0gICAgICAgICAgICBj
b25zdCBUVHlwZSAmdHlwZSAgICAgICAgICAgPSB2YXIuZ2V0VHlwZSgpOwotICAgICAgICAgICAg
Y29uc3QgU3ltYm9sVHlwZSBzeW1ib2xUeXBlID0gdmFyLnN5bWJvbFR5cGUoKTsKLSAgICAgICAg
ICAgIGlmICh0eXBlLmlzU3RydWN0U3BlY2lmaWVyKCkgJiYgc3ltYm9sVHlwZSAhPSBTeW1ib2xU
eXBlOjpFbXB0eSkKKyAgICAgICAgICAgIGNvbnN0IFRTdHJ1Y3R1cmUgKnN0cnVjdHVyZSA9IHR5
cGUuZ2V0U3RydWN0KCk7CisgICAgICAgICAgICBUVmFyaWFibGUgKnN0cnVjdFZhciA9IG51bGxw
dHI7CisgICAgICAgICAgICBUVHlwZSAqIGluc3RhbmNlVHlwZSA9IG51bGxwdHI7CisgICAgICAg
ICAgICAvL05hbWUgdW5uYW1lZCBpbmxpbmUgc3RydWN0cworICAgICAgICAgICAgaWYoc3RydWN0
dXJlLT5zeW1ib2xUeXBlKCkgPT0gU3ltYm9sVHlwZTo6RW1wdHkpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgY29uc3QgVFN0cnVjdHVyZSAqIHN0cnVjdERlZm4gPSBuZXcgVFN0cnVj
dHVyZShtU3ltYm9sVGFibGUsICBtSWRHZW4uY3JlYXRlTmV3TmFtZSgiX191bm5hbWVkIikucmF3
TmFtZSgpLCAmKHN0cnVjdHVyZS0+ZmllbGRzKCkpICwgU3ltYm9sVHlwZTo6QW5nbGVJbnRlcm5h
bCk7CisgICAgICAgICAgICAgICAgc3RydWN0VmFyID0gbmV3IFRWYXJpYWJsZShtU3ltYm9sVGFi
bGUsIEltbXV0YWJsZVN0cmluZygiIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG5ldyBUVHlwZShzdHJ1Y3REZWZuLCB0cnVlKSwgU3ltYm9sVHlwZTo6RW1wdHkp
OworICAgICAgICAgICAgICAgIGluc3RhbmNlVHlwZSA9IG5ldyBUVHlwZShzdHJ1Y3REZWZuLCBm
YWxzZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgY29uc3QgVFN0cnVjdHVyZSAqc3RydWN0dXJlID0gdHlwZS5nZXRTdHJ1
Y3QoKTsKLSAgICAgICAgICAgICAgICBhdXRvICpzdHJ1Y3RWYXIgICAgICAgICAgICAgPSBuZXcg
VFZhcmlhYmxlKG1TeW1ib2xUYWJsZSwgSW1tdXRhYmxlU3RyaW5nKCIiKSwKKyAgICAgICAgICAg
ICAgICBzdHJ1Y3RWYXIgICAgICAgICAgICAgPSBuZXcgVFZhcmlhYmxlKG1TeW1ib2xUYWJsZSwg
SW1tdXRhYmxlU3RyaW5nKCIiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG5ldyBUVHlwZShzdHJ1Y3R1cmUsIHRydWUpLCBTeW1ib2xUeXBlOjpFbXB0
eSk7CisgICAgICAgICAgICAgICAgaW5zdGFuY2VUeXBlID0gbmV3IFRUeXBlKHN0cnVjdHVyZSwg
ZmFsc2UpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaW5zdGFuY2VUeXBlLT5zZXRRdWFs
aWZpZXIodHlwZS5nZXRRdWFsaWZpZXIoKSk7CisgICAgICAgICAgICBhdXRvICppbnN0YW5jZVZh
ciA9IG5ldyBUVmFyaWFibGUobVN5bWJvbFRhYmxlLCB2YXIubmFtZSgpLCBpbnN0YW5jZVR5cGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sVHlw
ZSwgdmFyLmV4dGVuc2lvbigpKTsKIAotICAgICAgICAgICAgICAgIGF1dG8gKmluc3RhbmNlVHlw
ZSA9IG5ldyBUVHlwZShzdHJ1Y3R1cmUsIGZhbHNlKTsKLSAgICAgICAgICAgICAgICBpbnN0YW5j
ZVR5cGUtPnNldFF1YWxpZmllcih0eXBlLmdldFF1YWxpZmllcigpKTsKLSAgICAgICAgICAgICAg
ICBhdXRvICppbnN0YW5jZVZhciA9IG5ldyBUVmFyaWFibGUobVN5bWJvbFRhYmxlLCB2YXIubmFt
ZSgpLCBpbnN0YW5jZVR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN5bWJvbFR5cGUsIHZhci5leHRlbnNpb24oKSk7Ci0KLSAgICAgICAgICAg
ICAgICBUSW50ZXJtU2VxdWVuY2UgcmVwbGFjZW1lbnRzOwotICAgICAgICAgICAgICAgIFRJbnRl
cm1TeW1ib2wgKiBpbnN0YW5jZVN5bWJvbCA9IG5ldyBUSW50ZXJtU3ltYm9sKGluc3RhbmNlVmFy
KTsKLSAgICAgICAgICAgICAgICByZXBsYWNlbWVudHMucHVzaF9iYWNrKG5ldyBUSW50ZXJtU3lt
Ym9sKHN0cnVjdFZhcikpOwotICAgICAgICAgICAgICAgIHJlcGxhY2VtZW50cy5wdXNoX2JhY2so
aW5zdGFuY2VTeW1ib2wpOwotICAgICAgICAgICAgICAgIHJlcGxhY2VtZW50TWFwW3N5bWJvbE5v
ZGUtPnVuaXF1ZUlkKCkuZ2V0KCldID0gaW5zdGFuY2VTeW1ib2w7Ci0gICAgICAgICAgICAgICAg
bU11bHRpUmVwbGFjZW1lbnRzLnB1c2hfYmFjaygKLSAgICAgICAgICAgICAgICAgICAgTm9kZVJl
cGxhY2VXaXRoTXVsdGlwbGVFbnRyeShkZWNsTm9kZSwgc3ltYm9sTm9kZSwgc3RkOjptb3ZlKHJl
cGxhY2VtZW50cykpKTsKKyAgICAgICAgICAgIFRJbnRlcm1TZXF1ZW5jZSByZXBsYWNlbWVudHM7
CisgICAgICAgICAgICByZXBsYWNlbWVudHMucHVzaF9iYWNrKG5ldyBUSW50ZXJtU3ltYm9sKHN0
cnVjdFZhcikpOworCisgICAgICAgICAgICBUSW50ZXJtU3ltYm9sICogaW5zdGFuY2VTeW1ib2wg
PSBuZXcgVEludGVybVN5bWJvbChpbnN0YW5jZVZhcik7CisgICAgICAgICAgICBUSW50ZXJtTm9k
ZSAqIGluc3RhbmNlUmVwbGFjZW1lbnQgPSBpbnN0YW5jZVN5bWJvbDsKKyAgICAgICAgICAgIGlm
KGRlY2xhcmF0aW9uLmluaXRFeHByKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlu
c3RhbmNlUmVwbGFjZW1lbnQgPSBuZXcgVEludGVybUJpbmFyeShFT3BJbml0aWFsaXplLCBpbnN0
YW5jZVN5bWJvbCwgZGVjbGFyYXRpb24uaW5pdEV4cHIpOwogICAgICAgICAgICAgfQorICAgICAg
ICAgICAgcmVwbGFjZW1lbnRzLnB1c2hfYmFjayhpbnN0YW5jZVJlcGxhY2VtZW50KTsKKworICAg
ICAgICAgICAgcmVwbGFjZW1lbnRNYXBbZGVjbGFyYXRpb24uc3ltYm9sLnVuaXF1ZUlkKCkuZ2V0
KCldID0gaW5zdGFuY2VTeW1ib2w7CisgICAgICAgICAgICBtTXVsdGlSZXBsYWNlbWVudHMucHVz
aF9iYWNrKAorICAgICAgICAgICAgICAgIE5vZGVSZXBsYWNlV2l0aE11bHRpcGxlRW50cnkoZGVj
bE5vZGUsIGRlY2xOb2RlLT5nZXRDaGlsZE5vZGUoMCksIHN0ZDo6bW92ZShyZXBsYWNlbWVudHMp
KSk7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC03MSw5ICs5MCw5IEBA
IGNsYXNzIFNlcGFyYXRvciA6IHB1YmxpYyBUSW50ZXJtVHJhdmVyc2VyCiAKIC8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vCiAKLWJvb2wgc2g6OlNlcGFyYXRlQ29tcG91bmRTdHJ1Y3REZWNsYXJhdGlv
bnMoVENvbXBpbGVyICZjb21waWxlciwgVEludGVybUJsb2NrICZyb290KQorYm9vbCBzaDo6U2Vw
YXJhdGVDb21wb3VuZFN0cnVjdERlY2xhcmF0aW9ucyhUQ29tcGlsZXIgJmNvbXBpbGVyLCBJZEdl
biAmaWRHZW4sIFRJbnRlcm1CbG9jayAmcm9vdCkKIHsKLSAgICBTZXBhcmF0b3Igc2VwYXJhdG9y
KGNvbXBpbGVyLmdldFN5bWJvbFRhYmxlKCkpOworICAgIFNlcGFyYXRvciBzZXBhcmF0b3IoY29t
cGlsZXIuZ2V0U3ltYm9sVGFibGUoKSwgaWRHZW4pOwogICAgIHJvb3QudHJhdmVyc2UoJnNlcGFy
YXRvcik7CiAgICAgaWYgKCFzZXBhcmF0b3IudXBkYXRlVHJlZSgmY29tcGlsZXIsICZyb290KSkK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIv
dHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0YWxEaXJlY3QvU2VwYXJhdGVDb21wb3VuZFN0cnVjdERl
Y2xhcmF0aW9ucy5oIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2NvbXBpbGVyL3RyYW5z
bGF0b3IvVHJhbnNsYXRvck1ldGFsRGlyZWN0L1NlcGFyYXRlQ29tcG91bmRTdHJ1Y3REZWNsYXJh
dGlvbnMuaAppbmRleCAwNzEyZTgwZDhhNTgxZTQ0ZTE5NmU4NjY0MzhmOWJjZTFkYTk0M2IzLi4x
MThkZjMzMTdiZjgzZmE2MGRkOWU3N2QyYjllYzdiYzEzZThmY2M5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9UcmFuc2xhdG9yTWV0
YWxEaXJlY3QvU2VwYXJhdGVDb21wb3VuZFN0cnVjdERlY2xhcmF0aW9ucy5oCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9jb21waWxlci90cmFuc2xhdG9yL1RyYW5zbGF0b3JNZXRh
bERpcmVjdC9TZXBhcmF0ZUNvbXBvdW5kU3RydWN0RGVjbGFyYXRpb25zLmgKQEAgLTksNyArOSw3
IEBACiAKICNpbmNsdWRlICJjb21tb24vYW5nbGV1dGlscy5oIgogI2luY2x1ZGUgImNvbXBpbGVy
L3RyYW5zbGF0b3IvQ29tcGlsZXIuaCIKLQorI2luY2x1ZGUgImNvbXBpbGVyL3RyYW5zbGF0b3Iv
VHJhbnNsYXRvck1ldGFsRGlyZWN0L0lkR2VuLmgiCiBuYW1lc3BhY2Ugc2gKIHsKIApAQCAtMTcs
NyArMTcsNyBAQCBuYW1lc3BhY2Ugc2gKIC8vICBzdHJ1Y3QgRm9vIHsgaW50IHg7IH0gZm9vOwog
Ly8gQmVjb21lczoKIC8vICBzdHJ1Y3QgRm9vIHtpbnQgeDsgfTsgRm9vIGZvbzsKLUFOR0xFX05P
X0RJU0NBUkQgYm9vbCBTZXBhcmF0ZUNvbXBvdW5kU3RydWN0RGVjbGFyYXRpb25zKFRDb21waWxl
ciAmY29tcGlsZXIsIFRJbnRlcm1CbG9jayAmcm9vdCk7CitBTkdMRV9OT19ESVNDQVJEIGJvb2wg
U2VwYXJhdGVDb21wb3VuZFN0cnVjdERlY2xhcmF0aW9ucyhUQ29tcGlsZXIgJmNvbXBpbGVyLCBJ
ZEdlbiAmaWRHZW4sIFRJbnRlcm1CbG9jayAmcm9vdCk7CiAKIH0gIC8vIG5hbWVzcGFjZSBzaAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvQlVJTEQuZ24g
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvQlVJTEQuZ24KaW5kZXggOTdiMmI2
NjZhMmI5MDhjMGU4YmM3YmIzODY4MzQ2MmU1NTYyNzFhZS4uY2Q1ZjA5NWU5ZjgwZDBkZmQ1YmM2
MzdlMDZkYjdjMGE2MzljOWVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL3Rlc3RzL0JVSUxELmduCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0
cy9CVUlMRC5nbgpAQCAtMTE3LDYgKzExNywxMSBAQCBhbmdsZV90ZXN0KCJhbmdsZV91bml0dGVz
dHMiKSB7CiAgICAgc291cmNlcyArPSBhbmdsZV91bml0dGVzdHNfaGxzbF9zb3VyY2VzCiAgICAg
ZGVmaW5lcyA9IFsgIkFOR0xFX0VOQUJMRV9ITFNMIiBdCiAgIH0KKyAgCisgIGlmIChhbmdsZV9l
bmFibGVfbWV0YWwpIHsKKyAgICBzb3VyY2VzICs9IGFuZ2xlX3VuaXR0ZXN0c19tc2xfc291cmNl
cworICAgIGRlZmluZXMgKz0gWyAiQU5HTEVfRU5BQkxFX01FVEFMIiwgIkFOR0xFX0VOQUJMRV9N
RVRBTF9TUElSViIgXQorICB9CiAKICAgZGVwcyA9IFsKICAgICAiOmFuZ2xlX3Rlc3RfZXhwZWN0
YXRpb25zIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9h
bmdsZV91bml0dGVzdHMuZ25pIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2Fu
Z2xlX3VuaXR0ZXN0cy5nbmkKaW5kZXggNDJlNjVlMmU3YTY1MzA5OGExNDdjZDNiOGQ5NDFlMmM2
ZmE5ZjI2OS4uZmQ1YzNlMzRmYzhiNTc0MjRhMmRiOWMxNWQ4YzU2YzQzNWQwZGI0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2FuZ2xlX3VuaXR0ZXN0cy5n
bmkKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2FuZ2xlX3VuaXR0ZXN0
cy5nbmkKQEAgLTE1NCw2ICsxNTQsOCBAQCBpZiAoaXNfYW5kcm9pZCkgewogICAgICAgWyAiLi4v
dGVzdHMvY29tcGlsZXJfdGVzdHMvSW1tdXRhYmxlU3RyaW5nX3Rlc3RfYXV0b2dlbi5jcHAiIF0K
IH0KIAorYW5nbGVfdW5pdHRlc3RzX21zbF9zb3VyY2VzID0gWyAiLi4vdGVzdHMvY29tcGlsZXJf
dGVzdHMvTVNMT3V0cHV0X3Rlc3QuY3BwIiBdCisKIGlmICghaXNfYW5kcm9pZCAmJiAhaXNfZnVj
aHNpYSkgewogICBhbmdsZV91bml0dGVzdHNfc291cmNlcyArPQogICAgICAgWyAiLi4vdGVzdHMv
dGVzdF91dGlscy9ydW5uZXIvVGVzdFN1aXRlX3VuaXR0ZXN0LmNwcCIgXQpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2NvbXBpbGVyX3Rlc3RzL01TTE91dHB1
dF90ZXN0LmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9jb21waWxlcl90
ZXN0cy9NU0xPdXRwdXRfdGVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGUzMmE5Zjc2YjRiZjQ4YWNkZWQ4
MDBiMGYwMjM3MjM1ZGJiZmEyZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy90ZXN0cy9jb21waWxlcl90ZXN0cy9NU0xPdXRwdXRfdGVzdC5jcHAKQEAgLTAs
MCArMSw0MyBAQAorLy8KKy8vIENvcHlyaWdodCAyMDE3IFRoZSBBTkdMRSBQcm9qZWN0IEF1dGhv
cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn
b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0
aGUgTElDRU5TRSBmaWxlLgorLy8KKy8vIE1TTE91dHB1dF90ZXN0LmNwcDoKKy8vICAgVGVzdHMg
Zm9yIE1TTCBvdXRwdXQuCisvLworCisjaW5jbHVkZSA8cmVnZXg+CisjaW5jbHVkZSAiR0xTTEFO
Ry9TaGFkZXJMYW5nLmgiCisjaW5jbHVkZSAiYW5nbGVfZ2wuaCIKKyNpbmNsdWRlICJndGVzdC9n
dGVzdC5oIgorI2luY2x1ZGUgInRlc3RzL3Rlc3RfdXRpbHMvY29tcGlsZXJfdGVzdC5oIgorCit1
c2luZyBuYW1lc3BhY2Ugc2g7CisKK2NsYXNzIE1TTFZlcnRleE91dHB1dFRlc3QgOiBwdWJsaWMg
TWF0Y2hPdXRwdXRDb2RlVGVzdAoreworICBwdWJsaWM6CisgICAgTVNMVmVydGV4T3V0cHV0VGVz
dCgpIDogTWF0Y2hPdXRwdXRDb2RlVGVzdChHTF9WRVJURVhfU0hBREVSLCAwLCBTSF9NU0xfTUVU
QUxfT1VUUFVUKSB7fQorfTsKKworY2xhc3MgTVNMT3V0cHV0VGVzdCA6IHB1YmxpYyBNYXRjaE91
dHB1dENvZGVUZXN0Cit7CisgIHB1YmxpYzoKKyAgICBNU0xPdXRwdXRUZXN0KCkgOiBNYXRjaE91
dHB1dENvZGVUZXN0KEdMX0ZSQUdNRU5UX1NIQURFUiwgMCwgU0hfTVNMX01FVEFMX09VVFBVVCkg
e30KK307CisKK1RFU1RfRihNU0xPdXRwdXRUZXN0LCBBbm9ueW1vdXNTdHJ1Y3QpCit7CisgICAg
Y29uc3Qgc3RkOjpzdHJpbmcgJnNoYWRlclN0cmluZyA9CisgICAgICAgIFIiKAorICAgICAgICBw
cmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICAgICAgc3RydWN0IHsgdmVjNCB2OyB9IGFub25T
dHJ1Y3Q7CisgICAgICAgIHZvaWQgbWFpbigpIHsKKyAgICAgICAgICAgIGFub25TdHJ1Y3QudiA9
IHZlYzQoMC4wLDEuMCwwLjAsMS4wKTsKKyAgICAgICAgICAgIGdsX0ZyYWdDb2xvciA9IGFub25T
dHJ1Y3QudjsKKyAgICAgICAgfSkiOworICAgIGNvbXBpbGUoc2hhZGVyU3RyaW5nLCBTSF9WQVJJ
QUJMRVMpOworICAgIEFTU0VSVF9UUlVFKGZvdW5kSW5Db2RlKFNIX01TTF9NRVRBTF9PVVRQVVQs
ICJfX3VubmFtZWQiKSk7Cit9CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>