OSVR / OSVR-Unity

Package for authoring OSVR experiences with Unity.
Apache License 2.0
98 stars 38 forks source link

Unity Crashes #190

Closed atmuc closed 7 years ago

atmuc commented 7 years ago

When i play OSVR-Unity-Palace-Demo-master i can see vision on HDK2 for 1-2 secs and Unity crashes. i have windows 10. Render manager examples in c:\Program Files\OSVR\Runtime\bin\ works fine.

Unity Editor [version: Unity 5.4.1p1_b9eb0361f989]

osvrUnityRenderingPlugin.dll caused an Access Violation (0xc0000005) in module osvrUnityRenderingPlugin.dll at 0033:745566c1.

Error occurred at 2016-09-24_233316. C:\Program Files\Unity\Editor\Unity.exe, run by atmuc. 56% memory in use. 16286 MB physical memory [7030 MB free]. 25502 MB paging file [12902 MB free]. 134217728 MB user address space [134214628 MB free]. Read from location 000000c8 caused an access violation.

Context: RDI: 0x2234eac0 RSI: 0x007f67e0 RAX: 0x00000000 RBX: 0x217e2f40 RCX: 0x005fb660 RDX: 0x00000098 RIP: 0x745566c1 RBP: 0x005fb740 SegCs: 0x00000033 EFlags: 0x00010202 RSP: 0x005fb5d8 SegSs: 0x0000002b R8: 0x00000038 R9: 0x031cbfb0 R10: 0x423da898 R11: 0x745512d0 R12: 0x005fbcd0 R13: 0x0aa467f8 R14: 0x005fbda0 R15: 0x00000000

atmuc commented 7 years ago

i think tracker cause this crash. when i unplug tracker it works fine.

DuFF14 commented 7 years ago

Hi @atmuc, can you try the updated build of Palace to see if this is still an issue? https://github.com/OSVR/OSVR-Unity-Palace-Demo/releases/tag/v0.6.15.2

I could reproduce this in the older version, but not the latest build. Thanks.

colton-vitruvius commented 7 years ago

Hey Duff, I am seeing the same issue as above in our project and if I run the Palace Demo. Any solutions yet? Cheers, Colton

DuFF14 commented 7 years ago

@colton-vitruviusvr try these steps: https://github.com/OSVR/OSVR-Unity/blob/master/GettingStarted.md#troubleshooting-rendermanager-in-unity

colton-vitruvius commented 7 years ago

@DuFF14 I previously configured most of these options yesterday as I followed your post here https://github.com/OSVR/OSVR-Unity-Rendering/issues/29 which got me up and running originally. I have retried all of the steps in the link you suggested and now I cannot start the server.. It crashes after "Added device: com_osvr_Multiserver/OSVRHackerDevKitPrediction0"

UPDATE : After reinstalling the windows runtime and starting the server through the OSVR Central, I am seeing the same thing as earlier when trying to run the RenderManager exe.

I think this is the important part : Rendering at 89.3248 fps Oct 21 16:19:57.697 error [RenderManager]: OSVR RenderManager Warning: Got error from NVIDIA API: NVAPI call returned -1 (hex: ffffffff) Oct 21 16:19:57.697 error [RenderManager]: [NVAPI_ERROR] Oct 21 16:19:57.698 error [RenderManager]: RenderManagerNVidiaD3D11::PresentFram eFinalize: Could not present surface 1 to display 0

But here is a full log RenderManagerOutput.txt

colton-vitruvius commented 7 years ago

Looks like running the add_sdk_to_registry.cmd that I downloaded in the updated SDK version from yesterday did the trick. I can now run direct mode from Unity as well as from steam.

DuFF14 commented 7 years ago

Interesting... thanks for the updates. I'm wondering if add_sdk_to_registry.cmd is what fixed it, or if that was a coincidence? Did you also power cycle? Which version of OSVR SDK/Runtime are you working with, and what bitness?

colton-vitruvius commented 7 years ago

Here are the exact steps I took:

Running 64-bit everything, not sure about the versions, 1341?

colton-vitruvius commented 7 years ago

FYI looks like I have to repeat these steps everytime I restart my comp

MarcinRNowak commented 7 years ago

Hi,

I have the same issue. Unity crashes after I start my project. Currently I am using Unity 5.5.0b9. My crash log looks like this: Unity Editor [version: Unity 5.5.0b9_d73e98081237]

osvrUnityRenderingPlugin.dll caused an Access Violation (0xc0000005) in module osvrUnityRenderingPlugin.dll at 0033:a1e466c1.

Error occurred at 2016-10-26_160004. C:\Program Files\Unity 5.5.0b9\Editor\Unity.exe, run by Marcin. 21% memory in use. 24526 MB physical memory [19226 MB free]. 28110 MB paging file [20890 MB free]. 134217728 MB user address space [134213773 MB free]. Read from location 000000c8 caused an access violation.

Context: RDI: 0x440b53f8 RSI: 0x3fdc68e0 RAX: 0x00000000 RBX: 0x40e24480 RCX: 0x005fb280 RDX: 0x00000098 RIP: 0xa1e466c1 RBP: 0x005fb360 SegCs: 0x00000033 EFlags: 0x00010202 RSP: 0x005fb1f8 SegSs: 0x0000002b R8: 0x00000038 R9: 0x00000800 R10: 0x0000002e R11: 0xa1e412d0 R12: 0x005fb970 R13: 0x0b116aa0 R14: 0x005fba00 R15: 0x00000000

Bytes at CS:EIP: 0f 10 44 02 30 0f 10 4c 02 40 0f 11 01 0f 10 44

Stack: 0x005fb1f8: 9bab2630 00000000 00000000 00000000 0&.............. 0x005fb208: bf80068e bf800000 00000000 00000000 ................ 0x005fb218: be4cd20b 00000000 00000001 00000000 ..L............. 0x005fb228: 00000000 00000000 00000000 00000000 ................ 0x005fb238: 00000000 00000000 00000000 00000000 ................ 0x005fb248: 00000000 00000000 00000000 00000000 ................ 0x005fb258: 00000000 00000000 00000000 00000000 ................ 0x005fb268: 00000000 00000000 00000000 00000000 ................ 0x005fb278: 02f70000 00000000 4294c050 00000000 ........P..B.... 0x005fb288: 02f70000 00000001 4612b680 00000000 ...........F.... 0x005fb298: 00000000 00000000 00000510 000005a0 ................ 0x005fb2a8: 00000000 00000000 00000000 00000000 ................ 0x005fb2b8: 00000000 00000000 00000000 00000000 ................ 0x005fb2c8: 00000000 00000000 00000000 00000000 ................ 0x005fb2d8: 00000000 00000000 00000000 00000000 ................ 0x005fb2e8: 00000000 00000000 005fb3e8 00000000 ............... 0x005fb2f8: 005fc8d8 00000000 0b191380 00000000 ............... 0x005fb308: 00000000 00000000 3f800000 3f800000 ...........?...? 0x005fb318: 40e24480 00000000 005fb360 00000000 .D.@....._..... 0x005fb328: 005fb200 00000000 005fb970 00000000 .._.....p._..... 0x005fb338: 0b116aa0 00000000 005fba00 00000000 .j........_..... 0x005fb348: 00000000 00000000 440b53f8 00000000 .........S.D.... 0x005fb358: 3fdc68e0 00000000 005fb460 00000000 .h.?....._..... 0x005fb368: 9bab23f0 00000000 3d54304e 3f7fa78d .#......N0T=...?

I am runing on Windows 10. My GPU: GeForce 980m, Nvidia driver v. 365.19.

Cheers, Marcin

DuFF14 commented 7 years ago

Hi @MarcinRNowak, Do the steps at https://github.com/OSVR/OSVR-Unity/blob/master/GettingStarted.md#troubleshooting-rendermanager-in-unity not fix the issue for you?

I haven't done any testing with Unity 5.5b, but I would still expect these steps to work.

DuFF14 commented 7 years ago

@MarcinRNowak ah, just noticed the 980m. I don't know if it will still work in direct mode if you update the drivers. Direct mode on the mobile GPUs might require a driver version pre-367.

rpavlik commented 7 years ago

Correct, reliable direct mode (as of this writing, for the hdk 2 as well as 1.x) requires a pre 367 driver on any mobile NVIDIA GPU, due to a policy implemented by NVIDIA in later drivers.

MarcinRNowak commented 7 years ago

Hi,

thank you for suggestions. I have tried mentioned steps, but it didn't help. My game works in extended mode with no issues, but I can see quite a noticable lag. I have also tried it on my friends computer with GeForce 970 and my own gaming rig with GF 1080, but I am keep getting the same errors/crash in direct mode. On all configuration I have been using newst runtime, drivers and plugin. [UPDATE] I have exactly the same issue on Unity 5.4.2f. I just downloaded it together with lates build. Again, it crashes RenderManager with the whole Unity.

Cheers. Marcin

DuFF14 commented 7 years ago

@colton-vitruviusvr I just had the exact same issue/resolution. Very weird that add_sdk_to_registry.cmd is making direct mode work.

RenderManager exe didn't work, run add_sdk cmd in the SDK directory RenderManager exe worked but didn't show anything, power cycle HMD Everything now working in direct mode @MarcinRNowak have you tried the add_sdk_to_registry.cmd step? What is the output when you run RenderManagerPresentExample3D.exe?

MarcinRNowak commented 7 years ago

Hi,

I have tried running add_sdk_to_registry.cmd, but it doesn't work for me. I have also tried downloading newest build of unity plugin (OSVR-Unity-v0.6.15-4-gd36f7fb-with-core-v0.6-1343-gcb295fe-build573.7z), but also I have the same result. @DuFF14 here is the result of RenderManaderD3DPresentExample3D.exe

Nov 14 11:18:46.796 info [OSVR: com.osvr.renderManager]: Successfully produced handler for /me/head Nov 14 11:18:46.798 info [RenderManager]: 00007FFDCF5ACF70 Nov 14 11:18:46.800 info [RenderManager]: 00007FFDCF5AD070 Nov 14 11:18:46.821 info [RenderManager]: 00007FFDCF5A7E90 Nov 14 11:18:46.822 info [RenderManager]: RenderManagerD3D11Base::OpenDisplay(): Using display adapter NVIDIA GeForce GTX 1080 Nov 14 11:18:47.491 info [RenderManager]: 00007FFDCF5AD0C8 Rendering at 89.2624 fps Nov 14 11:18:51.060 error [RenderManager]: OSVR RenderManager Warning: Got error from NVIDIA API: NVAPI call returned -1 (hex: ffffffff) Nov 14 11:18:51.060 error [RenderManager]: [NVAPI_ERROR] Nov 14 11:18:51.060 error [RenderManager]: RenderManagerNVidiaD3D11::PresentFrameFinalize: Could not present surface 0 to display 0 Nov 14 11:18:51.060 error [RenderManager]: RenderManager::PresentRenderBuffers(): PresentFrameFinalize failed. PresentRenderBuffers() returned false, maybe because it was asked to quit Nov 14 11:18:51.114 info [RenderManager]: 00007FFDCF53D7F8 Nov 14 11:18:51.115 info [OSVR: com.osvr.renderManager]: OSVR client context shut down for com.osvr.renderManager Nov 14 11:18:51.116 info [OSVR: osvr.RenderManager.D3DPresentExample3D]: OSVR client context shut down for osvr.RenderManager.D3DPresentExample3D Nov 14 11:18:51.116 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\64\TRACING\OFF\VS\12\host\windows\src\osvr\ClientKit\DisplayC.cpp:50: OSVR_DisplayConfigObject destructor

It also crashes. I can see some image for a fraction of second (seems to be one frame)

colton-vitruvius commented 7 years ago

@MarcinRNowak I haven't used the OSVR since the last time I posted about a month ago but I started it up today and was seeing the same problem as you. Here are the steps I took to get the HDK to work again :

Cheers, Colton

DuFF14 commented 7 years ago

@MarcinRNowak The RenderManager examples are in: C:\Program Files\OSVR\Runtime\bin which can be installed from: http://access.osvr.com/binary/osvr-sdk-installer

@colton-vitruviusvr I also see this issue. There are multiple seemingly random options for the "add_sdk_to_registry" step. You could run other programs or scripts instead and it will have the same effect. It works for me if I just run RenderManagerD3DExample three times, without power cycling or running add_sdk.

DuFF14 commented 7 years ago

going to close this issue. The original issue: "osvrUnityRenderingPlugin.dll caused an Access Violation (0xc0000005)" is believed to be fixed. Other issues are firmware related.