Search Issue Tracker

Won't Fix

Votes

0

Found in [Package]

1.4.X - Entities

Issue ID

ECSB-1628

Regression

No

Crash on memset_repstos when pressing a UI button while in Play Mode

Package: Unity Native Collections

-

Reproduction steps:
1. Open the attached “repro_IN-95750“ project
2. Open the “Assets/Scenes/GameScene.unity“ Scene
3. Enter the Play Mode
4. In the Game view, press the “Processor1“ button
5. Observe the crash

Reproducible with: 2022.3.60f1, 6000.0.43f1, 6000.1.0b11, 6000.2.0a7

Reproducible on: Windows 10 (22H2)
Not reproducible on: No other environments tested

Note: Not able to check if it’s reproducible in Player due to the build process consistently failing

First few lines of the stack trace:
0x00007FFD073E6889 (Unity) memset_repstos
0x00007FFD03A744D9 (Unity) UnsafeUtility_CUSTOM_MemSet
0x000001FA348672F8 (Mono JIT Code) (wrapper managed-to-native) Unity.Collections.LowLevel.Unsafe.UnsafeUtility:MemSet (void*,byte,long)
0x000001FAAAB5F843 (Mono JIT Code) [.\Library\PackageCache\com.unity.collections@56bff8827a7e\Unity.Collections\UnsafeHashMap.cs:73] Unity.Collections.LowLevel.Unsafe.HashMapHelper1<Unity.Mathematics.int2>:Clear ()
0x000001FB173ABB53 (Mono JIT Code) [.\\Library\\PackageCache\\com.unity.collections@56bff8827a7e\\Unity.Collections\\UnsafeHashMap.cs:161] Unity.Collections.LowLevel.Unsafe.HashMapHelper1<Unity.Mathematics.int2>:ResizeExact (int,int)

  1. Resolution Note:

    The issue here is actually in user code calculating large value for number of quadrants and requesting very large hash map which fails at memory allocation.

    Solution is to clamp this value after calculation into more reasonable range, before requesting hash map allocation.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.