-
-
Notifications
You must be signed in to change notification settings - Fork 8.1k
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
Crash if you invoke GetOutputList via WebSocket under some conditions #11645
Comments
I think https://github.com/obsproject/obs-websocket might be the better repository for this issue? |
I'm not sure if the fault is in OBS core or the Websocket plugin since WebSocket plugin just invokes the core functions, so the fault might be that obs_enum_outputs is returning null instead of an empty array Or the websocket plugin needs to check if null before trying to enumerate it Or it's something else I can cross raise an issue in obs-websocket but this feels more like a core fault, since there an inconsitent return from the core function since the core function of getting a width on a output that doesn't exist shouldn't crash obs? |
I also ran into this crash, back in 30.0.2. I just disabled the stats gathering module that was enumerating the outputs to stop it in the short term, and then never got around to going back and looking closer. I'll go ahead and include crash log, just in case it's useful, though I'm not sure it adds anything new. |
@BarryCarlyon Could you post the matching regular OBS log that matches your crash log? |
Theres absolutely nothing (relavant) in the log other than
So I didn't include it, end snippet around where the crash happened You can see I connected at This one doesn't have a profile change associated but there might have been a profile change that was attempted dispite being live/streaming. The UI locks out profile changes when streaming, but that doesn't stop websockets doing the profile change. (need to retest and file that one)
|
Not everything relevant is going to be clearly labelled as being a websocket thing -- there's a lot of other useful information in a log. For example, I can see from the one you posted (thanks!) that you have multiple potential outputs that could be getting iterated -- ndi, multi-rtmp, and aitum-multistream are all present, which seems like it could be relevant. And it also looks like you're not using decklink hardware, which is also useful information (with the crash I saw, we were using decklink hardware and just added a second card the day before it crashed, so knowing that the decklink card probably wasn't (directly) the trigger in both our cases is useful knowledge. So more useful than you might think, at first glance. |
interestingly with aitum only shows in the output list when a given aitum output is active which is odd in itself I should probably remove multi RTMP as I had that for testing with. So it can't iterate aitum outputs if no aitum outputs are active, which was the case in my crashes, I only had the main output or no outputs active at all |
Operating System Info
Windows 10
Other OS
No response
OBS Studio Version
31.0.0
OBS Studio Version (Other)
No response
OBS Studio Log URL
N/A
OBS Studio Crash Log URL
https://obsproject.com/logs/qMKTuld3G592YOZO
Expected Behavior
Not to crash
Current Behavior
Crashes
Steps to Reproduce
I've had this occur twice, the first time I wasn't sure when it was doing it
The second time it occur when I was making OBS change profiles.
I'm invoking
GetOutputList
every second, so theres a possible edge case where There are NO outputs (as it's rebuilding them) or things are occuring inside OBS meaning the outputs don't existAnything else we should know?
older log file:
Crash 2024-12-18 17-48-01.txt
The text was updated successfully, but these errors were encountered: