Search Issue Tracker
Not Reproducible
Votes
2
Found in
5.3.3p3
Issue ID
778978
Regression
No
[GfxDevice][Substance] Race condition GfxDeviceWorker::WaitOnCPUFence, at least with Substance threads
Actual problem: race condition in the threaded GFX device CPU fence code. In particular, this code void GfxDeviceWorker::WaitOnCPUFence(UInt32 fence) -- see note on that below.
-- Original bug info:
Steps to reproduce:
1. Download and open attached project "VR Bug 2.zip"
2. Make sure Virtual Reality Support is on
3. Make sure VR headset is attached and on
4. Play scene "init"
Actual result: Unity freezes
Expected result: Unity does not freeze
Notes: If using LoadScene instead of LoadSceneAsync everything works fine. Even if no device is attached, it doesn't matter whether Virtual Reality Support is on or not.
Tested and reproduce on:
Windows 10
Unity 5.3.4p4, 5.4.0b16
Oculus DK2
OVR Plugin 1.3.2
OVR Runtime 1.3.2
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
- [Android] [Vulkan] Cubes stuck on the first few frames of rotation and application flickering when an Overlay Camera is added to the Camera Stack with MSAA enabled
- Profiling information icon does not update for Light Mode
- [Linux] Type to select functionality is missing for drop down menus
- TextMeshPro calculates Width Compression incorrectly when using certain values in the WD% field
- VFX Graph link contrasts fail WCAG guidelines
MagicBrick
Oct 09, 2016 07:39
Same problem here. Usually happens after playing game for some time (eg. 1 hour).
HereIAmItsMe
Sep 19, 2016 20:57
Crash log was from IPA built with Unity 5.4.1f1 on an iPhone 6 with iOS 10.0.1
HereIAmItsMe
Sep 19, 2016 20:54
I'm seeing what appears to be a similar issue resulting in a crash on iOS. Crash log below:
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x000000018db9c1a8 semaphore_wait_trap + 8
1 libdispatch.dylib 0x000000018da877ec _dispatch_semaphore_wait_slow + 216
2 myunityapp 0x0000000100aec188 GfxDeviceWorker::WaitOnCPUFence(unsigned int) (GfxDeviceWorker.cpp:284)
3 myunityapp 0x00000001008c1bb0 ParticleSystem::SyncRenderJobs() (ParticleSystem.cpp:549)
4 myunityapp 0x00000001008c0858 ParticleSystem::BeginUpdateAll() (ParticleSystem.cpp:2312)
5 myunityapp 0x000000010080b97c PlayerLoop(bool, bool, IHookEvent*) (Player.cpp:1882)
6 myunityapp 0x0000000100a87054 UnityPlayerLoopImpl(bool) (LibEntryPoint.mm:244)
7 myunityapp 0x00000001000fd394 UnityRepaint (UnityAppController+Rendering.mm:237)
8 myunityapp 0x00000001000fd290 -[UnityAppController(Rendering) repaintDisplayLink] (UnityAppController+Rendering.mm:49)
9 QuartzCore 0x0000000191def640 CA::Display::DisplayLinkItem::dispatch(unsigned long long) + 44
10 QuartzCore 0x0000000191def4ec CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 444
11 IOKit 0x000000018ee58570 IODispatchCalloutFromCFMessage + 372
12 CoreFoundation 0x000000018eb8256c __CFMachPortPerform + 180
13 CoreFoundation 0x000000018eb9a934 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56
14 CoreFoundation 0x000000018eb9a0e8 __CFRunLoopDoSource1 + 436
15 CoreFoundation 0x000000018eb97bcc __CFRunLoopRun + 1840
16 CoreFoundation 0x000000018eac6048 CFRunLoopRunSpecific + 444
17 GraphicsServices 0x0000000190549198 GSEventRunModal + 180
18 UIKit 0x0000000194a9f818 -[UIApplication _run] + 684
19 UIKit 0x0000000194a9a550 UIApplicationMain + 208
20 myunityapp 0x00000001000f712c main (main.mm:32)
21 libdyld.dylib 0x000000018daa85b8 start + 4