obsproject / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com
GNU General Public License v2.0
57.19k stars 7.71k forks source link

Start streaming freezes on beta. #10929

Open Penwy opened 6 days ago

Penwy commented 6 days ago

Operating System Info

Ubuntu 22.04

Other OS

No response

OBS Studio Version

30.2.0-beta4

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/YuJnDwiIyZlg7um6

OBS Studio Crash Log URL

No response

Expected Behavior

Pressing "Start Stream" should start the stream.

Current Behavior

Pressing "Start Stream" fully freezes obs.

Steps to Reproduce

  1. Open non-flatpak obs on ubuntu 22.04
  2. Press "Start Stream" ...

Anything else we should know?

Flatpak works correctly, only deb and self-compile have the issue. Bisect pointed to c8950900c36fd6d0bd014eb6fd24da829a63033d as the culprit. Backtrace pointed to this as the very likely issue.

RytoEX commented 5 days ago

Given that it doesn't happen in Flatpak (Qt 6.6.x) but does happen in presumably the PPA version (Qt 6.2.4), this may just be an unfixed Qt Futures bug in older Qt versions. It would be good to determine if there's a version of Qt where this does not happen so we can scope out what a possible fix might be.

RytoEX commented 5 days ago

Off-thread testing indicates that this is not a problem with builds on Ubuntu 23.10 with Qt 6.4.2.

RytoEX commented 5 days ago

This is possibly one of these:

which are the same core bug, and only fixed in 6.2.7, 6.4.1, and 6.5+. Since Ubuntu 22.04 is frozen on 6.2.4, we can't expect it to be fixed on Ubuntu 22.04 with a Qt update. We probably need to implement a code path to Start Streaming that either: a) avoids this specific behavior b) does not use QFuture at all

palana commented 5 days ago

This is possibly one of these:

which are the same core bug, and only fixed in 6.2.7, 6.4.1, and 6.5+. Since Ubuntu 22.04 is frozen on 6.2.4, we can't expect it to be fixed on Ubuntu 22.04 with a Qt update. We probably need to implement a code path to Start Streaming that either: a) avoids this specific behavior b) does not use QFuture at all

I'd probably go with completely disabling the multitrack video output on affected qt versions (a)

manually unrolling/hooking up the code to signals/slots is generally somewhat tedious and feels like somewhat of a maintenance hazard