Search Issue Tracker
Fixed
Fixed in 1.21.20, 2.0.7
Votes
1
Found in [Package]
1.21.17
Issue ID
ADDR-3559
Regression
No
[Profiler] The Addressable Asset Module module outputs an ArgumentException when asset GUIDs produce a hash collision with Addressables
Steps to reproduce:
1. Open the attached user's project "Profiler Hash Collision.zip"
2. Make an Addressables build
3. On the Addressables menu set the Play Mode Script to use Existing Build
4. Open the Unity Profiler, make sure you have Addressable Assets Module enabled
5. Hit play and wait until the Sphere and Cube is loaded in memory
6. Stop the profile recording as soon at the objects are loaded in memory and select Addressable Assets Module
7. Navigate throught the frames until you reach the assets loading
Expected results: The profiler module should display the bundles/assets loaded
Actual results: You get an error in the console "ArgumentException: An item with the same key has already been added. Key: -145418946" when viewing loaded memory and having Addressable Asset Module selected in Profiler
Reproducible with: 2022.3.10f1, 2023.1.15f1, 2023.2.0b12, 2023.3.0a7
Could not test on 2021.3.30f1 due to Addressables Profiler detailed view only being supported on 2022.2 and later
Reproducible on: Windows 11, Windows 10, macOS 13.5
Not reproducible on: No other environment tested
Notes:
-Having Addressable Asset Module selected is required to reproduce the error
-Error in Console:
ArgumentException: An item with the same key has already been added. Key: -145418946
System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) (at <e83baa97766c48ccb8f12fd8854cf705>:0)
System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) (at <e83baa97766c48ccb8f12fd8854cf705>:0)
UnityEngine.UIElements.TreeData`1[T].BuildTree (System.Collections.Generic.IEnumerable`1[T] items, System.Boolean isRoot) (at <af3eef6f229546c2beadcba8c4ebda5e>:0)
UnityEngine.UIElements.TreeData`1[T].RefreshTree (System.Collections.Generic.IList`1[T] rootItems) (at <af3eef6f229546c2beadcba8c4ebda5e>:0)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Memory leak when a lot of UI elements are spawned and despawned
- Warnings are not logged in the Console window when using external code analyzers
- Errors “TLS Allocator ALLOC_TEMP_TLS, underlying allocator ALLOC_TEMP_MAIN has unfreed allocations, size 288“ appear constantly when Prefab is open
- Crash on PPtr<Shader>::operator or NullException errors spammed in console when calling Dispose() on null GraphicsBuffer with baked Reflection Probes
- “EndRenderPass: Not inside a Renderpass” and other Render Graph errors in the Player when Render Graph is enabled and Overlay UI is used
Resolution Note (fix version 2.0.7):
Fixed issue where an ArgumentException can occur when viewing multiple assets in the Addressables Profiler.
Resolution Note (fix version 1.21.20):
Fixed issue where an ArgumentException can occur when viewing multiple assets in the Addressables Profiler.