How to reproduce:
1. Open the attached “repro-project”
2. Edit → Project Settings → Player and change the Scripting Backend to IL2CPP
3. File → Build Settings and click Build
Expected result: Build is successful.
Actual result: Build fails with Unity.IL2CPP.HashCodeCollisionException error.
Reproducible with: 2020.3.40f1
Fixed in: 2020.3.41f1
Not reproducible with: 2020.3.45f1
Could not test with: 2021.3.19f1, 2022.2.7f1, 2023.1.0b4, 2023.2.0a3 - Burst compiler errors
Reproducible on: macOS 13.2 (Intel)
Errors:
Unity.IL2CPP.HashCodeCollisionException: Hash code collision on value `76C8B01C3A28DBADE7A6A83143607D5945A81C46`
Existing Item was : `Aspose.Slides. Aspose.Slides. ::()`
Colliding Item was : `Aspose.Slides. Aspose.Slides. ::()`
at Unity.IL2CPP.HashCodeCache`1.GetUniqueHash(T value)
at Unity.IL2CPP.Naming.NamingComponent.ForMethodInternal(MethodReference method)
at Unity.IL2CPP.Naming.NamingComponent.ForMethodNameOnly(MethodReference method)
at Unity.IL2CPP.AssemblyConversion.PrimaryCollection.Steps.Global.WarmNamingComponent.ProcessItem(GlobalPrimaryCollectionContext context, AssemblyDefinition item, Object globalState)
at Unity.IL2CPP.AssemblyConversion.Steps.Base.GlobalScheduledStepAction`2.ProcessAllItems(TWorkerContext context, ReadOnlyCollection`1 items)
at Unity.IL2CPP.AssemblyConversion.Steps.Base.GlobalScheduledStepAction`2.WorkerWrapper(WorkItemData`3 workerData)
at Unity.IL2CPP.Contexts.Scheduling.PhaseWorkScheduler`1.WorkerLoop(Object data)