VDMX hangs when running composition that displays a separate graphics window

Steps to reproduce the bug

Create text layer, render it to window. Use the composition as a plugin for VDMX.

Have you found a workaround?

Not really

Other notes

  • Vuo version: 2.4.4.12009
  • macOS version: 14.5
  • Mac model and CPU: Macbook Pro M2 Pro
  • Have you been able to reproduce the bug? yes, consistently
  • How severely does this bug affect you? partially, there will probably be some sort of workaround, but this should not crash VDMX.

Just wanted to add, that is affecting greatly, realised just not that part of the compostion will require text on the Vuo created window.

Confirmed; I was able to reproduce the problem. When a Vuo composition displays a separate graphics window (with e.g. Render Layers to Window or Render Image to Window), and VDMX’s “Run Vuo files in separate processes” setting is disabled, then VDMX hangs when it tries to run the composition.

I’ve marked the bug report accepted and updated the title to clarify.

I’m not sure what you’re trying to do exactly, but just to clarify, it’s only in rare cases that you’d want to use a Render Layers/Image to Window node in a composition being run by VDMX. Normally you’d send images through the outputImage published port of the composition in order for VDMX to display them within its own windows/outputs. For more info, see VDMX’s documentation on using Vuo compositions and Vuo’s documentation on protocols.

If you do actually want the composition to pop up its own graphics window, then you can work around the bug by going to VDMX5 > Preferences… > Vuo, checking the box for “Run Vuo files in separate processes”, and relaunching VDMX. This will allow you to run Vuo compositions that display windows.

Thank you for looking into this. I concur that this is not a common thing, but in this composition, we indeed want to create a separate VUO window, we also use the protocol to render layers to an image and use that to be displayed on layer in VDMX.

For this particular project, it is quite crucial to use a separate window created by VUO and use that as a simplified control unit for VDMX. I am combining OSC data from an EEG device and this will in the end be used in a gallery setting, so we require a custom UI, both for aesthetic reasons and to simplify the controls that will be used.

As for the way the bug behaves: Unfortunately, I have the setting “Run Vuo files in separate processes” ticked on and VDMX crashed on two separate machines an M2 Pro and M1 Max.

Sounds like an interesting installation. I hope we can find a way to get it working. Our team has tried some test compositions on an Apple M1 Pro and VDMX5_1.0.1, but so far we haven’t been able to reproduce the problem while “Run Vuo files in separate processes” is enabled. If you could provide some more information to help us reproduce it, that would would help immensely with troubleshooting.

Would it be possible for you to provide the Vuo composition — or if it’s large and complex, a simplified version that still causes VDMX to hang — along with any supporting files needed to run the composition (subcompositions, images, etc.)? In addition, could you provide the VDMX configuration/project?

If possible, it would also help if you could provide a hang report. First, trigger the bug so that VDMX hangs. Then, open Activity Monitor, select VDMX in the list of processes, click on the “circle with 3 dots” toolbar item, select Sample Process, and save it to a file.

Hi,

thanks for looking into it. I have found several workarounds with certain compromises to make the project work for us. I have nonetheless ran in a few hiccups that make VDMX crash with VUO. I will take some time as soon as I can and try to coolate the issues that I had (and can still remember) and will provide both crash reports and sample VUO composition, stripped to as close as to the issue as I can in atempt to isolate them.

1 Like

Before I go and try and dismantle the bigger composition to the problematic parts, let me share the crash report of VDMX with this bigger VUO composition.

VDMX has the following plugins Clock, MediaBin and the VUO plugin. There is only 1 layer.

If I remember correctly something that resolved that composition was to replace a lot of the elements to be triggered by “Fire at display rate” to “Fire on start”.

The compostion has the following components:

  • recieves a some OSC messages straight into the composition (OSC proved to destabilse the thing, so some of it was scraped and routed through VDMX)
  • quite a few text layers that get rendered to an image and the published as an output (this was never an issue), and a few URI pngs
  • action buttons that are rendered to a window (most issues I think are connected to this)
  • syphon videos that are rendered to the same window (I first tried to publish image porst and get teh video layers straight from VDMX into VUO and through that into the window, but it proved to be problematic and would constantly crash)
  • the composition creates two csv files (this also never caused any issues)

At some point I was trying to use the computer camera to scan QR codes, but that would cause huge performance drawbacks, both runing the composition in testing mode, to see the window elemtns as well as through VDMX. Surprisingly enough it never crashed the program. This in the end ended up being scraped as part of the project due to the performance issues.

At some point I had some text being rendered to the window, but it would just trigger VDMX to crash. I tried using text as a layer and as an image, but neither of the worked.

The rendered window is nontheless still subject to instability even in the latest stable build of the same project. It has been now restricted to a specific window size and is non rescelable. Scaling the window in a genereally stable composition still causes VDMX to crash.

I will try and recreate some of this issues in more isolated and simple cases and share them if I can make them crash.

Sample of VDMX5 crashing because of VUO.txt (617.8 KB)

In the process sample you attached, it looks like this problem may be in VDMX’s code, so something they would need to investigate. The sample shows VDMX hanging, with some threads stuck and unable to proceed, but none of the stuck threads are in Vuo’s code.

Whenever you do have a chance to reproduce the problems with simpler cases, we can take a look to see if there’s anything that needs to be fixed on our end, or any way to avoid the problem by restructuring the composition.

I’ll keep in mind and maybe I should reach out also to the VDMX team if this is indeed something they should look into.