Skip to content

[leak-fix] Fix GradientBrush.GradientStops memory leak (Fixes #36363) - #36521

Closed
github-actions[bot] wants to merge 31 commits into
mainfrom
leak-fix/issue-36363-22ae0f411a43e2b9
Closed

github-actions[bot] wants to merge 31 commits into
mainfrom
leak-fix/issue-36363-22ae0f411a43e2b9

Handle disposed dispatcher on normal cleanup

049ec12
Select commit
Loading
Failed to load commit list.
Build Analysis / Build Analysis failed Jul 16, 2026 in 0s

.NET Result Analysis

Details

Tip

To unconditionally bypass the build analysis check (turn it green), you can use the escape mechanism feature. The completion time may vary, potentially taking several minutes, depending on the build analysis workload at the moment.

Known Infrastructure Errors

Build Failures

maui-pr-uitests / Android UITests / Controls (API 30) / Controls (API 30) Border,BoxView,Brush,Button / Controls (API 30) Border,BoxView,Brush,Button

[ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]
    ❌PowerShell exited with code '1'.

maui-pr-uitests / Android UITests / Controls (API 30) / Controls (API 30) Border,BoxView,Brush,Button / Publish the android_ui_tests_controls_30 test results

[ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]
    ❌There are one or more test failures detected in result files. Detailed summary of published test results can be viewed in the Tests tab.

maui-pr-uitests / Android UITests / Controls (API 30) / Controls (API 30) Image,ImageButton,IndicatorView,InputTransparent,IsEnabled,IsVisible / Controls (API 30) Image,ImageButton,IndicatorView,InputTransparent,IsEnabled,IsVisible

[ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]
    ❌PowerShell exited with code '1'.

9 other jobs are failing and were not displayed due to space limitations.
Builds with failures: [maui-pr-uitests]

Test Failures (8 tests failed)

🔹 [All failing tests from maui-pr-uitests]

    ⚠️ 3 failing tests not displayed for this pipeline due to space limitations

    ❌ Microsoft.Maui.TestCases.Tests.AbsoluteLayoutFeatureTests(Android).VerifyAbsoluteLayout_Reset_LayoutBounds [Details] [1.77% failure rate]
    [ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]

    Failing Configuration

    Exception Message
    OpenQA.Selenium.UnknownErrorException : An unknown server-side error occurred while processing the command. Original error: Could not proxy command to the remote server. Original error: socket hang up
    CallStack
       at OpenQA.Selenium.WebDriver.UnpackAndThrowOnError(Response errorResponse, String commandToExecute)
       at OpenQA.Selenium.WebDriver.ExecuteAsync(String driverCommandToExecute, Dictionary`2 parameters)
       at OpenQA.Selenium.WebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
       at OpenQA.Selenium.WebDriver.FindElements(String mechanism, String value)
       at OpenQA.Selenium.By.<.ctor>b__11_1(ISearchContext context)
       at OpenQA.Selenium.By.FindElements(ISearchContext context)
       at OpenQA.Selenium.Appium.AppiumDriver.FindElements(By by)
       at UITest.Appium.AppiumQuery.FindElement(AppiumApp appiumApp) in /_/src/TestUtils/src/UITest.Appium/AppiumQuery.cs:line 97
       at UITest.Appium.AppiumApp.FindElementByText(String text) in /_/src/TestUtils/src/UITest.Appium/AppiumApp.cs:line 95
       at UITest.Appium.HelperExtensions.FindElement(IApp app, String element) in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 2798
       at UITest.Appium.HelperExtensions.<>c__DisplayClass55_0.<WaitForElement>g__result|0() in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 792
       at UITest.Appium.HelperExtensions.Wait(Func`1 query, Func`2 satisfactory, String timeoutMessage, Nullable`1 timeout, Nullable`1 retryFrequency) in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 2748
       at UITest.Appium.HelperExtensions.WaitForAtLeastOne(Func`1 query, String timeoutMessage, Nullable`1 timeout, Nullable`1 retryFrequency) in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 2784
       at UITest.Appium.HelperExtensions.WaitForElement(IApp app, String marked, String timeoutMessage, Nullable`1 timeout, Nullable`1 retryFrequency, Nullable`1 postTimeout) in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 793
       at Microsoft.Maui.TestCases.Tests.AbsoluteLayoutFeatureTests.VerifyAbsoluteLayout_Reset_LayoutBounds() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/AbsoluteLayoutFeatureTests.cs:line 370
       at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    
    ❌ Microsoft.Maui.TestCases.Tests.IndicatorViewFeatureTests(Android).VerifyIndicatorView_Position [Details] [0.60% failure rate]
    [ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]

    Failing Configuration

    Exception Message
    OpenQA.Selenium.StaleElementReferenceException : Cached elements 'By.id: com.microsoft.maui.uitests:id/PositionLabel' do not exist in DOM anymore; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#stale-element-reference-exception
    CallStack
       at OpenQA.Selenium.WebDriver.UnpackAndThrowOnError(Response errorResponse, String commandToExecute)
       at OpenQA.Selenium.WebDriver.ExecuteAsync(String driverCommandToExecute, Dictionary`2 parameters)
       at OpenQA.Selenium.WebElement.Execute(String commandToExecute, Dictionary`2 parameters)
       at OpenQA.Selenium.WebElement.get_Text()
       at OpenQA.Selenium.Appium.AppiumElement.<get_Text>b__8_0()
       at OpenQA.Selenium.Appium.AppiumElement.CacheValue(String key, Func`1 getter)
       at OpenQA.Selenium.Appium.AppiumElement.get_Text()
       at UITest.Appium.AppiumTextActions.GetText(IDictionary`2 parameters) in /_/src/TestUtils/src/UITest.Appium/Actions/AppiumTextActions.cs:line 39
       at UITest.Appium.AppiumTextActions.Execute(String commandName, IDictionary`2 parameters) in /_/src/TestUtils/src/UITest.Appium/Actions/AppiumTextActions.cs:line 31
       at UITest.Appium.AppiumCommandExecutor.Execute(String commandName, IDictionary`2 parameters) in /_/src/TestUtils/src/UITest.Appium/Actions/AppiumCommandExecutor.cs:line 20
       at UITest.Appium.HelperExtensions.<>c__DisplayClass9_0.<GetText>b__0() in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 126
       at System.Threading.Tasks.Task`1.InnerInvoke()
       at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
    --- End of stack trace from previous location ---
       at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
    --- End of stack trace from previous location ---
       at UITest.Appium.HelperExtensions.RunWithTimeout[T](Func`1 action, Nullable`1 timeout) in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 3063
       at UITest.Appium.HelperExtensions.GetText(IUIElement element) in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 124
       at Microsoft.Maui.TestCases.Tests.IndicatorViewFeatureTests.VerifyIndicatorView_Position() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/FeatureMatrix/IndicatorViewFeatureTests.cs:line 94
       at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
       at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
       at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    
    ❌ Microsoft.Maui.TestCases.Tests.Issues.Issue12060(Mac).AcceptedOperationNoneDisablesDropOperation [Details] [0.42% failure rate]
    [ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]

    Failing Configuration

    Exception Message
    System.TimeoutException : Timed out waiting for element...
    CallStack
       at UITest.Appium.HelperExtensions.Wait(Func`1 query, Func`2 satisfactory, String timeoutMessage, Nullable`1 timeout, Nullable`1 retryFrequency) in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 2757
       at UITest.Appium.HelperExtensions.WaitForElement(IApp app, String marked, String timeoutMessage, Nullable`1 timeout, Nullable`1 retryFrequency, Nullable`1 postTimeout) in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 795
       at Microsoft.Maui.TestCases.Tests.Issues.Issue12060.AcceptedOperationNoneDisablesDropOperation() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue12060.cs:line 24
       at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
       at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
       at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    
    ❌ Microsoft.Maui.TestCases.Tests.Issues.Issue22306(Android).ButtonsLayoutResolveWhenParentSizeChanges [Details] [4.31% failure rate]
    [ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]

    Failing Configuration

    Exception Message
    VisualTestUtils.VisualTestFailedException : 
    Snapshot different than baseline: ButtonsLayoutResolveWhenParentSizeChangesOriginal2.png (1.85% difference)
    If the correct baseline has changed (this isn't a a bug), then update the baseline image.
    See test attachment or download the build artifacts to get the new snapshot file.
    

    More info: https://aka.ms/visual-test-workflow

    CallStack
       at Microsoft.Maui.TestCases.Tests.UITest.VerifyScreenshot(String name, Nullable`1 retryDelay, Nullable`1 retryTimeout, Int32 cropLeft, Int32 cropRight, Int32 cropTop, Int32 cropBottom, Double tolerance) in /_/src/Controls/tests/TestCases.Shared.Tests/UITest.cs:line 296
       at Microsoft.Maui.TestCases.Tests.Issues.Issue22306.ButtonsLayoutResolveWhenParentSizeChanges() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue22306.cs:line 49
       at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
       at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
       at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    
    ❌ Microsoft.Maui.TestCases.Tests.Issues.Issue24996(Mac).ChangingTranslationShouldNotCauseLayoutPassOnAncestors [Details] [3.92% failure rate]
    [ 🚧 Create issue against infrastructure team] [ 📄 Create issue in this repo]

    Failing Configuration

    Exception Message
      Assert.That(condition, Is.True)
      Expected: True
      But was:  False
    
    CallStack
       at NUnit.Framework.Legacy.ClassicAssert.True(Boolean condition)
       at Microsoft.Maui.TestCases.Tests.Issues.Issue24996.ChangingTranslationShouldNotCauseLayoutPassOnAncestors() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue24996.cs:line 27
    

    1) at NUnit.Framework.Legacy.ClassicAssert.True(Boolean condition)
    at Microsoft.Maui.TestCases.Tests.Issues.Issue24996.ChangingTranslationShouldNotCauseLayoutPassOnAncestors() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue24996.cs:line 27

Was this helpful? Yes No