Search Issue Tracker

Fixed

Fixed in 1.8.0

Votes

0

Found in [Package]

1.8.0

Issue ID

ISXB-726

Regression

No

Race condition in DefferedResolutionOfBindings

Package: Input System

-

There is a potential race condition in DefferedResolutionOfBindings

[https://github.com/Unity-Technologies/InputSystem/blob/ab1b38a7b88a23a72fa519f66ed2fd345d85b373/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionState.cs#L4444]

 

There are 2 calls to {{.Target}} per loop - those won’t be inlined so if you could do the lookup once you can cut the locks taken in half.  Also not re-checking the result of {{.Target}} on line [4464|https://github.com/Unity-Technologies/InputSystem/blob/ab1b38a7b88a23a72fa519f66ed2fd345d85b373/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionState.cs#L4454] is a race condition - a GC could occur between that line the check on [4444|https://github.com/Unity-Technologies/InputSystem/blob/ab1b38a7b88a23a72fa519f66ed2fd345d85b373/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionState.cs#L4444].

 

  1. Resolution Note (fix version 1.8.0):

    Reduced gchandle resolution from 2 calls to 1 to both improve performance and fix a potential race condition

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.