Summary: | kde-apps/spectacle-24.08.1 - Segmentation Fault Upon Finishing Recording | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Neko-san <gentoo.qxrin> |
Component: | Current packages | Assignee: | Gentoo KDE team <kde> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | gentoo.qxrin, toolchain |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=923292 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
backtrace.log
Backtrace |
Description
Neko-san
2024-09-25 06:56:40 UTC
Created attachment 903673 [details]
backtrace.log
Happy to apply any upstream fixes, but won't personally look into this unless reproduced with gcc/glibc. I can't compile Spectacle with GCC on my profile because it results in a ton of mangled symbols errors, so I can't verify if it happens on that side, just to clarify. Thread 76 (Thread 0x7bec3b4006c0 (LWP 26336) "PipeWireProduce"): #0 0x00007bf0a2b52ecd in end_ebml_master_crc32 (pb=pb@entry=0x7bebc803bc40, dyn_cp=dyn_cp@entry=0x7bebcafede90, mkv=mkv@entry=0x7bebcafede40, id=id@entry=524531317, length_size=length_size@entry=0, keep_buffer=keep_buffer@entry=0, add_seekentry=0) at src/libavformat/matroskaenc.c:786 #1 0x00007bf0a2b50846 in mkv_write_trailer (s=0x7bebcafedac0) at src/libavformat/matroskaenc.c:3137 #2 0x00007bf0a2b9cd57 in av_write_trailer (s=0x7bebcafedac0) at src/libavformat/mux.c:1315 #3 0x00007bf0a971875f in PipeWireRecordProduce::cleanup (this=0x5e5a8d45b8c0) at /var/tmp/portage/kde-plasma/kpipewire-6.1.5/work/kpipewire-6.1.5/src/pipewirerecord.cpp:201 #4 0x00007bf0a971b4fb in PipeWireProduce::destroy (this=0x5e5a8d45b8c0) at /var/tmp/portage/kde-plasma/kpipewire-6.1.5/work/kpipewire-6.1.5/src/pipewireproduce.cpp:190 #5 0x00007bf0a626e47c in QObject::event (this=0x5e5a8d45b8c0, e=0x7bec1d023eb0) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qobject.cpp:1452 #6 0x00007bf0a7e6eea0 in QApplicationPrivate::notify_helper (this=0x5e5a8cf3bfc0, receiver=0x5e5a8d45b8c0, e=0x7bec1d023eb0) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qapplication.cpp:3287 #7 0x00007bf0a7e70820 in QApplication::notify (this=0x7ffeccc2e1d0, receiver=0x5e5a8d45b8c0, e=0x7bec1d023eb0) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qapplication.cpp:3238 #8 0x00007bf0a6314e4d in QCoreApplication::notifyInternal2 (receiver=0x5e5a8d45b8c0, event=0x7bec1d023eb0) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1142 #9 0x00007bf0a63163d2 in QCoreApplication::sendEvent (receiver=0x5e5a8d45b8c0, event=0x7bec1d023eb0) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1583 #10 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5e5a8d82ad90) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1940 #11 0x00007bf0a60cae98 in postEventSourceDispatch (s=0x7bebc8000f10) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qeventdispatcher_glib.cpp:244 #12 0x00007bf0a229a240 in g_main_dispatch (context=0x7bebc8000c60) at ../glib-2.78.6/glib/gmain.c:3476 #13 g_main_context_dispatch_unlocked (context=context@entry=0x7bebc8000c60) at ../glib-2.78.6/glib/gmain.c:4284 #14 0x00007bf0a229a63c in g_main_context_iterate_unlocked (context=context@entry=0x7bebc8000c60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib-2.78.6/glib/gmain.c:4349 #15 0x00007bf0a229a6dc in g_main_context_iteration (context=0x7bebc8000c60, may_block=1) at ../glib-2.78.6/glib/gmain.c:4414 #16 0x00007bf0a60b63e7 in QEventDispatcherGlib::processEvents (this=0x7bebc8001260, flags=...) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qeventdispatcher_glib.cpp:394 #17 0x00007bf0a63159a6 in QEventLoop::processEvents (this=0x7bec3b3f0a00, flags=...) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qeventloop.cpp:100 #18 QEventLoop::exec (this=0x7bec3b3f0a00, flags=...) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qeventloop.cpp:182 #19 0x00007bf0a623440b in QThread::exec (this=<optimized out>) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/corelib/thread/qthread.cpp:586 #20 0x00007bf0a61dfbda in QThreadPrivate::start(void*)::$_0::operator()() const (this=<optimized out>) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/corelib/thread/qthread_unix.cpp:326 #21 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::$_0>(QThreadPrivate::start(void*)::$_0&&) (t=<optimized out>) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/corelib/thread/qthread_unix.cpp:262 #22 QThreadPrivate::start (arg=0x5e5a8de6b680) at /var/tmp/portage/dev-qt/qtbase-6.7.2-r4/work/qtbase-everywhere-src-6.7.2/src/corelib/thread/qthread_unix.cpp:285 #23 0x00007bf0a5bc7191 in start_thread (arg=<optimized out>) at pthread_create.c:447 #24 0x00007bf0a5c4660c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 ... so it crashes in ffmpeg's end_ebml_master_crc32. > CFLAGS="-march=znver2 -pipe -O2 -mllvm=-polly -mllvm=-polly-ast-use-context -mllvm=-polly-vectorizer=stripmine -mllvm=-polly-invariant-load-hoisting -mllvm=-polly-run-inliner -mllvm=-polly-run-dce -fno-plt -ftrivial-auto-var-init=pattern -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fstack-protector-strong -fcf-protection -fPIC -ggdb3"
As I've advised before:
* several of these are default already for Clang via clang-common;
* please reduce the flags needed to reproduce failure (noting you'll need to rebuild at least direct deps with the same reduced flags)
> keep_buffer=keep_buffer@entry=0, add_seekentry=0) at src/libavformat/matroskaenc.c:786
What line is this for you? (What version of media-video/ffmpeg?)
ffmpeg 6.1.1-r8, to clarify; also, about the dependency rebuilding, I still sort of need to learn how to properly determine *every* direct dependency required for rebuilding (Is rebuilding *everything* on this page is not overdoing it, right?) https://packages.gentoo.org/packages/kde-apps/spectacle/dependencies Also, not reproducible for me with media-video/ffmpeg-6.1.2 and kde-apps/spectacle-24.08.1. Even if I reduce the flags to just "-march=znver2 -O2 -pipe -ggdb3" for both ffmpeg and Spectacle, I still get the same error in the backtrace. (I only need to rebuild ffmpeg and spectacle if ffmpeg is the cause, like you mentioned, right? Or should I be rebuilding more packages?) Created attachment 906729 [details]
Backtrace
Added a new backtrace with:
- "thread apply all bt full"
- "info locals"
- "disas"
Also "sort of" found what was causing the crash on the user-facing side:
The screen recording menu as a drop-down list option that lets you select which file type to save to, but for me the default choice was actually blank for some reason, and when I opened the drop-down the only valid option was mp4. Changing it to mp4 prevents the crash when attempting to stop a recording, but I find it odd that the default was blank to begin with and it just decided to save as (what I assume to be) a mkv file. :/
|