Bug report: CloudXR SDK inside of Unity

Since the first release of CloudXR our team has been working with a setup comprised of Unity + CloudXR. To be more exact, we built a Unity wrapper around the CloudXR SDK and where able to develop our CloudXR clients directly in Unity. Technically speaking the wrapper was composed of 2 components: one for Android and one for Windows.

Once the Android wrapper was up and running, we haven’t faced any major issues with it.
Unfortunately the Windows wrapper is a completely different story. With CloudXR 1.2 the wrapper worked perfectly and we were able to set up a sophisticated testing environment inside of Unity on Windows. In CloudXR 2.0 the wrapper was broken and it doesn’t seem that CloudXR 2.1 will solve this issue.

A more detailed explanation of the issue:
Before I describe this issue, please bear in mind that all of this is currently working on Android and this issue is independent of the Unity version. We have tested it on multiple Unity releases and the issue is exactly the same.

The core of the problem is that as soon we call cxrConnect, the engine/windowsBuild simply crashes. A call to cxrCreateReceiver creates a valid handle and once we try to connect using this handle, the system crashes. Looking at Unity’s logs, it seems that the crash happens due to a “null pointer dereference” in the SDK.

We have not been able to work around this issue and rewriting our testing setup in C++ is not an option. It is perplexing that is used to work perfectly fine in CloudXr 1.1 and 1.2, but not in 2.0 and 2.1. We consider this feature critical for our project.

We are ready to offer more information if needed!

Hi,

Thanks for the report. Could you please provide the server/client logs? Section “5.3 Log Files” of the SDK overview guide includes their locations.

Thanks,
Will

Hey,

Here are the logs.
cxr-logs.zip (3.2 KB)

There is an apparent hour difference between the client and the server, but don’t be bothered by that.

By the way: in your log file, it says that the client is trying to delete the log file into which the current logging info is written. This also looks like a bug, or?

Hey,

just tested our Unity wrapper with the new CloudXR 2.1 release and we still get the same error. The log files look more or less the same:

CloudXR Client Log 2021-05-06 12.34.27
NVIDIA CloudXR v2.1 (CL# 29897464), built on Apr 28 2021 00:33:33.

[12:34:27.738] Cleaning up older files.
[12:34:27.739] Adapter 0: Description='NVIDIA GeForce RTX 2080 Super with Max-Q Design’
[12:34:27.792] Direct3D setup done.
[12:34:28.144] Using cuvid yuv2rgb path
[12:34:28.274] Using cuvid yuv2rgb path