Bug 282078 - multimedia/mkvtoolnix: Segmentation fault on every launch of mkvtoolnix-gui (87.0_1)
Summary: multimedia/mkvtoolnix: Segmentation fault on every launch of mkvtoolnix-gui (...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Many People
Assignee: Jason E. Hale
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-14 13:32 UTC by pere_goriot99@yahoo.com
Modified: 2024-12-22 07:43 UTC (History)
1 user (show)

See Also:
riggs: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description pere_goriot99@yahoo.com 2024-10-14 13:32:49 UTC
Following launch application suffers Segmentation fault (core dumped) and exits.

Verified with fresh install on 14.1-RELEASE-p5. Reproducible via both pkg and building port.

Back trace from .core file uing gdb:

Core was generated by `/usr/ports/multimedia/mkvtoolnix/work-qt6/stage/usr/local/bin/mkvtoolnix-gui'.
Program terminated with signal SIGSEGV, Segmentation fault.
Address not mapped to object.
#0  0x0000000886da9b97 in ?? () from /usr/local/lib/qt6/plugins/multimedia/libgstreamermediaplugin.so
[Current thread is 1 (LWP 112069)]
(gdb) bt
#0  0x0000000886da9b97 in ??? () at /usr/local/lib/qt6/plugins/multimedia/libgstreamermediaplugin.so
#1  0x0000000886dd2a4e in ??? () at /usr/local/lib/qt6/plugins/multimedia/libgstreamermediaplugin.so
#2  0x000000082b3da8e9 in QAudioOutput::QAudioOutput(QAudioDevice const&, QObject*) () at /usr/local/lib/qt6/libQt6Multimedia.so.6
#3  0x000000082b3da7fe in QAudioOutput::QAudioOutput(QObject*) () at /usr/local/lib/qt6/libQt6Multimedia.so.6
#4  0x000000000060c9cf in mtx::gui::Util::MediaPlayerPrivate::MediaPlayerPrivate (this=0x1f9c3b52d9d0) at src/mkvtoolnix-gui/util/media_player.cpp:23
#5  0x000000000060c49d in mtx::gui::Util::MediaPlayer::MediaPlayer (this=0x1f9c39c30620) at src/mkvtoolnix-gui/util/media_player.cpp:31
#6  0x00000000003b2fe8 in mtx::gui::App::setupMediaPlayer (this=<optimized out>) at src/mkvtoolnix-gui/app.cpp:211
#7  mtx::gui::App::mediaPlayer () at src/mkvtoolnix-gui/app.cpp:217
#8  0x0000000000482f31 in mtx::gui::MainWindow::setupConnections (this=0x1f9c3b4bc560) at src/mkvtoolnix-gui/main_window/main_window.cpp:242
#9  0x00000000004816e2 in mtx::gui::MainWindow::MainWindow (this=0x1f9c3b4bc560, parent=<optimized out>) at src/mkvtoolnix-gui/main_window/main_window.cpp:107
#10 0x00000000003b55b1 in std::__1::make_unique[abi:se180100]<mtx::gui::MainWindow>() () at /usr/include/c++/v1/__memory/unique_ptr.h:597
#11 mtx::gui::App::run (this=0x1f9c395c8d60) at src/mkvtoolnix-gui/app.cpp:617
#12 0x00000000005c3ed1 in main (argc=1, argv=0x820ce05d8) at src/mkvtoolnix-gui/mkvtoolnix_gui.cpp:91
Comment 1 pere_goriot99@yahoo.com 2024-10-14 14:02:09 UTC
As a workaround I built multimedia/qt6-multimedia-6.7.3 with GSTREAMER=off, whereupon mkvtoolnix-gui executes without issue.  Not sure what functionality this disables.
Comment 2 Thomas Zander freebsd_committer freebsd_triage 2024-10-15 21:40:14 UTC
This must be a recent regression in one of the downstream dependencies, it worked fine just a few days ago. Looking into it.
Comment 3 Thomas Zander freebsd_committer freebsd_triage 2024-10-18 22:05:54 UTC
This is reproducible, coming from the update to gstreamer 1.24.

Jason, any idea what's going on in qt6-multimedia?
Comment 4 Jason E. Hale freebsd_committer freebsd_triage 2024-10-19 16:00:02 UTC
(In reply to Thomas Zander from comment #3)
I'll investigate the issue, but this seems to be a regression in qt6-multimedia 6.7.3. There were a lot of changes to the gstreamer plugin since 6.7.2, so it may take a while to sift through those. I don't think it's a problem with the gstreamer update as mkvtoolnix runs fine with gstreamer 1.24.8 and qt 6.7.2.
Comment 5 Jason E. Hale freebsd_committer freebsd_triage 2024-10-24 08:40:26 UTC
Sorry, but I can't reproduce this with Qt 6.7.3 and GStreamer 1.24.8 on FreeBSD-CURRENT from 2024-08-31. Some of the support libraries I have installed are not yet up-to-date, so it may be a problem with one of them, but I'm just speculating at this point.
Comment 6 Jason E. Hale freebsd_committer freebsd_triage 2024-10-25 06:49:57 UTC
I just updated my FreeBSD installation and all of the packages with those built by the FreeBSD package builders. Still can't reproduce this.
Comment 7 Thomas Zander freebsd_committer freebsd_triage 2024-11-03 15:55:27 UTC
My builder is still crunching (rebuilding everything), will let you know when I have an update. Hopefully we can track it down soon. Fingers crossed.
Comment 8 Thomas Zander freebsd_committer freebsd_triage 2024-12-21 07:28:58 UTC
I can reproduce this now with mkvtoolnix 88 and official FreeBSD packages. Whatever it is, it did not disappear. Looking...
Comment 9 Jason E. Hale freebsd_committer freebsd_triage 2024-12-21 16:28:59 UTC
I was finally able to reproduce this. Installing audio/gstreamer1-plugins-pulse fixed the issue for me.
Comment 10 Thomas Zander freebsd_committer freebsd_triage 2024-12-21 18:53:52 UTC
(In reply to Jason E. Hale from comment #9)

Wow! I can confirm that installing gstreamer1-plugins-pulse fixes the problem for me as well.

How did you find out that the pulse plugin is the culprit? Did you have a gstreamer debug build?

As for the resolution, it seems unlikely that mkvtoolnix is the only affected port. We might want to add a RUN_DEPENDS for the pulse plugin in qt6-multimedia. WDYT?
Otherwise I'm happy to add one to mkvtoolnix referencing this bug.
Comment 11 Jason E. Hale freebsd_committer freebsd_triage 2024-12-21 21:40:14 UTC
(In reply to Thomas Zander from comment #10)
Ultimately, I just did a debug build of qt6-multimedia 6.7.3 and lldb was a little more helpful than gdb at pointing me in the right direction.

I agree that this should be fixed in the qt6-multimedia port. The plugin probably isn’t needed if qt6-multimedia is built with the PULSEAUDIO option disabled. I’ll have to check that.
Comment 12 commit-hook freebsd_committer freebsd_triage 2024-12-22 06:53:47 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7fac7b6b62bb55df32a6bdad4eab3374ff298fc5

commit 7fac7b6b62bb55df32a6bdad4eab3374ff298fc5
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2024-12-22 05:47:12 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2024-12-22 06:47:24 +0000

    audio/gstreamer1-plugins-alsa: Add port

    GStreamer ALSA plugin.

    If multimedia/qt6-multimedia is built with both the GSTREAMER and ALSA
    options enabled, certain applications like multimedia/mkvtoolnix may
    crash if this plugin is not installed.

    PR:             282078

 Mk/Uses/gstreamer.mk                                     |  5 ++++-
 audio/Makefile                                           |  1 +
 audio/gstreamer1-plugins-alsa/Makefile (new)             | 16 ++++++++++++++++
 audio/gstreamer1-plugins-alsa/pkg-plist (new)            |  1 +
 .../files/patch-ext_alsa_meson.build (new)               | 13 +++++++++++++
 5 files changed, 35 insertions(+), 1 deletion(-)
Comment 13 commit-hook freebsd_committer freebsd_triage 2024-12-22 06:53:48 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=04cb7d0bcd688c3bcd88b0ae632e787a7c75a5fa

commit 04cb7d0bcd688c3bcd88b0ae632e787a7c75a5fa
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2024-12-22 06:38:57 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2024-12-22 06:47:51 +0000

    multimedia/qt6-multimedia: Add missing deps

    If the GSTREAMER option is enabled, the respective audio sink for either
    the ALSA or PULSEAUDIO backend needs to be installed, otherwise
    applications like multimedia/mkvtoolnix may crash upon startup.

    While here, add missing graphics/libdrm dep.

    PR:             282078

 multimedia/qt6-multimedia/Makefile | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
Comment 14 Jason E. Hale freebsd_committer freebsd_triage 2024-12-22 06:59:57 UTC
I think this should be sorted now.
Comment 15 Thomas Zander freebsd_committer freebsd_triage 2024-12-22 07:43:05 UTC
Thanks for looking into this!