Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OBS crash when calling SetSceneItemEnabled in batch mode on websocket via Node only #337

Open
msikma opened this issue Aug 19, 2023 · 0 comments

Comments

@msikma
Copy link

msikma commented Aug 19, 2023

Description:

I noticed this crash today while working on my obs-websocket code. To explain what I'm doing: in one of my scenes, I'm turning some scene items on or off depending on which application is active. So when I'm playing game A, it finds a list of sources corresponding to that game and then sends a batch call to turn some on, and some off.

I've got obs-websocket-js code that both runs on Node (a bot that does stuff automatically) and runs in the browser (an admin panel). I noticed that this somehow only occurs on obs-websocket-js on Node, and not in the in-browser JS version. In both cases I'm running 5.0.2 but I confirmed the crash on 5.0.3 too.

The scene source type doesn't seem to matter.

Steps to reproduce:

  1. Connect via obs-websocket-js on Node
  2. Send a batch call of SetSceneItemEnabled to make multiple scene sources enabled/disabled

Expected result:

OBS sets the sources to their respective enabled/disabled values.

Actual result:

OBS crashes.

Notes:

As I mentioned this only happens on Node. I do the same thing in my admin panel, and that one works fine. I'm not sure if there's a way to easily debug exactly what messages it's sending to OBS over the socket.

I was able to get around the crash by not doing the calls in batch, by doing regular obsClient.call() calls wrapped in a Promise.all().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant