-
Couldn't load subscription status.
- Fork 241
Description
edit:
Offending commit and workaround found, see comment 7.
Operating System Info
Other
Other OS
Fedora 42
OBS Studio Version
Other
OBS Studio Version (Other)
32.0.0-beta1
OBS Studio Log URL
https://github.com/user-attachments/files/22277058/2025-09-11.16-08-07.txt
OBS Studio Crash Log URL
https://github.com/user-attachments/files/22277059/gdb.txt
Expected Behavior
OBS should be closing the browserdocks and exiting cleanly.
Current Behavior
OBS segfaults on exit, resulting in the "unclean shutdown" dialogue showing each launch.
Steps to Reproduce
Unfortunately reproduction is a bit murky since last time during testing I wasn't able to get it consistently either (which is why I didn't open an issue then), so I can only infer from my main profile where it happens consistently.
- Login to Twitch to get the Twitch docks
- Add a couple more custom browser docks (I have 5 additional)
https://dashboard.twitch.tv/popout/u/<user>/stream-manager/stream-healthhttps://dashboard.twitch.tv/popout/u/<user>/stream-manager/quick-actionshttps://dashboard.twitch.tv/popout/u/<user>/stream-manager/activity-feed?uuid=<uuid>(not sure why I still have this TBH)https://dashboard.twitch.tv/popout/u/<user>/stream-manager/reward-queue?uuid=<uuid>https://play.pretzel.rocks/my-music/playlists- I also have various browser sources, but from what I understand they should not be relevant here
- Close OBS
- Get lucky(?)
- ...
- Profit(?)/segfault
Anything else we should know?
This used to be a widespread issue (happening with just the Twitch docks even), but was fixed in (IIRC) OBS 30. It started happening again with the OBS 31.1 beta cycle.
On Discord I was troubleshooting with Matt and we ended up increasing the timeout here:
obs-browser/panel/browser-panel.cpp
Lines 169 to 176 in 910617b
| #if !defined(_WIN32) && !defined(__APPLE__) && CHROME_VERSION_BUILD >= 6533 | |
| QEventLoop loop; | |
| connect(this, &QCefWidgetInternal::readyToClose, &loop, &QEventLoop::quit); | |
| QTimer::singleShot(1000, &loop, &QEventLoop::quit); | |
| loop.exec(); |
... to 5000, which fixed it for the most part. However it seems to me that increasing the timeout is really only a bandaid and not fixing the actual problem?
Regardless, during testing with a new profile I was unable to reproduce this consistently, which is likely due to not adding all the docks I have in my main profile, where I do get this consistently.
To my knowledge the exact cause of this crash is still unknown, but it was "fixed" with OBS 30 introducing the timeout loop. I have yet to figure out what happened between 31 and 31.1 beta1 to have this reappear, since I didn't get to bisect considering I couldn't reproduce it reliably in testing.
I don't remember if the backtrace from back then was the same/similar, you'd have to check the old beta discord channels for it, pretty sure I posted it.
This crash is likely tangentially related to #353