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

[BUG] Segfault when adding syphon source #2666

Closed
rherban opened this issue Apr 6, 2020 · 2 comments
Closed

[BUG] Segfault when adding syphon source #2666

rherban opened this issue Apr 6, 2020 · 2 comments
Labels
macOS Affects macOS

Comments

@rherban
Copy link

rherban commented Apr 6, 2020

Platform

Operating system and version: OSX Catalina 10.15.4
OBS Studio version: 25.0.4 (straight from git clone)
QT: 5.14.1 (if helpful)

Expected Behavior

Add syphon source successfully

Current Behavior

If a previous obs-studio directory exists in ~/Library/Application\ Support\obs-studio, it will immediately segfault. If I remove that directory and ./obs, I can load the UI and interact successfully. Once I add a syphon client and hit ok after naming it, it segfaults again.

Steps to Reproduce

  1. git clone --recursive https://github.com/obsproject/obs-studio.git
  2. mkdir build && cd build && export QTDIR=/usr/local/opt/qt && cmake .. && make (consolidated here for brevity)
  3. cd rundir/RelWithDebInfo/bin
  4. ./obs

Additional information

Abbreviated segfault:

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY
 
Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [14959]
 
VM Regions Near 0:
-->
    Kernel Alloc Once      000000000d415000-000000000d417000 [    8K] rw-/rwx SM=PRV  
 
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   mac-syphon.so                   0x000000002724b689 objc_release + 9 (syphon.m:46)
1   mac-syphon.so                   0x000000002724aee0 load_syphon_settings + 288 (syphon.m:278)
2   mac-syphon.so                   0x0000000027249235 syphon_create + 549 (syphon.m:531)
3   libobs.0.dylib                  0x000000010f8ae04b obs_source_create_internal + 2219 (obs-source.c:385)
4   obs                             0x000000010d4edade AddNew(QWidget*, char const*, char const*, bool, OBSRef<obs_source*, &(obs_source_addref), &(obs_source_release)>&) + 190 (window-basic-source-select.cpp:190)
5   obs                             0x000000010d4ede53 OBSBasicSourceSelect::on_buttonBox_accepted() + 371
6   obs                             0x000000010d412a2e OBSBasicSourceSelect::qt_metacall(QMetaObject::Call, int, void**) + 62
7   org.qt-project.QtCore           0x00000001101786bd 0x10ff58000 + 2229949
8   org.qt-project.QtWidgets        0x000000010f45b082 0x10f2b7000 + 1720450
9   org.qt-project.QtCore           0x000000011017882c 0x10ff58000 + 2230316
10  org.qt-project.QtWidgets        0x000000010f3afe0f 0x10f2b7000 + 1019407
11  org.qt-project.QtWidgets        0x000000010f3afca9 0x10f2b7000 + 1019049
12  org.qt-project.QtWidgets        0x000000010f3b0ddc QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 268
13  org.qt-project.QtWidgets        0x000000010f301757 QWidget::event(QEvent*) + 439
14  org.qt-project.QtWidgets        0x000000010f2c7c1d QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
15  org.qt-project.QtWidgets        0x000000010f2cac07 QApplication::notify(QObject*, QEvent*) + 7671
16  org.qt-project.QtCore           0x0000000110146994 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
17  org.qt-project.QtWidgets        0x000000010f2c8547 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) + 903
18  org.qt-project.QtWidgets        0x000000010f320abc 0x10f2b7000 + 432828
19  org.qt-project.QtWidgets        0x000000010f31f31a 0x10f2b7000 + 426778
20  org.qt-project.QtWidgets        0x000000010f2c7c1d QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
21  org.qt-project.QtWidgets        0x000000010f2c9055 QApplication::notify(QObject*, QEvent*) + 581
22  org.qt-project.QtCore           0x0000000110146994 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
23  org.qt-project.QtGui            0x000000010f998cd1 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 3441
24  org.qt-project.QtGui            0x000000010f97eadb QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 219
25  libqcocoa.dylib                 0x0000000010cf9778 0x10cc1000 + 231288
26  com.apple.CoreFoundation        0x00007fff39713f12 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
27  com.apple.CoreFoundation        0x00007fff39713eb1 __CFRunLoopDoSource0 + 103
28  com.apple.CoreFoundation        0x00007fff39713ccb __CFRunLoopDoSources0 + 209
29  com.apple.CoreFoundation        0x00007fff397129fa __CFRunLoopRun + 927
30  com.apple.CoreFoundation        0x00007fff39711ffe CFRunLoopRunSpecific + 462
31  com.apple.HIToolbox             0x00007fff38345abd RunCurrentEventLoopInMode + 292
32  com.apple.HIToolbox             0x00007fff383456f4 ReceiveNextEventCommon + 359
33  com.apple.HIToolbox             0x00007fff38345579 _BlockUntilNextEventMatchingListInModeWithFilter + 64
34  com.apple.AppKit                0x00007fff36990c99 _DPSNextEvent + 883
35  com.apple.AppKit                0x00007fff3698f4e0 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
36  com.apple.AppKit                0x00007fff369811ee -[NSApplication run] + 658
37  libqcocoa.dylib                 0x0000000010cf85e8 0x10cc1000 + 226792
38  org.qt-project.QtCore           0x0000000110142b0f QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 431
39  org.qt-project.QtWidgets        0x000000010f4c595e QDialog::exec() + 510
40  obs                             0x000000010d45a0df OBSBasic::AddSource(char const*) + 63 (window-basic-main.cpp:4776)
41  obs                             0x000000010d45a623 OBSBasic::AddSourceFromAction() + 99 (window-basic-main.cpp:4873)
42  org.qt-project.QtCore           0x000000011017882c 0x10ff58000 + 2230316
43  org.qt-project.QtWidgets        0x000000010f2be6a6 QAction::activate(QAction::ActionEvent) + 310
44  org.qt-project.QtWidgets        0x000000010f441e1d 0x10f2b7000 + 1617437
45  org.qt-project.QtWidgets        0x000000010f43f548 0x10f2b7000 + 1606984
46  org.qt-project.QtWidgets        0x000000010f446d92 QMenu::mouseReleaseEvent(QMouseEvent*) + 690
47  org.qt-project.QtWidgets        0x000000010f301757 QWidget::event(QEvent*) + 439
48  org.qt-project.QtWidgets        0x000000010f447417 QMenu::event(QEvent*) + 1127
49  org.qt-project.QtWidgets        0x000000010f2c7c1d QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
50  org.qt-project.QtWidgets        0x000000010f2cac07 QApplication::notify(QObject*, QEvent*) + 7671
51  org.qt-project.QtCore           0x0000000110146994 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
52  org.qt-project.QtWidgets        0x000000010f2c8547 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) + 903
53  org.qt-project.QtWidgets        0x000000010f3207e1 0x10f2b7000 + 432097
54  org.qt-project.QtWidgets        0x000000010f31f31a 0x10f2b7000 + 426778
55  org.qt-project.QtWidgets        0x000000010f2c7c1d QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
56  org.qt-project.QtWidgets        0x000000010f2c9055 QApplication::notify(QObject*, QEvent*) + 581
57  org.qt-project.QtCore           0x0000000110146994 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
58  org.qt-project.QtGui            0x000000010f998cd1 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 3441
59  org.qt-project.QtGui            0x000000010f97eadb QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 219
60  libqcocoa.dylib                 0x0000000010cf9778 0x10cc1000 + 231288
61  com.apple.CoreFoundation        0x00007fff39713f12 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
62  com.apple.CoreFoundation        0x00007fff39713eb1 __CFRunLoopDoSource0 + 103
63  com.apple.CoreFoundation        0x00007fff39713ccb __CFRunLoopDoSources0 + 209
64  com.apple.CoreFoundation        0x00007fff397129fa __CFRunLoopRun + 927
65  com.apple.CoreFoundation        0x00007fff39711ffe CFRunLoopRunSpecific + 462
66  com.apple.HIToolbox             0x00007fff38345abd RunCurrentEventLoopInMode + 292
67  com.apple.HIToolbox             0x00007fff383456f4 ReceiveNextEventCommon + 359
68  com.apple.HIToolbox             0x00007fff38345579 _BlockUntilNextEventMatchingListInModeWithFilter + 64
69  com.apple.AppKit                0x00007fff36990c99 _DPSNextEvent + 883
70  com.apple.AppKit                0x00007fff3698f4e0 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
71  com.apple.AppKit                0x00007fff369811ee -[NSApplication run] + 658
72  libqcocoa.dylib                 0x0000000010cf85e8 0x10cc1000 + 226792
73  org.qt-project.QtCore           0x0000000110142b0f QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 431
74  org.qt-project.QtWidgets        0x000000010f44547b QMenu::exec(QPoint const&, QAction*) + 107
75  obs                             0x000000010d45a79a OBSBasic::AddSourcePopupMenu(QPoint const&) + 154 (window-basic-main.cpp:4889)
76  obs                             0x000000010d45a94e OBSBasic::on_actionAddSource_triggered() + 30 (window-basic-main.cpp:4894)
77  obs                             0x000000010d411bd2 OBSBasic::qt_metacall(QMetaObject::Call, int, void**) + 130
78  org.qt-project.QtCore           0x00000001101786bd 0x10ff58000 + 2229949
79  org.qt-project.QtWidgets        0x000000010f2be6a6 QAction::activate(QAction::ActionEvent) + 310
80  org.qt-project.QtWidgets        0x000000010f3afc50 0x10f2b7000 + 1018960
81  org.qt-project.QtWidgets        0x000000010f3b0ddc QAbstractButton::mouseReleaseEvent(QMouseEvent*) + 268
82  org.qt-project.QtWidgets        0x000000010f4aaabf QToolButton::mouseReleaseEvent(QMouseEvent*) + 15
83  org.qt-project.QtWidgets        0x000000010f301757 QWidget::event(QEvent*) + 439
84  org.qt-project.QtWidgets        0x000000010f4ab04f QToolButton::event(QEvent*) + 319
85  org.qt-project.QtWidgets        0x000000010f2c7c1d QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
86  org.qt-project.QtWidgets        0x000000010f2cac07 QApplication::notify(QObject*, QEvent*) + 7671
87  org.qt-project.QtCore           0x0000000110146994 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
88  org.qt-project.QtWidgets        0x000000010f2c8547 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) + 903
89  org.qt-project.QtWidgets        0x000000010f320abc 0x10f2b7000 + 432828
90  org.qt-project.QtWidgets        0x000000010f31f31a 0x10f2b7000 + 426778
91  org.qt-project.QtWidgets        0x000000010f2c7c1d QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
92  org.qt-project.QtWidgets        0x000000010f2c9055 QApplication::notify(QObject*, QEvent*) + 581
93  org.qt-project.QtCore           0x0000000110146994 QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212
94  org.qt-project.QtGui            0x000000010f998cd1 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) + 3441
95  org.qt-project.QtGui            0x000000010f97eadb QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 219
96  libqcocoa.dylib                 0x0000000010cf9778 0x10cc1000 + 231288
97  com.apple.CoreFoundation        0x00007fff39713f12 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
98  com.apple.CoreFoundation        0x00007fff39713eb1 __CFRunLoopDoSource0 + 103
99  com.apple.CoreFoundation        0x00007fff39713ccb __CFRunLoopDoSources0 + 209
100 com.apple.CoreFoundation        0x00007fff397129fa __CFRunLoopRun + 927
101 com.apple.CoreFoundation        0x00007fff39711ffe CFRunLoopRunSpecific + 462
102 com.apple.HIToolbox             0x00007fff38345abd RunCurrentEventLoopInMode + 292
103 com.apple.HIToolbox             0x00007fff383456f4 ReceiveNextEventCommon + 359
104 com.apple.HIToolbox             0x00007fff38345579 _BlockUntilNextEventMatchingListInModeWithFilter + 64
105 com.apple.AppKit                0x00007fff36990c99 _DPSNextEvent + 883
106 com.apple.AppKit                0x00007fff3698f4e0 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
107 com.apple.AppKit                0x00007fff369811ee -[NSApplication run] + 658
108 libqcocoa.dylib                 0x0000000010cf85e8 0x10cc1000 + 226792
109 org.qt-project.QtCore           0x0000000110142b0f QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 431
110 org.qt-project.QtCore           0x0000000110146fe2 QCoreApplication::exec() + 130
111 obs                             0x000000010d427cbe main + 5198 (obs-app.cpp:2472)
112 libdyld.dylib                   0x00007fff7365bcc9 start + 1

Full segfault: https://pastebin.com/SwqVTXj1

I have unchecked obs from Input Monitoring within the Security panel per #2292 , but this doesn't seem related.

@notr1ch notr1ch added the macOS Affects macOS label Apr 7, 2020
@DDRBoxman
Copy link
Member

This should be fixed in 25.0.6, let me know if it isn't.

@rherban
Copy link
Author

rherban commented Apr 15, 2020

Confirmed, I'm able to build and run OBS successfully now!

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

No branches or pull requests

3 participants