cwi-dis / VR2Gather

Unity application framework for immersive social VR
MIT License
2 stars 6 forks source link

Check whether Dash still works, and fix it if it doesn't. #185

Open jackjansen opened 1 month ago

jackjansen commented 1 month ago

Subject says all. Needed for messy.

jackjansen commented 1 month ago

There are issues getting the SFU started from the orchestrator. Issue created.

On the Mac, the idea of using the config variable SIGNALS_SMD_PATH no longer works (because it's going to be in Library/ under some unknown pathname. Need to rethink.

jackjansen commented 1 month ago

After manually fixing the SIGNALS_SMD_PATH the uploader still doesn't work. The Unity log file has the following error:

[2024/07/11 14:37:25][0.0] Pushing to HTTP at "http://flauwte.huiskamer.private:8096/c452d4a4-5596-43ff-828e-b10d0466a7fd/"
[vrt_create_ext] failure: can't load '/Users/jack/src/VRTogether/VR2Gather/VRTApp-Develop/Library/PackageCache/nl.cwi.dis.vr2gather.nativelibraries@cd233771f0/Runtime/Plugins/mac/GPACMuxMP4.smd' (dlopen(/Users/jack/src/VRTogether/VR2Gather/VRTApp-Develop/Library/PackageCache/nl.cwi.dis.vr2gather.nativelibraries@cd233771f0/Runtime/Plugins/mac/GPACMuxMP4.smd, 0x0082): Library not loaded: /opt/msprod/sysroot/osx//lib/libgpac.dylib
  Referenced from: <AFF98D41-F2E1-30CB-B96B-9A8103E985CE> /Users/jack/src/VRTogether/VR2Gather/VRTApp-Develop/Library/PackageCache/nl.cwi.dis.vr2gather.nativelibraries@cd233771f0/Runtime/Plugins/mac/GPACMuxMP4.smd
  Reason: tried: '/opt/msprod/sysroot/osx//lib/libgpac.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/msprod/sysroot/osx//lib/libgpac.dylib' (no such file), '/opt/msprod/sysroot/osx//lib/libgpac.dylib' (no such file), '/usr/local/lib/libgpac.dylib' (no such file), '/usr/lib/libgpac.dylib' (no such file, not in dyld cache))

And, indeed, on the Mac there doesn't seem to be a libgpac. Possibly never put into VRTNativeLibraries.

jackjansen commented 1 month ago

To do: check whether there's still a copy somewhere in VR2GNativeLibraries

jackjansen commented 1 month ago

It's not in the repo, and it looks like it's never been in the repo. But there seems to be a full copy of the MS stuff on flauwte in /Volumes/FlauwteSSD/opt/msprod/sysroot/osx.

jackjansen commented 1 month ago

(For reference the orchestrator issue is https://github.com/cwi-dis/vr2gather-orchestrator-v2/issues/30)

jackjansen commented 1 month ago

Dash uploader does not work on Windows. When bin2dash.so it tries to load MPEG_DASH.smd, which is its extension module to do mpeg-dash, it fails. Possibly a %PATH% issue.

The file exists, and inspecting the file with DependenciesGui does not show any missing references. But some of those references are in the same directory as where mpeg_dash.smd itself is, so maybe that is the problem?

Here is the Editor log output from a run under the VS debugger. You can see that it tries to load the .smd and then immedeately unloads it again.


'Unity.exe' (Win32): Loaded 'C:\Users\DIS\VRTogether\VR2Gather\VRTApp-Develop\Library\PackageCache\nl.cwi.dis.vr2gather.nativelibraries@cd233771f0\Runtime\Plugins\win-x64\MPEG_DASH.smd'. Module was built without symbols.
'Unity.exe' (Win32): Unloaded 'C:\Users\DIS\VRTogether\VR2Gather\VRTApp-Develop\Library\PackageCache\nl.cwi.dis.vr2gather.nativelibraries@cd233771f0\Runtime\Plugins\win-x64\MPEG_DASH.smd'
'Unity.exe' (Win32): Loaded 'C:\Users\DIS\VRTogether\VR2Gather\VRTApp-Develop\Library\PackageCache\nl.cwi.dis.vr2gather.nativelibraries@cd233771f0\Runtime\Plugins\win-x64\MPEG_DASH.smd'. Module was built without symbols.
'Unity.exe' (Win32): Unloaded 'C:\Users\DIS\VRTogether\VR2Gather\VRTApp-Develop\Library\PackageCache\nl.cwi.dis.vr2gather.nativelibraries@cd233771f0\Runtime\Plugins\win-x64\MPEG_DASH.smd'
Exception thrown at 0x00007FFB6F97B699 (KernelBase.dll) in Unity.exe: 0x20474343 (parameters: 0x00000206637EA680).
Exception thrown at 0x00007FFB6F97B699 (KernelBase.dll) in Unity.exe: 0x21474343 (parameters: 0x00000206637EA680, 0x0000005C4A7ACD50, 0x000000006EABDBDC, 0x0000000000000000).
Exception thrown at 0x00007FFB6F97B699 (KernelBase.dll) in Unity.exe: 0x21474343 (parameters: 0x00000206637EA680, 0x0000005C4A7ACE50, 0x000000006EAB42A1, 0x0000000000000000).
Exception thrown at 0x00007FFB6F97B699 (KernelBase.dll) in Unity.exe: 0x21474343 (parameters: 0x00000206637EA680, 0x0000005C4A7ACF10, 0x000000006EAB87E2, 0x0000000000000000).
The thread 6524 has exited with code 0 (0x0).
Exception thrown at 0x00007FFB6F97B699 (KernelBase.dll) in Unity.exe: 0x21474343 (parameters: 0x00000206637EA680, 0x0000005C4A7ACFD0, 0x000000006EAB89FF, 0x0000000000000000).
AsyncDashWriter#0(http://flauwte.huiskamer.private:8096/b880e069-cb2a-4b8a-80dc-6aebd9fdc558/) Exception:AsyncDashWriter#0: vrt_create: failed to create uploader http://flauwte.huiskamer.private:8096/b880e069-cb2a-4b8a-80dc-6aebd9fdc558/pointcloud.mpd
UnityEngine.StackTraceUtility:ExtractStackTrace ()
UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
UnityEngine.Logger:Log (UnityEngine.LogType,object)
UnityEngine.Debug:Log (object)
VRT.Transport.Dash.AsyncDashWriter:Init (string,string,string,string,Cwipc.StreamSupport/OutgoingStreamDescription[]) (at C:/Users/DIS/VRTogether/VR2Gather/nl.cwi.dis.vr2gather/Runtime/VRTTransportDash/Scripts/AsyncDashWriter.cs:90)
VRT.UserRepresentation.PointCloud.PointCloudPipelineSelf:_InitForSelfUser (VRT.Core.VRTConfig/_User/_PCSelfConfig,bool) (at C:/Users/DIS/VRTogether/VR2Gather/nl.cwi.dis.vr2gather/Runtime/VRTUserPointClouds/Scripts/PointCloudPipelineSelf.cs:199)
VRT.UserRepresentation.PointCloud.PointCloudPipelineSelf:Init (bool,object,VRT.Core.VRTConfig/_User,bool,UnityEngine.GameObject) (at C:/Users/DIS/VRTogether/VR2Gather/nl.cwi.dis.vr2gather/Runtime/VRTUserPointClouds/Scripts/PointCloudPipelineSelf.cs:80)
VRT.Pilots.Common.PlayerControllerBase:SetRepresentation (VRT.Core.UserRepresentationType,bool,bool) (at C:/Users/DIS/VRTogether/VR2Gather/nl.cwi.dis.vr2gather/Runtime/VRTCommon/Players/PlayerControllerBase.cs:157)
VRT.Pilots.Common.PlayerControllerBase:_SetupCommon (VRT.Orchestrator.Elements.User) (at C:/Users/DIS/VRTogether/VR2Gather/nl.cwi.dis.vr2gather/Runtime/VRTCommon/Players/PlayerControllerBase.cs:93)
VRT.Pilots.Common.PlayerControllerSelf:SetUpPlayerController (bool,VRT.Orchestrator.Elements.User) (at C:/Users/DIS/VRTogether/VR2Gather/nl.cwi.dis.vr2gather/Runtime/VRTCommon/Players/PlayerControllerSelf.cs:26)
VRT.Pilots.Common.SessionPlayersManager:InstantiatePlayers () (at C:/Users/DIS/VRTogether/VR2Gather/nl.cwi.dis.vr2gather/Runtime/VRTCommon/Players/SessionPlayersManager.cs:165)
VRT.Pilots.Common.SessionPlayersManager/<InstantiatePlayersAfterDelay>d__21:MoveNext () (at C:/Users/DIS/VRTogether/VR2Gather/nl.cwi.dis.vr2gather/Runtime/VRTCommon/Players/SessionPlayersManager.cs:117)
UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr)
jackjansen commented 1 month ago

On Mac-Intel the dash uploader also doesn't work, but this is a different problem: it can't even load bin2dash itself.

It doesn't appear to look in that nl.cwi.dis.vr2gather.nativelibraries@cd233771f0/Runtime/Plugins/Mac directory.