Description of problem: I started OBS and clicked the Settings button. I have existing settings left over from the previous version of OBS that came from RPM Fusion. Version-Release number of selected component: obs-studio-29.1.0-1.fc38 Additional info: reporter: libreport-2.17.9 type: CCpp reason: obs killed by SIGABRT journald_cursor: s=e805a2e5f4cc4da9ac168388c3a9e3dd;i=4c1ae6;b=28da699fe0c646709520860d49ffab2e;m=487802070;t=5fad6d5b2c6fd;x=4ebdf8e5fbd04a56 executable: /usr/bin/obs cmdline: /usr/bin/obs cgroup: 0::/user.slice/user-1000.slice/user/app.slice/app-gnome-com.obsproject.Studio-27973.scope rootdir: / uid: 1000 kernel: 6.2.14-300.fc38.x86_64 package: obs-studio-29.1.0-1.fc38 runlevel: N 5 dso_list: /usr/bin/obs obs-studio-29.1.0-1.fc38.x86_64 (Fedora Project) 1683175473 backtrace_rating: 4 crash_function: __gnu_cxx::__verbose_terminate_handler() comment: I started OBS and clicked the Settings button. I have existing settings left over from the previous version of OBS that came from RPM Fusion. Truncated backtrace: Thread no. 1 (48 frames) #4 __gnu_cxx::__verbose_terminate_handler() at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95 #5 __cxxabiv1::__terminate(void (*)()) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:48 #6 std::terminate() at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:58 #7 __cxxabiv1::__cxa_throw(void*, std::type_info*, void (*)(void*)) at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:98 #8 std::__throw_logic_error(char const*) at ../../../../../libstdc++-v3/src/c++11/functexcept.cc:70 #9 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&) at /usr/include/c++/13/bits/basic_string.h:647 #10 DisableIncompatibleSimpleContainer at /usr/src/debug/obs-studio-29.1.0-1.fc38.x86_64/UI/window-basic-settings.cpp:5772 #11 OBSBasicSettings::SimpleRecordingEncoderChanged() at /usr/src/debug/obs-studio-29.1.0-1.fc38.x86_64/UI/window-basic-settings.cpp:5889 #12 doActivate<false>(QObject*, int, void**) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/corelib/kernel/qobject.cpp:3991 #13 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/corelib/kernel/qobject.cpp:4039 #14 QSpinBox::valueChanged(int) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/redhat-linux-build/src/widgets/Widgets_autogen/include/moc_qspinbox.cpp:271 #15 QAbstractSpinBoxPrivate::setValue(QVariant const&, EmitPolicy, bool) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/widgets/qabstractspinbox.cpp:1762 #16 QSpinBox::setValue(int) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/widgets/qspinbox.cpp:198 #17 OBSBasicSettings::LoadSimpleOutputSettings() at /usr/src/debug/obs-studio-29.1.0-1.fc38.x86_64/UI/window-basic-settings.cpp:1979 #18 OBSBasicSettings::LoadOutputSettings() at /usr/src/debug/obs-studio-29.1.0-1.fc38.x86_64/UI/window-basic-settings.cpp:2484 #19 OBSBasicSettings::LoadSettings(bool) at /usr/src/debug/obs-studio-29.1.0-1.fc38.x86_64/UI/window-basic-settings.cpp:3315 #20 OBSBasicSettings::OBSBasicSettings(QWidget*) at /usr/src/debug/obs-studio-29.1.0-1.fc38.x86_64/UI/window-basic-settings.cpp:903 #21 OBSBasic::on_action_Settings_triggered() at /usr/src/debug/obs-studio-29.1.0-1.fc38.x86_64/UI/window-basic-main.cpp:5116 #22 OBSBasic::qt_metacall(QMetaObject::Call, int, void**) at /usr/src/debug/obs-studio-29.1.0-1.fc38.x86_64/redhat-linux-build/UI/obs_autogen/EWIEGA46WW/moc_window-basic-main.cpp:2746 #23 doActivate<false>(QObject*, int, void**) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/corelib/kernel/qobject.cpp:4005 #24 QMetaObject::activate(QObject*, QMetaObject const*, int, void**) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/corelib/kernel/qobject.cpp:4039 #25 QAbstractButton::clicked(bool) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/redhat-linux-build/src/widgets/Widgets_autogen/include/moc_qabstractbutton.cpp:368 #26 QAbstractButtonPrivate::emitClicked() at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/widgets/qabstractbutton.cpp:379 #27 QAbstractButtonPrivate::click() at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/widgets/qabstractbutton.cpp:372 #28 QAbstractButton::mouseReleaseEvent(QMouseEvent*) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/widgets/qabstractbutton.cpp:973 #29 QWidget::event(QEvent*) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/kernel/qwidget.cpp:9228 #30 QApplicationPrivate::notify_helper(QObject*, QEvent*) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/kernel/qapplication.cpp:3315 #31 QApplication::notify(QObject*, QEvent*) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/kernel/qapplication.cpp:2803 #32 QCoreApplication::notifyInternal2(QObject*, QEvent*) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/corelib/kernel/qcoreapplication.cpp:1035 #33 QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/corelib/kernel/qcoreapplication.cpp:1465 #34 QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/kernel/qapplication.cpp:2387 #35 QWidgetWindow::handleMouseEvent(QMouseEvent*) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/kernel/qwidgetwindow.cpp:623 #36 QWidgetWindow::event(QEvent*) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/kernel/qwidgetwindow.cpp:241 #37 QApplicationPrivate::notify_helper(QObject*, QEvent*) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/kernel/qapplication.cpp:3315 #38 QCoreApplication::notifyInternal2(QObject*, QEvent*) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/corelib/kernel/qcoreapplication.cpp:1035 #39 QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/corelib/kernel/qcoreapplication.cpp:1465 #40 QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/gui/kernel/qguiapplication.cpp:2249 #41 QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:1108 #42 userEventSourceDispatch(GSource*, GSourceFunc, gpointer) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/gui/platform/unix/qeventdispatcher_glib.cpp:38 #45 g_main_context_iterate.isra.0 at ../glib/gmain.c:4276 #46 g_main_context_iteration at ../glib/gmain.c:4343 #47 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:393 #48 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/corelib/global/qflags.h:34 #49 QCoreApplication::exec() at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/corelib/global/qflags.h:74 #50 QGuiApplication::exec() at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/gui/kernel/qguiapplication.cpp:1859 #51 QApplication::exec() at /usr/src/debug/qt6-qtbase-6.4.3-2.fc38.x86_64/src/widgets/kernel/qapplication.cpp:2595 #52 run_program at /usr/src/debug/obs-studio-29.1.0-1.fc38.x86_64/UI/obs-app.cpp:2524 #53 main(int, char**) at /usr/src/debug/obs-studio-29.1.0-1.fc38.x86_64/UI/obs-app.cpp:3434
Created attachment 1962104 [details] File: proc_pid_status
Created attachment 1962105 [details] File: maps
Created attachment 1962106 [details] File: limits
Created attachment 1962107 [details] File: environ
Created attachment 1962108 [details] File: open_fds
Created attachment 1962109 [details] File: mountinfo
Created attachment 1962110 [details] File: os_info
Created attachment 1962111 [details] File: cpuinfo
Created attachment 1962112 [details] File: core_backtrace
Created attachment 1962113 [details] File: var_log_messages
Created attachment 1962114 [details] File: backtrace
I had ffmpeg installed from RPM Fusion. It worked when I switched to ffmpeg-free.
Hitting Settings reporter: libreport-2.17.9 crash_function: __gnu_cxx::__verbose_terminate_handler() cgroup: 0::/user.slice/user-1601400001.slice/user/app.slice/app-org.gnome.Terminal.slice/vte-spawn-a36dcc4d-9bb8-47bc-8589-b90b4b1c9909.scope runlevel: N 5 journald_cursor: s=0919bf1d997742f1843efc01e2ae6ca5;i=2167cd;b=501030036b0b4f44b13266972d8c153f;m=5f4dc8bd;t=5fb083e5f1207;x=2ea5813bace84647 reason: obs killed by SIGABRT package: obs-studio-29.1.0-3.fc38 cmdline: obs backtrace_rating: 4 comment: Hitting Settings type: CCpp kernel: 6.2.14-300.fc38.x86_64 rootdir: / executable: /usr/bin/obs uid: 1601400001
This is happening because you have RPM Fusion's ffmpeg-libs or libavcodec-freeworld installed. Unfortunately, RPM Fusion has so far refused to enable the libopenh264 codec on their ffmpeg package, which causes this crash. Please go request RPM Fusion to enable libopenh264 in their ffmpeg build. A workaround that will hopefully become available from RPM Fusion soon is the "obs-studio-plugin-x264" package, which adds the x264 encoder as an alternative. Installing that should also fix it if they don't enable libopenh264 in their ffmpeg build.
Not sure if this is different from the other 3 open issues, but anyway. I installed obs-studio-plugin-x264 from rpmfusion-free-updates, and it's still crashes the same way.
Ugh, I'd hoped that having the x264 plugin would fix it, but I guess OBS really wants the codecs exposed in the simple mode to always be available. If swapping to Fedora's version is okay, then you can do so by doing "sudo dnf swap ffmpeg ffmpeg-free --allowerasing". If you need RPM Fusion's ffmpeg, there's a bug report requesting libopenh264 to be enabled in their build of FFmpeg, please comment there: https://bugzilla.rpmfusion.org/show_bug.cgi?id=6677