Search Issue Tracker

Fixed

Fixed in 2020.3.45f1, 2021.3.19f1, 2022.2.7f1, 2023.1.0b6, 2023.2.0a1

Votes

0

Found in

2020.3.43f1

2021.3.16f1

2022.2.2f1

2023.1.0a25

2023.2.0a1

Issue ID

UUM-22329

Regression

No

"Monitor.IsEntered" checks if any thread holds the lock when using IL2CPP

--

-

Reproduction steps:
1. Open project “il2cpp-monitor-bug”
2. Open scene “SampleScene”
3. Build and run the project with IL2CPP Scripting Backend
4. Observe the built project’s screen

Expected result: Text on the screen says “Result of the Monitor.isEntered() in thread that did NOT own the lock: {*}false{*}“ - System.Threading.Monitor.IsEntered checks if the current thread holds the lock
Actual result: Text on the screen says “Result of the Monitor.isEntered() in thread that did NOT own the lock: {*}true{*}“ - System.Threading.Monitor.IsEntered checks if any thread holds the lock

Reproducible with: 2021.3.16f1, 2022.2.2f1, 2023.1.0a25, 2020.3.43f1

(Note: to test with 2020.3.43f1 - Click Continue on the UnityPackageManagerError and then remove the com.unity.feature.2d package.  The project will build and run correctly without that package.)

Reproducible on: Catalina 10.15.7 (Intel)

Note: Building the project with Mono scripting backend gives expected results

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.