dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.25k stars 4.45k forks source link

[6.0] Android test failure: Failed to install mobile app #83422

Open carlossanlop opened 1 year ago

carlossanlop commented 1 year ago

Found in the internal->public merge PR for 6.0: https://github.com/dotnet/runtime/pull/83404

Lots of tests affected by the exact same failure message.

... and goes on and on...


```json
{
  "ErrorMessage": "The following constructor parameters did not have matching fixture data: _Global globalVar",
  "BuildRetry": false,
  "ErrorPattern": "",
  "ExcludeConsoleLog": false
}

Report

Build Definition Test Pull Request
679692 dotnet/runtime Exceptions/UnwindFpBleedTest/UnwindFpBleedTest/UnwindFpBleedTest.sh
679417 dotnet/runtime JIT/SIMD/AbsGeneric_r/AbsGeneric_r.sh
679285 dotnet/runtime JIT/PGO/InstrumentedTiers/InstrumentedTiers/InstrumentedTiers.sh
678352 dotnet/runtime JIT/Regression/CLR-x86-JIT/V1-M09.5-PDC/b30792/b30792/b30792.sh
674146 dotnet/runtime baseservices/invalid_operations/InvalidOperations/InvalidOperations.sh
671841 dotnet/runtime nativeaot.SmokeTests.TrimmingBehaviors.WorkItemExecution
664347 dotnet/runtime JIT/RyuJIT/DoWhileBndChk/DoWhileBndChk.sh
662749 dotnet/runtime Loader/classloader/Casting/castclasspointer/castclasspointer.sh
662633 dotnet/runtime JIT/PGO/InstrumentedTiers/InstrumentedTiers/InstrumentedTiers.sh
661513 dotnet/runtime JIT/PGO/InstrumentedTiers/InstrumentedTiers/InstrumentedTiers.sh
661085 dotnet/runtime baseservices/compilerservices/RuntimeFeature/DefaultImplementationsOfInterfaces/DefaultImplementationsOfInterfaces.sh
660431 dotnet/runtime Loader/classloader/generics/Instantiation/Positive/AbstractBase01/AbstractBase01.sh
659981 dotnet/runtime JIT/HardwareIntrinsics/X86/General/IsSupported_r/IsSupported_r.sh
656276 dotnet/runtime GC/Coverage/LargeObjectAlloc/LargeObjectAlloc.sh
656219 dotnet/runtime PayloadGroup0.WorkItemExecution dotnet/runtime#100389
653719 dotnet/runtime JIT.PGO.WorkItemExecution
649679 dotnet/runtime JIT/PGO/ProfileCastClassAndIsInst/ProfileCastClassAndIsInst/ProfileCastClassAndIsInst.sh

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 5 17

Known issue validation

Build: :mag_right: Result validation: :warning: Validation could not be done without an Azure DevOps build URL on the issue. Please add it to the "Build: :mag_right:" line. Validation performed at: 6/28/2023 6:30:52 PM UTC

ghost commented 1 year ago

Tagging subscribers to 'arch-android': @steveisok, @akoeplinger See info in area-owners.md if you want to be subscribed.

Issue Details
Found in the internal->public merge PR for 6.0: https://github.com/dotnet/runtime/pull/83404 Lots of tests affected by the exact same failure message. - Queue: `Build Android x64 Release AllSubsets_Mono_RuntimeTests` - Job: https://dev.azure.com/dnceng-public/public/_build/results?buildId=204115&view=logs&j=b6f63eff-75cc-59ca-fdbf-d2121601a613&t=92df95dc-ad7c-5fec-a8b4-c8301b7a2225 - Log file example: https://helixre107v0xd1eu3ibi6ka.blob.core.windows.net/dotnet-runtime-refs-pull-83404-merge-a043263a5a864fcdaa/JIT/1/console.22d84e79.log?helixlogtype=result - Callstack: ``` Microsoft.DotNet.XUnitConsoleRunner v2.5.0 (64-bit .NET 6.0.14) Discovering: JIT.opt.XUnitWrapper (method display = ClassAndMethod, method display options = None) Discovered: JIT.opt.XUnitWrapper (found 80 test cases) Starting: JIT.opt.XUnitWrapper (parallel test collections = off, max threads = 2) JIT/opt/AssertionPropagation/ArrBoundBinaryOp/ArrBoundBinaryOp.sh [FAIL] System.AggregateException : One or more errors occurred. (Failed to install mobile app. Expected: True Actual: False) (The following constructor parameters did not have matching fixture data: _Global globalVar) ---- Failed to install mobile app. Expected: True Actual: False ---- The following constructor parameters did not have matching fixture data: _Global globalVar Stack Trace: ----- Inner Stack Trace #1 (Xunit.Sdk.TrueException) ----- at JIT_opt._Global..ctor() ----- Inner Stack Trace #2 (Xunit.Sdk.TestClassException) ----- JIT/opt/AssertionPropagation/ArrBoundMinLength/ArrBoundMinLength.sh [FAIL] System.AggregateException : One or more errors occurred. (Failed to install mobile app. Expected: True Actual: False) (The following constructor parameters did not have matching fixture data: _Global globalVar) ---- Failed to install mobile app. Expected: True Actual: False ---- The following constructor parameters did not have matching fixture data: _Global globalVar Stack Trace: ----- Inner Stack Trace #1 (Xunit.Sdk.TrueException) ----- at JIT_opt._Global..ctor() ----- Inner Stack Trace #2 (Xunit.Sdk.TestClassException) ----- JIT/opt/AssertionPropagation/ArrBoundUnsigned/ArrBoundUnsigned.sh [FAIL] System.AggregateException : One or more errors occurred. (Failed to install mobile app. Expected: True Actual: False) (The following constructor parameters did not have matching fixture data: _Global globalVar) ---- Failed to install mobile app. Expected: True Actual: False ---- The following constructor parameters did not have matching fixture data: _Global globalVar Stack Trace: ----- Inner Stack Trace #1 (Xunit.Sdk.TrueException) ----- at JIT_opt._Global..ctor() ----- Inner Stack Trace #2 (Xunit.Sdk.TestClassException) ----- JIT/opt/Casts/shared/shared.sh [FAIL] System.AggregateException : One or more errors occurred. (Failed to install mobile app. Expected: True Actual: False) (The following constructor parameters did not have matching fixture data: _Global globalVar) ---- Failed to install mobile app. Expected: True Actual: False ---- The following constructor parameters did not have matching fixture data: _Global globalVar Stack Trace: ----- Inner Stack Trace #1 (Xunit.Sdk.TrueException) ----- at JIT_opt._Global..ctor() ----- Inner Stack Trace #2 (Xunit.Sdk.TestClassException) ----- ... and goes on and on... ``` ```json { "ErrorMessage": "The following constructor parameters did not have matching fixture data: _Global globalVar", "BuildRetry": false, "ErrorPattern": "", "ExcludeConsoleLog": false } ```
Author: carlossanlop
Assignees: -
Labels: `arch-x64`, `os-android`, `area-VM-meta-mono`
Milestone: -
steveisok commented 1 year ago

@fanyang-mono does this happen in main as well?

fanyang-mono commented 1 year ago

@steveisok No I haven't seen apps failing to install for quite a while, since we introduced recovery mechanism. I checked that that code doesn't exit in release/6.0 branch.

Comparing https://github.com/dotnet/runtime/blob/release/6.0/src/tests/Common/Coreclr.TestWrapper/MobileAppHandler.cs and https://github.com/dotnet/runtime/blob/main/src/tests/Common/Coreclr.TestWrapper/MobileAppHandler.cs

I am not sure if helix support that feature for 6.0. @premun

premun commented 1 year ago

Seems like the version of Arcade on the 6.0 branch does have this backported: https://github.com/dotnet/arcade/blob/0c93c1cb1ef9c9d5c1a59f4ab98c2f7e37f12197/src/Microsoft.DotNet.Helix/Sdk/tools/xharness-runner/xharness-runner.apple.sh

fanyang-mono commented 1 year ago

Seems like the version of Arcade on the 6.0 branch does have this backported: https://github.com/dotnet/arcade/blob/0c93c1cb1ef9c9d5c1a59f4ab98c2f7e37f12197/src/Microsoft.DotNet.Helix/Sdk/tools/xharness-runner/xharness-runner.apple.sh

I assume that the functionality for Android is backported as well?

premun commented 1 year ago

For Helix SDK, everything would be backported together

carlossanlop commented 1 year ago

Seen again in the latest 6.0 dependency flow PR: https://github.com/dotnet/runtime/pull/83513

Starting:    JIT.Methodical.XUnitWrapper (parallel test collections = off, max threads = 2)
    JIT/Methodical/eh/basics/emptyfinally_d/emptyfinally_d.sh [FAIL]
      System.AggregateException : One or more errors occurred. (Failed to install mobile app.
      Expected: True
      Actual:   False) (The following constructor parameters did not have matching fixture data: _Global globalVar)
      ---- Failed to install mobile app.
      Expected: True
      Actual:   False
      ---- The following constructor parameters did not have matching fixture data: _Global globalVar
      Stack Trace:

        ----- Inner Stack Trace #1 (Xunit.Sdk.TrueException) -----
           at JIT_Methodical._Global..ctor()
        ----- Inner Stack Trace #2 (Xunit.Sdk.TestClassException) -----

    JIT/Methodical/eh/basics/multihandler_d/multihandler_d.sh [FAIL]
      System.AggregateException : One or more errors occurred. (Failed to install mobile app.
      Expected: True
      Actual:   False) (The following constructor parameters did not have matching fixture data: _Global globalVar)
      ---- Failed to install mobile app.
      Expected: True
      Actual:   False
      ---- The following constructor parameters did not have matching fixture data: _Global globalVar
      Stack Trace:

        ----- Inner Stack Trace #1 (Xunit.Sdk.TrueException) -----
           at JIT_Methodical._Global..ctor()
        ----- Inner Stack Trace #2 (Xunit.Sdk.TestClassException) -----
ericstj commented 1 year ago

Still happening: https://github.com/dotnet/runtime/pull/84357

carlossanlop commented 1 year ago

Still pretty impactful. Affecting most, if not all 6.0 PRs.

fanyang-mono commented 1 year ago

I will try to backport a fix for this later this week.

SamMonoRT commented 9 months ago

I will try to backport a fix for this later this week.

@fanyang-mono - is this completed ?

SamMonoRT commented 9 months ago

@fanyang-mono - please update with current status and close/move to Future Milestone.

fanyang-mono commented 9 months ago

There isn't one particular PR, but a handful amount that I would need to backport to 6.0 to make these failures go away. There are still a good amount of PR passes Android runs. For example, https://dev.azure.com/dnceng-public/public/_build/results?buildId=370864&view=results.

I've decided to close this issue.

carlossanlop commented 8 months ago

@fanyang-mono due to the high impact of this failure in servicing branches, I would prefer to keep this open to ensure KnownBuildError links the PR failures with this issue. Saves me tons of investigation time. Example: https://github.com/dotnet/runtime/pull/91078

I moved it to Future instead of 8.0.0.

carlossanlop commented 4 months ago

@akoeplinger @lewing @steveisok @radical

Since this was moved to Future, can we please disable the 6.0 CI legs that consistently hit this failure?