Skip to content

Conversation

@grendello
Copy link
Contributor

Context: 869b0e0

869b0e0 had an ABI break which exposed an internal JNI reference
manager (AndroidObjectReferenceManager) class as public in order
to use it from the NativeAOT runtime host.

Initially I thought the fix would be harder, but... it's not :) -
all we need to do is to make the class internal, which is what this
commit does.

Additionally, sort-of revert one more change in 869b0e0, which
downgraded a GC diagnostic message from the Info log level to
Debug. The message is actually useful and warns about a potential
issue with the GC machinery, so let's emit it is as a warning.

Context: 869b0e0

869b0e0 had an ABI break which exposed an internal JNI reference
manager (`AndroidObjectReferenceManager`) class as public in order
to use it from the NativeAOT runtime host.

Initially I thought the fix would be harder, but... it's not :) -
all we need to do is to make the class `internal`, which is what this
commit does.

Additionally, sort-of revert one more change in 869b0e0, which
downgraded a GC diagnostic message from the `Info` log level to
`Debug`. The message is actually useful and warns about a potential
issue with the GC machinery, so let's emit it is as a warning.
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes an ABI break by reverting visibility changes to internal classes and adjusting log levels. The changes address issues introduced in commit 869b0e0 that inadvertently exposed internal implementation details.

  • Change AndroidObjectReferenceManager class from public back to internal access modifier
  • Restore GC diagnostic message log level from Debug back to Warn

@grendello
Copy link
Contributor Author

The `` test fails with

System.IO.DirectoryNotFoundException : Could not find a part of the path 'C:\a_work\1\s\bin\Release\dotnet\packs\Microsoft.Android.Ref.36.0'.
System.IO.DirectoryNotFoundException : Could not find a part of the path '/Users/runner/work/1/s/bin/Release/dotnet/packs/Microsoft.Android.Ref.36.0'.

The failures don't appear to be related to this PR

@jonathanpeppers jonathanpeppers merged commit cfe0c61 into main Sep 15, 2025
56 of 59 checks passed
@jonathanpeppers jonathanpeppers deleted the dev/grendel/naot-unbreak-abi branch September 15, 2025 13:22
@github-actions github-actions bot locked and limited conversation to collaborators Oct 16, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants