[GH-ISSUE #5921] mpv: mpv 0.36.0 + pipewire 0.3.75 dbus error #3131

Closed
opened 2026-05-05 09:46:03 -06:00 by gitea-mirror · 9 comments
Owner

Originally created by @jaredmo on GitHub (Jul 25, 2023).
Original GitHub issue: https://github.com/netblue30/firejail/issues/5921

Description

Attempting to open a file with mpv 0.36.0 results in the following error. I am running an up-to-date Arch Linux system with firejail 0.9.72.

dbus[60]: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file dbus-message.c line 1373.
This is normally a bug in some application using the D-Bus library.

Steps to Reproduce

Open any media file with mpv.

Expected behavior

File opens and plays successfully.

Actual behavior

Presented with dbus error message.

Behavior without a profile

File opens and plays successfully.

Additional context

None.

Environment

  • Arch Linux
  • firejail version 0.9.72

Checklist

  • The issues is caused by firejail (i.e. running the program by path (e.g. /usr/bin/vlc) "fixes" it).
  • I can reproduce the issue without custom modifications (e.g. globals.local).
  • The program has a profile. (If not, request one in https://github.com/netblue30/firejail/issues/1139)
  • The profile (and redirect profile if exists) hasn't already been fixed upstream.
  • I have performed a short search for similar issues (to avoid opening a duplicate).
    • I'm aware of browser-allow-drm yes/browser-disable-u2f no in firejail.config to allow DRM/U2F in browsers.
  • I used --profile=PROFILENAME to set the right profile. (Only relevant for AppImages)

Log

Output of LC_ALL=C firejail /path/to/program

mpv 0.36.0 Copyright © 2000-2023 mpv/MPlayer/mplayer2 projects
 built on Sun Jul 23 05:49:29 2023
libplacebo version: v5.264.1
FFmpeg version: n6.0
FFmpeg library versions:
   libavutil       58.2.100
   libavcodec      60.3.100
   libavformat     60.3.100
   libswscale      7.1.100
   libavfilter     9.3.100
   libswresample   4.10.100

Usage:   mpv [options] [url|path/]filename

Basic options:
 --start=<time>    seek to given (percent, seconds, or hh:mm:ss) position
 --no-audio        do not play sound
 --no-video        do not play video
 --fs              fullscreen playback
 --sub-file=<file> specify subtitle file to use
 --playlist=<file> specify playlist file

 --list-options    list all mpv options
 --h=<string>      print options which contain the given string in their name

Output of LC_ALL=C firejail --debug /path/to/program

https://gist.github.com/jaredmo/ca032153257acca1242f355572b5e5f6

Originally created by @jaredmo on GitHub (Jul 25, 2023). Original GitHub issue: https://github.com/netblue30/firejail/issues/5921 <!-- See the following links for help with formatting: https://guides.github.com/features/mastering-markdown/ https://docs.github.com/en/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax --> ### Description Attempting to open a file with mpv 0.36.0 results in the following error. I am running an up-to-date Arch Linux system with firejail 0.9.72. ``` dbus[60]: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file dbus-message.c line 1373. This is normally a bug in some application using the D-Bus library. ``` ### Steps to Reproduce Open any media file with mpv. ### Expected behavior File opens and plays successfully. ### Actual behavior Presented with dbus error message. ### Behavior without a profile File opens and plays successfully. ### Additional context None. ### Environment - Arch Linux - firejail version 0.9.72 ### Checklist <!-- Note: Items are checked with an "x", like so: - [x] This is a checked item. --> - [x] The issues is caused by firejail (i.e. running the program by path (e.g. `/usr/bin/vlc`) "fixes" it). - [x] I can reproduce the issue without custom modifications (e.g. globals.local). - [x] The program has a profile. (If not, request one in `https://github.com/netblue30/firejail/issues/1139`) - [x] The profile (and redirect profile if exists) hasn't already been fixed [upstream](https://github.com/netblue30/firejail/tree/master/etc). - [x] I have performed a short search for similar issues (to avoid opening a duplicate). - [x] I'm aware of `browser-allow-drm yes`/`browser-disable-u2f no` in `firejail.config` to allow DRM/U2F in browsers. - [x] I used `--profile=PROFILENAME` to set the right profile. (Only relevant for AppImages) ### Log <details> <summary>Output of <code>LC_ALL=C firejail /path/to/program</code></summary> <p> ``` mpv 0.36.0 Copyright © 2000-2023 mpv/MPlayer/mplayer2 projects built on Sun Jul 23 05:49:29 2023 libplacebo version: v5.264.1 FFmpeg version: n6.0 FFmpeg library versions: libavutil 58.2.100 libavcodec 60.3.100 libavformat 60.3.100 libswscale 7.1.100 libavfilter 9.3.100 libswresample 4.10.100 Usage: mpv [options] [url|path/]filename Basic options: --start=<time> seek to given (percent, seconds, or hh:mm:ss) position --no-audio do not play sound --no-video do not play video --fs fullscreen playback --sub-file=<file> specify subtitle file to use --playlist=<file> specify playlist file --list-options list all mpv options --h=<string> print options which contain the given string in their name ``` </p> </details> <details> <summary>Output of <code>LC_ALL=C firejail --debug /path/to/program</code></summary> <p> <!-- If the output is too long to embed it into the comment, create a secret gist at https://gist.github.com/ and link it here. --> https://gist.github.com/jaredmo/ca032153257acca1242f355572b5e5f6 </p> </details>
gitea-mirror 2026-05-05 09:46:03 -06:00
Author
Owner

@kmk3 commented on GitHub (Jul 25, 2023):

Quoting a relevant comment from #5917:

@kmk3 on Jul 25:

@polyzen on Jul 24:

Without it:

dbus[60]: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file dbus-message.c line 1373.
This is normally a bug in some application using the D-Bus library.

  D-Bus not built with -rdynamic so unable to print a backtrace

I have the exact same issue on Artix, but I think it might be a regression in
pipewire 0.3.75 rather than in mpv, since it happens with mpv --ao=pipewire
but not with mpv --ao=alsa.

@polyzen on Jul 24:

Maybe could also use dbus-system.talk org.freedesktop.DBus org.freedesktop.RealtimeKit1. Not really sure how this works.

I'm not sure either, but note that pipewire depends on that but not mpv:

$ pacman -Sii extra/mpv      | grep -e realtime -e rtkit
$ pacman -Sii extra/pipewire | grep -e realtime -e rtkit
                  realtime-privileges: realtime privileges with rt module
                  rtkit: realtime privileges with rtkit module
$ pacman -Q pipewire mpv
pipewire 1:0.3.75-2
mpv 1:0.36.0-1

And that mpv itself does not appear to use dbus at all:

$ cd mpv
$ git checkout v0.36.0
HEAD is now at f4210f8490 Release 0.36.0
$ git grep -i dbus
$

In any case, thanks for the workaround.

<!-- gh-comment-id:1650305934 --> @kmk3 commented on GitHub (Jul 25, 2023): Quoting a relevant comment from #5917: @kmk3 [on Jul 25](https://github.com/netblue30/firejail/pull/5917#issuecomment-1649839174): > @polyzen [on Jul 24](https://github.com/netblue30/firejail/pull/5917#discussion_r1272800884): > > > Without it: > > > > ``` > > dbus[60]: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file dbus-message.c line 1373. > > This is normally a bug in some application using the D-Bus library. > > > > D-Bus not built with -rdynamic so unable to print a backtrace > > ``` > > I have the exact same issue on Artix, but I think it might be a regression in > pipewire 0.3.75 rather than in mpv, since it happens with `mpv --ao=pipewire` > but not with `mpv --ao=alsa`. > > @polyzen [on Jul 24](https://github.com/netblue30/firejail/pull/5917#issue-1819195045): > > > Maybe could also use `dbus-system.talk org.freedesktop.DBus > > org.freedesktop.RealtimeKit1`. Not really sure how this works. > > I'm not sure either, but note that pipewire depends on that but not mpv: > > ``` > $ pacman -Sii extra/mpv | grep -e realtime -e rtkit > $ pacman -Sii extra/pipewire | grep -e realtime -e rtkit > realtime-privileges: realtime privileges with rt module > rtkit: realtime privileges with rtkit module > $ pacman -Q pipewire mpv > pipewire 1:0.3.75-2 > mpv 1:0.36.0-1 > ``` > > And that mpv itself does not appear to use dbus at all: > > ``` > $ cd mpv > $ git checkout v0.36.0 > HEAD is now at f4210f8490 Release 0.36.0 > $ git grep -i dbus > $ > ``` > > In any case, thanks for the workaround.
Author
Owner

@kmk3 commented on GitHub (Jul 25, 2023):

I have downgraded pipewire-related packages to 0.3.74 and restarted pipewire on
Artix and can confirm that mpv 0.36.0 works normally with it.

So it indeed seems that the underlying issue is with pipewire 0.3.75 rather
than with mpv.

<!-- gh-comment-id:1650307768 --> @kmk3 commented on GitHub (Jul 25, 2023): I have downgraded pipewire-related packages to 0.3.74 and restarted pipewire on Artix and can confirm that mpv 0.36.0 works normally with it. So it indeed seems that the underlying issue is with pipewire 0.3.75 rather than with mpv.
Author
Owner

@rusty-snake commented on GitHub (Jul 25, 2023):

@kmk3 has this anything todo with pipewire vor is it just that mpv is the only Programm that uses pipewire?

<!-- gh-comment-id:1650311126 --> @rusty-snake commented on GitHub (Jul 25, 2023): @kmk3 has this anything todo with pipewire vor is it just that mpv is the only Programm that uses pipewire?
Author
Owner

@kmk3 commented on GitHub (Jul 25, 2023):

@kmk3 has this anything todo with pipewire

As mentioned here, the error happens with --ao=pipewire but not
--ao=alsa, so yes.

is it just that mpv is the only Programm that uses pipewire?

mpv includes pipewire.h and can use pipewire directly as the backend (if built
with pipewire support); other programs may use it through the alsa/pulse/etc
connectors.

<!-- gh-comment-id:1650348783 --> @kmk3 commented on GitHub (Jul 25, 2023): > @kmk3 has this anything todo with pipewire As mentioned [here][1], the error happens with `--ao=pipewire` but not `--ao=alsa`, so yes. > is it just that mpv is the only Programm that uses pipewire? mpv includes pipewire.h and can use pipewire directly as the backend (if built with pipewire support); other programs may use it through the alsa/pulse/etc connectors. [1]: https://github.com/netblue30/firejail/issues/5921#issuecomment-1650305934
Author
Owner

@rusty-snake commented on GitHub (Jul 25, 2023):

has this anything todo with pipewire

Oops. Meant to do with mpv.

<!-- gh-comment-id:1650353100 --> @rusty-snake commented on GitHub (Jul 25, 2023): > > has this anything todo with pipewire Oops. Meant to do with mpv.
Author
Owner

@kmk3 commented on GitHub (Jul 25, 2023):

Strangely, it appears that the error only occurs with the exact combination of
the latest mpv + the latest pipewire:

Works:

  • mpv 1:0.35.1-8.2 + alsa
  • mpv 1:0.35.1-8.2 + pipewire 1:0.3.74-1
  • mpv 1:0.35.1-8.2 + pipewire 1:0.3.75-2
  • mpv 1:0.36.0-1 + alsa
  • mpv 1:0.36.0-1 + pipewire 1:0.3.74-1

Fails:

  • mpv 1:0.36.0-1 + pipewire 1:0.3.75-2

Can anyone else reproduce?

<!-- gh-comment-id:1650357904 --> @kmk3 commented on GitHub (Jul 25, 2023): Strangely, it appears that the error only occurs with the exact combination of the latest mpv + the latest pipewire: Works: * mpv 1:0.35.1-8.2 + alsa * mpv 1:0.35.1-8.2 + pipewire 1:0.3.74-1 * mpv 1:0.35.1-8.2 + pipewire 1:0.3.75-2 * mpv 1:0.36.0-1 + alsa * mpv 1:0.36.0-1 + pipewire 1:0.3.74-1 Fails: * mpv 1:0.36.0-1 + pipewire 1:0.3.75-2 Can anyone else reproduce?
Author
Owner

@polyzen commented on GitHub (Jul 25, 2023):

Strangely, it appears that the error only occurs with the exact combination of the latest mpv + the latest pipewire:

Works:

* mpv 1:0.35.1-8.2 + pipewire 1:0.3.74-1

* mpv 1:0.35.1-8.2 + pipewire 1:0.3.75-2

Fails:

* mpv 1:0.36.0-1   + pipewire 1:0.3.75-2

Can anyone else reproduce?

Can confirm these.

<!-- gh-comment-id:1650451090 --> @polyzen commented on GitHub (Jul 25, 2023): > Strangely, it appears that the error only occurs with the exact combination of the latest mpv + the latest pipewire: > > Works: > > * mpv 1:0.35.1-8.2 + pipewire 1:0.3.74-1 > > * mpv 1:0.35.1-8.2 + pipewire 1:0.3.75-2 > > Fails: > > * mpv 1:0.36.0-1 + pipewire 1:0.3.75-2 > > > Can anyone else reproduce? Can confirm these.
Author
Owner

@rusty-snake commented on GitHub (Jul 26, 2023):

https://github.com/mpv-player/mpv/issues/12022

<!-- gh-comment-id:1652183447 --> @rusty-snake commented on GitHub (Jul 26, 2023): https://github.com/mpv-player/mpv/issues/12022
Author
Owner

@kmk3 commented on GitHub (Jul 26, 2023):

mpv-player/mpv#12022

Should be fixed by
55812195ce
in the next pipewire release.

In the mean time, the following workaround (based on #5917) can be added to
~/.config/firejail/mpv.local:

dbus-system filter
ignore dbus-system none

Closing this since the bug was fixed upstream.

<!-- gh-comment-id:1652472031 --> @kmk3 commented on GitHub (Jul 26, 2023): > [mpv-player/mpv#12022](https://github.com/mpv-player/mpv/issues/12022) > Should be fixed by > https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/55812195ce3b77317e7a2dc642b78271f3a45c8e > in the next pipewire release. In the mean time, the following workaround (based on #5917) can be added to ~/.config/firejail/mpv.local: ``` dbus-system filter ignore dbus-system none ``` Closing this since the bug was fixed upstream.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/firejail#3131
No description provided.