locaal-ai / obs-urlsource

OBS plugin to fetch data from a URL or file, connect to an API or AI service, parse responses and display text, image or audio on scene
https://obsproject.com/forum/resources/url-api-source-fetch-live-data-and-display-it-on-screen.1756/
GNU General Public License v2.0
160 stars 22 forks source link

Obs segfault #7

Closed ogmkp closed 1 year ago

ogmkp commented 1 year ago

Hi and thank you for this initiative !

On Debian 12 with OBS 29.1.3, when I select URL Source to add a new source, OBS crash instantly, heres a backtrace:

info: User switched to scene 'Scène 4'
[New Thread 0x7fff067026c0 (LWP 163118)]
[New Thread 0x7fff05f016c0 (LWP 163119)]
[New Thread 0x7fff04f676c0 (LWP 163120)]

Thread 1 "obs" received signal SIGSEGV, Segmentation fault.
__memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:104
104 ../sysdeps/x86_64/multiarch/memmove-ssse3.S: Aucun fichier ou dossier de ce type.
(gdb) 
(gdb) 
(gdb) 
(gdb) 
(gdb) 
(gdb) 
(gdb) 
(gdb) 
(gdb) 
(gdb) 
(gdb) 
(gdb) bt
#0  __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:104
#1  0x00007fff68cf1ca9 in  () at /home/organ/.config/obs-studio/plugins/obs-urlsource/bin/64bit/obs-urlsource.so
#2  0x00007fff68cf273b in  () at /home/organ/.config/obs-studio/plugins/obs-urlsource/bin/64bit/obs-urlsource.so
#3  0x00007ffff6787cb2 in  () at /usr/local/lib/libobs.so.0
#4  0x00007ffff6788149 in obs_source_create () at /usr/local/lib/libobs.so.0
#5  0x0000555555784b82 in  ()
#6  0x0000555555785711 in  ()
#7  0x00005555555f0de3 in  ()
#8  0x00007ffff456cc18 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#9  0x00007ffff573a862 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#10 0x00007ffff456cee3 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#11 0x00007ffff56826f2 in QAbstractButton::clicked(bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#12 0x00007ffff567a7fa in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#13 0x00007ffff567abba in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#14 0x00007ffff568766f in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#15 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#16 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#17 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#18 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#19 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
    at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#20 0x00007ffff55d5f95 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#21 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#22 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#23 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#24 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#25 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#26 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#27 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#31 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#32 0x00007ffff57a08ff in QDialog::exec() () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#33 0x0000555555695df3 in  ()
#34 0x00005555556a5fb6 in  ()
#35 0x00007ffff456cee3 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#36 0x00007ffff4e32b22 in QAction::triggered(bool) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#37 0x00007ffff4e37db1 in QAction::activate(QAction::ActionEvent) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#38 0x00007ffff5720b8a in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#39 0x00007ffff572131b in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
--Type <RET> for more, q to quit, c to continue without paging--c
#40 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#41 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#42 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#43 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#44 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
    at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#45 0x00007ffff55d658f in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#46 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#47 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#48 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#49 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#50 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#51 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#52 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#53 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#54 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#55 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#56 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#57 0x00007ffff572364f in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#58 0x00007ffff572376f in QMenu::exec(QPoint const&, QAction*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#59 0x00005555556b0083 in  ()
#60 0x00005555556b01df in  ()
#61 0x00005555555f41c7 in  ()
#62 0x00007ffff456cc18 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#63 0x00007ffff4e32b22 in QAction::triggered(bool) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#64 0x00007ffff4e37db1 in QAction::activate(QAction::ActionEvent) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#65 0x00007ffff567ab5d in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#66 0x00007ffff568766f in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#67 0x00007ffff577e8fa in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#68 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#69 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#70 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#71 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#72 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
    at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#73 0x00007ffff55d5f95 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#74 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#75 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#76 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#77 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#78 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#79 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#80 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#81 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#82 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#83 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#84 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#85 0x00007ffff45266a8 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#86 0x00005555555e7645 in main ()
(gdb) 

Thanks.

royshil commented 1 year ago

Thanks for the feedback The allocation of mutexes in the create function may be the issue. I'm working through it in the localvocal project and once I figure that out I'll fix it here as well.

royshil commented 1 year ago

@ogmkp can you plz try https://github.com/royshil/obs-urlsource/actions/runs/5973820235#artifacts ?

ogmkp commented 1 year ago

Thanks for your reply. Just tested this build, but same crash when I want to add the URL Source into a scene. Following gdb trace:

Thread 1 "obs" received signal SIGSEGV, Segmentation fault.
__memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:104
104 ../sysdeps/x86_64/multiarch/memmove-ssse3.S: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:104
#1  0x00007fff6924bc42 in std::char_traits<char>::copy(char*, char const*, unsigned long) (__n=<optimized out>, __s2=0x7fffffffa0d0 "GET", __s1=<optimized out>)
    at /usr/include/c++/11/bits/char_traits.h:437
#2  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) (__n=<optimized out>, __s=0x7fffffffa0d0 "GET", __d=<optimized out>)
    at /usr/include/c++/11/bits/basic_string.h:359
#3  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) (__n=<optimized out>, __s=0x7fffffffa0d0 "GET", __d=<optimized out>)
    at /usr/include/c++/11/bits/basic_string.h:354
#4  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
    (__str=..., this=0x555557b44d88) at /usr/include/c++/11/bits/basic_string.h:740
#5  url_source_request_data::operator=(url_source_request_data&&) (this=0x555557b44d68) at /home/runner/work/obs-urlsource/obs-urlsource/src/request-data.h:7
#6  url_source_create(obs_data_t*, obs_source_t*) (settings=0x7fffe4007d00, source=0x55555741f620) at /home/runner/work/obs-urlsource/obs-urlsource/src/url-source.cpp:351
#7  0x00007ffff6787cb2 in  () at /usr/local/lib/libobs.so.0
#8  0x00007ffff6788149 in obs_source_create () at /usr/local/lib/libobs.so.0
#9  0x0000555555784b82 in  ()
#10 0x0000555555785711 in  ()
#11 0x00005555555f0de3 in  ()
#12 0x00007ffff456cc18 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#13 0x00007ffff573a862 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#14 0x00007ffff456cee3 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#15 0x00007ffff56826f2 in QAbstractButton::clicked(bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#16 0x00007ffff567a7fa in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#17 0x00007ffff567abba in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#18 0x00007ffff568766f in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#19 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#20 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#21 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#22 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#23 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#24 0x00007ffff55d5f95 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#25 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#26 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#27 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#28 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#29 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#30 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#31 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#35 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#36 0x00007ffff57a08ff in QDialog::exec() () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#37 0x0000555555695df3 in  ()
#38 0x00005555556a5fb6 in  ()
#39 0x00007ffff456cee3 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#40 0x00007ffff4e32b22 in QAction::triggered(bool) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#41 0x00007ffff4e37db1 in QAction::activate(QAction::ActionEvent) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#42 0x00007ffff5720b8a in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#43 0x00007ffff572131b in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#44 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#45 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#46 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#47 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#48 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#49 0x00007ffff55d658f in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#50 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#51 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#52 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#53 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#54 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#55 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#56 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#57 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#58 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#59 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#60 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#61 0x00007ffff572364f in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#62 0x00007ffff572376f in QMenu::exec(QPoint const&, QAction*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#63 0x00005555556b0083 in  ()
#64 0x00005555556b01df in  ()
#65 0x00005555555f41c7 in  ()
#66 0x00007ffff456cc18 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#67 0x00007ffff4e32b22 in QAction::triggered(bool) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#68 0x00007ffff4e37db1 in QAction::activate(QAction::ActionEvent) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#69 0x00007ffff567ab5d in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#70 0x00007ffff568766f in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#71 0x00007ffff577e8fa in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#72 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#73 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#74 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#75 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#76 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#77 0x00007ffff55d5f95 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#78 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#79 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#80 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#81 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#82 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#83 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#84 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#85 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#86 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#87 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#88 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#89 0x00007ffff45266a8 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#90 0x00005555555e7645 in main ()
(gdb) 
royshil commented 1 year ago

@ogmkp can you try the results of this build https://github.com/royshil/obs-urlsource/actions/runs/5974388567 ? i'm trying to init the offending struct

ogmkp commented 1 year ago

Sorry same crash with this build:

Thread 1 "obs" received signal SIGSEGV, Segmentation fault.
__memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:104
104 ../sysdeps/x86_64/multiarch/memmove-ssse3.S: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:104
#1  0x00007fff6924b189 in std::char_traits<char>::copy(char*, char const*, unsigned long) (__n=<optimized out>, __s2=0x7fffffffa0d0 "GET", __s1=<optimized out>)
    at /usr/include/c++/11/bits/char_traits.h:437
#2  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) (__n=<optimized out>, __s=0x7fffffffa0d0 "GET", __d=<optimized out>)
    at /usr/include/c++/11/bits/basic_string.h:359
#3  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) (__n=<optimized out>, __s=0x7fffffffa0d0 "GET", __d=<optimized out>)
    at /usr/include/c++/11/bits/basic_string.h:354
#4  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
    (this=this@entry=0x555557092808, __str=...) at /usr/include/c++/11/bits/basic_string.h:740
#5  0x00007fff6924c2f3 in url_source_request_data::operator=(url_source_request_data&&) (this=0x5555570927e8) at /home/runner/work/obs-urlsource/obs-urlsource/src/request-data.h:7
#6  url_source_create(obs_data_t*, obs_source_t*) (settings=0x7fffe4006ca0, source=0x555557476c00) at /home/runner/work/obs-urlsource/obs-urlsource/src/url-source.cpp:351
#7  0x00007ffff6787cb2 in  () at /usr/local/lib/libobs.so.0
#8  0x00007ffff6788149 in obs_source_create () at /usr/local/lib/libobs.so.0
#9  0x0000555555784b82 in  ()
#10 0x0000555555785711 in  ()
#11 0x00005555555f0de3 in  ()
#12 0x00007ffff456cc18 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#13 0x00007ffff573a862 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#14 0x00007ffff456cee3 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#15 0x00007ffff56826f2 in QAbstractButton::clicked(bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#16 0x00007ffff567a7fa in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#17 0x00007ffff567abba in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#18 0x00007ffff568766f in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#19 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#20 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#21 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#22 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#23 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#24 0x00007ffff55d5f95 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#25 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#26 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#27 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#28 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#29 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#30 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#31 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#35 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#36 0x00007ffff57a08ff in QDialog::exec() () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#37 0x0000555555695df3 in  ()
#38 0x00005555556a5fb6 in  ()
#39 0x00007ffff456cee3 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#40 0x00007ffff4e32b22 in QAction::triggered(bool) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#41 0x00007ffff4e37db1 in QAction::activate(QAction::ActionEvent) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#42 0x00007ffff5720b8a in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#43 0x00007ffff572131b in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#44 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#45 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#46 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#47 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#48 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#49 0x00007ffff55d658f in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#50 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#51 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#52 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#53 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#54 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#55 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#56 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#57 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#58 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#59 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#60 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#61 0x00007ffff572364f in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#62 0x00007ffff572376f in QMenu::exec(QPoint const&, QAction*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#63 0x00005555556b0083 in  ()
#64 0x00005555556b01df in  ()
#65 0x00005555555f41c7 in  ()
#66 0x00007ffff456cc18 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#67 0x00007ffff4e32b22 in QAction::triggered(bool) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#68 0x00007ffff4e37db1 in QAction::activate(QAction::ActionEvent) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#69 0x00007ffff567ab5d in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#70 0x00007ffff568766f in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#71 0x00007ffff577e8fa in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#72 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#73 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#74 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#75 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#76 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#77 0x00007ffff55d5f95 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#78 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#79 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#80 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#81 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#82 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#83 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#84 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#85 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#86 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#87 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#88 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#89 0x00007ffff45266a8 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#90 0x00005555555e7645 in main ()
(gdb)
royshil commented 1 year ago

@ogmkp please try https://github.com/royshil/obs-urlsource/actions/runs/5974908868 when it finishes building

ogmkp commented 1 year ago

Tested, and same crash, sorry:

Thread 1 "obs" received signal SIGSEGV, Segmentation fault.
__memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:104
104 ../sysdeps/x86_64/multiarch/memmove-ssse3.S: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:104
#1  0x00007fff6924bd6d in std::char_traits<char>::copy(char*, char const*, unsigned long) (__n=<optimized out>, __s2=0x7fffffff9fb0 "GET", __s1=<optimized out>)
    at /usr/include/c++/11/bits/char_traits.h:437
#2  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) (__n=<optimized out>, __s=0x7fffffff9fb0 "GET", __d=<optimized out>)
    at /usr/include/c++/11/bits/basic_string.h:359
#3  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) (__n=<optimized out>, __s=0x7fffffff9fb0 "GET", __d=<optimized out>)
    at /usr/include/c++/11/bits/basic_string.h:354
#4  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
    (__str=..., this=0x555557b89808) at /usr/include/c++/11/bits/basic_string.h:740
#5  url_source_request_data::operator=(url_source_request_data const&) (other=..., this=0x555557b897e8) at /home/runner/work/obs-urlsource/obs-urlsource/src/request-data.h:55
#6  url_source_create(obs_data_t*, obs_source_t*) (settings=0x55555741c0e0, source=0x5555574216c0) at /home/runner/work/obs-urlsource/obs-urlsource/src/url-source.cpp:351
#7  0x00007ffff6787cb2 in  () at /usr/local/lib/libobs.so.0
#8  0x00007ffff6788149 in obs_source_create () at /usr/local/lib/libobs.so.0
#9  0x0000555555784b82 in  ()
#10 0x0000555555785711 in  ()
#11 0x00005555555f0de3 in  ()
#12 0x00007ffff456cc18 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#13 0x00007ffff573a862 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#14 0x00007ffff456cee3 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#15 0x00007ffff56826f2 in QAbstractButton::clicked(bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#16 0x00007ffff567a7fa in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#17 0x00007ffff567abba in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#18 0x00007ffff568766f in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#19 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#20 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#21 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#22 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#23 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#24 0x00007ffff55d5f95 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#25 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#26 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#27 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#28 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#29 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#30 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#31 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#35 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#36 0x00007ffff57a08ff in QDialog::exec() () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#37 0x0000555555695df3 in  ()
#38 0x00005555556a5fb6 in  ()
#39 0x00007ffff456cee3 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#40 0x00007ffff4e32b22 in QAction::triggered(bool) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#41 0x00007ffff4e37db1 in QAction::activate(QAction::ActionEvent) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#42 0x00007ffff5720b8a in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#43 0x00007ffff572131b in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#44 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#45 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#46 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#47 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#48 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#49 0x00007ffff55d658f in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#50 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#51 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#52 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#53 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#54 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#55 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#56 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#57 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#58 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#59 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#60 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#61 0x00007ffff572364f in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#62 0x00007ffff572376f in QMenu::exec(QPoint const&, QAction*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#63 0x00005555556b0083 in  ()
#64 0x00005555556b01df in  ()
#65 0x00005555555f41c7 in  ()
#66 0x00007ffff456cc18 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#67 0x00007ffff4e32b22 in QAction::triggered(bool) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#68 0x00007ffff4e37db1 in QAction::activate(QAction::ActionEvent) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#69 0x00007ffff567ab5d in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#70 0x00007ffff568766f in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#71 0x00007ffff577e8fa in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#72 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#73 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#74 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#75 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#76 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#77 0x00007ffff55d5f95 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#78 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#79 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#80 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#81 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#82 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#83 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#84 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#85 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#86 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#87 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#88 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#89 0x00007ffff45266a8 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#90 0x00005555555e7645 in main ()
(gdb) 
royshil commented 1 year ago

very peculiar lets try this https://github.com/royshil/obs-urlsource/actions/runs/5975869539

since i don't have a linux machine to test this out and debug i can't close this loop myself. are you able to debug this on your machine @ogmkp ? can you make code changes, build and test?

ogmkp commented 1 year ago

This build crashes OBS too. I'm a advanced technical user, I don't know how to make code changes, I'm not a developer but I can make a local build and doing tests (already). Need to find, other person with Linux, particulary Debian, for testing, and reproduce this crash. You can create a Debian virtual machine with OpenGL for testing and debugging yourself.

Thread 1 "obs" received signal SIGSEGV, Segmentation fault.
__memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:104
104 ../sysdeps/x86_64/multiarch/memmove-ssse3.S: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:104
#1  0x00007fff6924ca0d in std::char_traits<char>::copy(char*, char const*, unsigned long) (__n=<optimized out>, __s2=0x7fffffff9fb0 "GET", __s1=<optimized out>)
    at /usr/include/c++/11/bits/char_traits.h:437
#2  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) (__n=<optimized out>, __s=0x7fffffff9fb0 "GET", __d=<optimized out>)
    at /usr/include/c++/11/bits/basic_string.h:359
#3  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) (__n=<optimized out>, __s=0x7fffffff9fb0 "GET", __d=<optimized out>)
    at /usr/include/c++/11/bits/basic_string.h:354
#4  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
    (__str=..., this=0x555557528f48) at /usr/include/c++/11/bits/basic_string.h:740
#5  url_source_request_data::operator=(url_source_request_data const&) (other=..., this=0x555557528f28) at /home/runner/work/obs-urlsource/obs-urlsource/src/request-data.h:55
#6  url_source_create(obs_data_t*, obs_source_t*) (settings=0x5555574e0fa0, source=0x55555756fee0) at /home/runner/work/obs-urlsource/obs-urlsource/src/url-source.cpp:351
#7  0x00007ffff6787cb2 in  () at /usr/local/lib/libobs.so.0
#8  0x00007ffff6788149 in obs_source_create () at /usr/local/lib/libobs.so.0
#9  0x0000555555784b82 in  ()
#10 0x0000555555785711 in  ()
#11 0x00005555555f0de3 in  ()
#12 0x00007ffff456cc18 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#13 0x00007ffff573a862 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#14 0x00007ffff456cee3 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#15 0x00007ffff56826f2 in QAbstractButton::clicked(bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#16 0x00007ffff567a7fa in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#17 0x00007ffff567abba in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#18 0x00007ffff568766f in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#19 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#20 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#21 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#22 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#23 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#24 0x00007ffff55d5f95 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#25 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#26 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#27 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#28 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#29 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#30 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#31 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#35 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#36 0x00007ffff57a08ff in QDialog::exec() () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#37 0x0000555555695df3 in  ()
#38 0x00005555556a5fb6 in  ()
#39 0x00007ffff456cee3 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
--Type <RET> for more, q to quit, c to continue without paging-- 
#40 0x00007ffff4e32b22 in QAction::triggered(bool) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#41 0x00007ffff4e37db1 in QAction::activate(QAction::ActionEvent) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#42 0x00007ffff5720b8a in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#43 0x00007ffff572131b in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#44 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#45 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#46 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#47 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#48 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#49 0x00007ffff55d658f in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#50 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#51 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#52 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#53 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#54 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#55 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#56 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#57 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#58 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#59 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#60 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#61 0x00007ffff572364f in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#62 0x00007ffff572376f in QMenu::exec(QPoint const&, QAction*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#63 0x00005555556b0083 in  ()
#64 0x00005555556b01df in  ()
#65 0x00005555555f41c7 in  ()
#66 0x00007ffff456cc18 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#67 0x00007ffff4e32b22 in QAction::triggered(bool) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#68 0x00007ffff4e37db1 in QAction::activate(QAction::ActionEvent) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#69 0x00007ffff567ab5d in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#70 0x00007ffff568766f in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#71 0x00007ffff577e8fa in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#72 0x00007ffff55c8554 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#73 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#74 0x00007ffff557b931 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#75 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#76 0x00007ffff55783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#77 0x00007ffff55d5f95 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#78 0x00007ffff55d72f5 in  () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#79 0x00007ffff5582a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#80 0x00007ffff45238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#81 0x00007ffff4b8e28b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#82 0x00007ffff4bd653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Gui.so.6
#83 0x00007fffe97b52fa in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
--Type <RET> for more, q to quit, c to continue without paging--
#84 0x00007ffff251c7a9 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#85 0x00007ffff251ca38 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#86 0x00007ffff251cacc in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#87 0x00007ffff4707f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#88 0x00007ffff452d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#89 0x00007ffff45266a8 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#90 0x00005555555e7645 in main ()
(gdb) 
royshil commented 1 year ago

@umireon are you able to check the build on linux to see if you replicate this crash? 🙏

umireon commented 1 year ago

@royshil You have to add the placement new operator to create function to get mutex to be worked

royshil commented 1 year ago

@ogmkp can you try the latest build plz https://github.com/royshil/obs-urlsource/actions/runs/6142741586 ? 🙏

umireon commented 1 year ago

I can test later of today

royshil commented 1 year ago

@umireon do you have any insights? thanks

umireon commented 1 year ago

14 should fix this problem.

ogmkp commented 1 year ago

@ogmkp can you try the latest build plz https://github.com/royshil/obs-urlsource/actions/runs/6142741586 ? 🙏

Crash again

royshil commented 1 year ago

@ogmkp please try the latest version on master https://github.com/royshil/obs-urlsource/actions/runs/6154920824#artifacts this has the changes from @umireon

ogmkp commented 1 year ago

Runs great ! Thank you @umireon and @royshil ! When do you want to close this issue (on new release maybe ) ?

umireon commented 1 year ago

Closing as this was fixed