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

Mac mystery crash: variety of routes #10946

Open
BarryCarlyon opened this issue Jul 4, 2024 · 3 comments
Open

Mac mystery crash: variety of routes #10946

BarryCarlyon opened this issue Jul 4, 2024 · 3 comments

Comments

@BarryCarlyon
Copy link

BarryCarlyon commented Jul 4, 2024

Operating System Info

macOS 14

Other OS

No response

OBS Studio Version

30.1.2

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/jXG3oBflx2TT2VNY

OBS Studio Crash Log URL

No response

Expected Behavior

Not to crash with a Problem Report when invoking various functions not from the UI (Streamdeck/Websocket being not from the UI)

Including but not limited to:

  • Just connecting a websocket
  • Getting the list of profiles (GetProfileList)
  • Changing the currently active profile
  • Updating various parameters on the current profile via SetVideoSettings and/or SetProfileParameter, but I suspect here OBS segfaulting at the Get/Set Profile I do before this call which is what other things/application do to cause the crash (streamdeck/OBS Blade)

Current Behavior

Crashes with a problem report

Steps to Reproduce

Method 1:

  1. Using the streamdeck and it's plugin switch between profiles a number of times (it's not directly tied to speed of switching aka spamming switching), not sure what mechanism is used under the hood there.

Method 2:

  1. Using the websocket switch between profiles a number of times

Method 3:

  1. Using the websocket under the currently selected profle
  2. Call GetProfileList
  3. Then it crashes

Some of these methods are inconsistent/not 100% reliable to trigger, but I also did a full nuke of OBS from my mac and did a fresh grab of latest release and same issue presents: IE no extra plugins installed beyond activating the WebSocket.

Sometimes Mac OBS will also crash the moment I connect a websocket. At identify I'll call "GetProfileList" as the first call.

In the last round of testing I have no sources in the only source collection either.

It also behaves similar on the RC1 of 30.2.0
And I have a report that it occurs on another users machine with release and OBS Blade (a seperate controller), granted blade also uses the websocket socket, it just rules out my code being at fault)

Doing the same "dumb shit" (if you pardon the expression) on windows cannot replicate the fault, so it seems localised to the mac version of OBS

Anything else we should know?

Mac Problem report for OBS Studio, The problem report is longer than 65536 chats so I've uploaded it to my pastebin https://pastebin.com/PFB1Rqmy

A second problem report https://pastebin.com/gzZRBmVc
It's OBS Log file https://obsproject.com/logs/kAjQ3olT5TOkyNmY
After doing a few profile changes via a WebSocket control

Yes it's a not normal aspect ratio here but I can cause the problem from just switching between a bunch of normal aspect ratio profiles, the profile I'm working with primarilly is for a vertical streaming platform, but I don't think that matters here

@DDRBoxman
Copy link
Member

Same crash in both reports, putting it here to save someone a few seconds later:

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000811
Exception Codes:       0x0000000000000001, 0x0000000000000811


Thread 13 Crashed:: Thread (pooled)
0   libobs                                 0x10575652c video_output_get_width + 8
1   obs-websocket                          0x12a6cc590 0x12a668000 + 411024
2   libobs                                 0x1057ad6e0 obs_enum_outputs + 64
3   obs-websocket                          0x12a6cae34 0x12a668000 + 405044
4   obs-websocket                          0x12a6ae5ec 0x12a668000 + 288236
5   obs-websocket                          0x12a72e75c 0x12a668000 + 812892
6   obs-websocket                          0x12a71f36c 0x12a668000 + 750444
7   QtCore                                 0x105d293e4 0x105b34000 + 2053092
8   QtCore                                 0x105d257d0 0x105b34000 + 2037712
9   libsystem_pthread.dylib                0x19a182f94 _pthread_start + 136
10  libsystem_pthread.dylib                0x19a17dd34 thread_start + 8

@BarryCarlyon
Copy link
Author

And heres the "top" from the same crash caused via streamdeck if that helps

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000035
Exception Codes:       0x0000000000000001, 0x0000000000000035

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [11881]

VM Region Info: 0x35 is not in any region.  Bytes before following region: 4342759371
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      __TEXT                      102d94000-103158000    [ 3856K] r-x/r-x SM=COW  /Applications/OBS.app/Contents/MacOS/OBS

Thread 0 Crashed:: CrBrowserMain Dispatch queue: com.apple.main-thread
0   OBS                           	       0x102db01e0 0x102d94000 + 115168
1   OBS                           	       0x102e94ff4 0x102d94000 + 1052660
2   QtCore                        	       0x1059caeec 0x105900000 + 831212
3   QtGui                         	       0x105135f5c QAction::activate(QAction::ActionEvent) + 368
4   OBS                           	       0x102da6e6c 0x102d94000 + 77420
5   StreamDeckPluginASIO1-28-0    	       0x15686fd80 streamdeck::handlers::obs_frontend::profile(std::__1::weak_ptr<void>, std::__1::shared_ptr<streamdeck::jsonrpc::request>)::$_5::__invoke(void*) + 620
6   OBS                           	       0x102fd1aec 0x102d94000 + 2349804
7   QtCore                        	       0x1059c3e24 QObject::event(QEvent*) + 612
8   QtGui                         	       0x104e35658 QGuiApplication::event(QEvent*) + 712
9   QtWidgets                     	       0x105e77dec QApplication::event(QEvent*) + 644
10  QtWidgets                     	       0x105e793ac QApplicationPrivate::notify_helper(QObject*, QEvent*) + 272
11  QtWidgets                     	       0x105e7a23c QApplication::notify(QObject*, QEvent*) + 464
12  QtCore                        	       0x105980580 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 292
13  QtCore                        	       0x105981470 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 500

@BarryCarlyon
Copy link
Author

I wonder if it relates to #10532 since the hiccup occurs around Getting Current Profiles and profiles/scenes share a similar fault. (found this when looking for a different bug)

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

2 participants