Skip to content

Conversation

@UnityAlex
Copy link
Collaborator

@UnityAlex UnityAlex commented Jun 16, 2025

Mono includes and builds the source for the Brotli compression algorithm in its platform specific native library. Since mono dlopens this library the APIs used are exported. However, no changes have been made to the function names allowing for conflicts to happen with other loaded versions of Brotli that might be present. MacOS, for example, provides its own Brotli library and collisions will occur resulting in crashes when Brotli is used there.

  • Should this pull request have release notes?
    • Yes
    • No
  • Do these changes need to be back ported?
    • Yes
    • No
  • Do these changes need to be upstreamed to mono/mono or dotnet/runtime repositories?
    • Yes
    • No

Reviewers: please consider these questions as well! ❤️

Release notes

Fixed UUM-108000 @UnityAlex:
Mono: Fixed crash that would occur due to symbol collision between builtin Brotli compression and system installed versions.

@UnityAlex UnityAlex force-pushed the 6000.3-fix-uum-108000 branch 2 times, most recently from daed7bc to bf8fe71 Compare June 18, 2025 14:28
Windows always uses system Brotli lib and needs to be handled differently.

AOT links the builtin libs instead of dynamically loading them and therefore doesn't suffer the same symbol conflict issue we are trying to fix.
@UnityAlex UnityAlex force-pushed the 6000.3-fix-uum-108000 branch from bf8fe71 to 7436c7f Compare June 18, 2025 20:49
@UnityAlex UnityAlex merged commit 036f1dd into unity-6000.3-mbe Jul 1, 2025
14 checks passed
@UnityAlex UnityAlex deleted the 6000.3-fix-uum-108000 branch July 1, 2025 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants