Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/7.0] Allow interop resolvers to return self handle #78018

Merged
merged 1 commit into from
Nov 11, 2022

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Nov 8, 2022

Backport of #78004 to release/7.0

/cc @lambdageek @am11

Customer Impact

Customers using the new GetMainProgramHandle API to create custom NativeLibrary resolvers in mobile apps are unable to resolve statically linked symbols in their apps.

Testing

Manual testing

Risk

Low

@ghost
Copy link

ghost commented Nov 8, 2022

Tagging subscribers to this area:
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #78004 to release/7.0

/cc @lambdageek @am11

Customer Impact

Testing

Risk

IMPORTANT: Is this backport for a servicing release? If so and this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.

Author: github-actions[bot]
Assignees: -
Labels:

area-AssemblyLoader-mono

Milestone: -

@lambdageek lambdageek added the Servicing-consider Issue for next servicing release review label Nov 8, 2022
@lambdageek lambdageek added this to the 7.0.x milestone Nov 8, 2022
@carlossanlop
Copy link
Member

@lambdageek @thaystg can one of you please send an email to Tactics requesting approval? The due date for merging changes for the December release is Monday 14th.

@lambdageek
Copy link
Member

emailed tactics

@lambdageek
Copy link
Member

Approved by tactics in email

@lambdageek lambdageek added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Nov 11, 2022
@carlossanlop carlossanlop modified the milestones: 7.0.x, 7.0.1 Nov 11, 2022
@carlossanlop
Copy link
Member

Approved by Tactics and signed off by area owner.
No OOB package authoring changes needed.
CI failure is known and unrelated: #75018
Ready to merge. :shipit:

@carlossanlop carlossanlop merged commit 6ab036f into release/7.0 Nov 11, 2022
@carlossanlop carlossanlop deleted the backport/pr-78004-to-release/7.0 branch November 11, 2022 22:52
@akoeplinger
Copy link
Member

akoeplinger commented Nov 14, 2022

This seems to have completely broken Android in CI (we didn't run Android library tests on this PR).

11-11 18:46:17.959 19813 19830 D DOTNET  : ((null) warning) Process terminated.
11-11 18:46:17.959 19813 19830 D DOTNET  : ((null) warning) Encountered infinite recursion while looking up resource 'Arg_EntryPointNotFoundException' in System.Private.CoreLib. Verify the installation of .NET is complete and does not need repairing, and that the state of the process has not become corrupted.
11-11 18:46:17.959 19813 19830 F libc    : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 19830 (.dot.MonoRunner), pid 19813 (ot.Common.Tests)

We don't see the issue in main so looks like something is missing from 7.0. Preparing a revert for now.

@am11
Copy link
Member

am11 commented Nov 14, 2022

Looks like the case of trimmed app missing string resource. Do we have dumps / more info for this crash?

@am11
Copy link
Member

am11 commented Nov 14, 2022

Looks like the case of trimmed app missing string resource.

in which case, this should fix the error:

--- a/src/libraries/System.Private.CoreLib/src/System/AppDomain.cs
+++ b/src/libraries/System.Private.CoreLib/src/System/AppDomain.cs
@@ -135,12 +135,14 @@ private static int ExecuteAssembly(Assembly assembly, string?[]? args)
             return result != null ? (int)result : 0;
         }
 
+        [RequiresUnreferencedCode("Type and its constructor could be removed")]
         public int ExecuteAssemblyByName(AssemblyName assemblyName, params string?[]? args) =>
             ExecuteAssembly(Assembly.Load(assemblyName), args);
 
         public int ExecuteAssemblyByName(string assemblyName) =>
             ExecuteAssemblyByName(assemblyName, null);
 
+        [RequiresUnreferencedCode("Type and its constructor could be removed")]
         public int ExecuteAssemblyByName(string assemblyName, params string?[]? args) =>
             ExecuteAssembly(Assembly.Load(assemblyName), args);

carlossanlop pushed a commit that referenced this pull request Nov 14, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Dec 14, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants