Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 791844

Summary: media-video/pipewire-0.3.28 sys-apps/dbus-1.12.20-r1 pipewire-pulse crashes from systemd startup
Product: Gentoo Linux Reporter: Stefan de Konink <stefan>
Component: Current packagesAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED FIXED    
Severity: normal CC: asturm, itsgrant, sam, whissi
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1224
Whiteboard:
Package list:
Runtime testing required: ---

Description Stefan de Konink 2021-05-24 15:08:48 UTC
When using the systemd user service to start pipewire-pulse, the program crashes. The program can normally started using pipewire-pulse.

Core was generated by `/usr/bin/pipewire-pulse'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f31c501ecf4 in dbus_connection_send_with_reply_and_block (connection=0x0, message=0x558228554630, timeout_milliseconds=-1, error=0x7ffde34281e0)
    at /var/tmp/portage/sys-apps/dbus-1.12.20-r1/work/dbus-1.12.20/dbus/dbus-connection.c:3551
3551	  CONNECTION_LOCK (connection);
[Current thread is 1 (Thread 0x7f31c58feb80 (LWP 516396))]
(gdb) bt
#0  0x00007f31c501ecf4 in dbus_connection_send_with_reply_and_block (connection=0x0, message=0x558228554630, timeout_milliseconds=-1, error=0x7ffde34281e0)
    at /var/tmp/portage/sys-apps/dbus-1.12.20-r1/work/dbus-1.12.20/dbus/dbus-connection.c:3551
#1  0x00007f31c501b672 in dbus_bus_request_name (connection=0x0, name=0x7f31c46d8f4b "org.pulseaudio.Server", flags=4, error=0x7ffde34281e0) at /var/tmp/portage/sys-apps/dbus-1.12.20-r1/work/dbus-1.12.20/dbus/dbus-bus.c:1146
#2  0x00007f31c46aca6a in dbus_request_name (context=0x558228542020, name=0x7f31c46d8f4b "org.pulseaudio.Server") at ../pipewire-0.3.28/src/modules/module-protocol-pulse/dbus-name.c:53
#3  0x00007f31c46c61ee in pw_protocol_pulse_new (context=0x558228542020, props=0x55822855b390, user_data_size=0) at ../pipewire-0.3.28/src/modules/module-protocol-pulse/pulse-server.c:6304
#4  0x00007f31c469dc12 in pipewire__module_init (module=0x55822855ac50, 
    args=0x558228550982 "{\n\t    # the addresses this server listens on\n", ' ' <repeats 12 times>, "server.address = [\n", ' ' <repeats 16 times>, "\"unix:native\"\n", ' ' <repeats 16 times>, "# \"tcp:4713\"\n", ' ' <repeats 12 times>, "]\n\t    #pulse.min.req = 256/48000", ' ' <repeats 14 times>, "# 5ms"...) at ../pipewire-0.3.28/src/modules/module-protocol-pulse.c:99
#5  0x00007f31c5b67ac6 in pw_context_load_module (context=0x558228542020, name=0x558228550951 "libpipewire-module-protocol-pulse", 
    args=0x558228550982 "{\n\t    # the addresses this server listens on\n", ' ' <repeats 12 times>, "server.address = [\n", ' ' <repeats 16 times>, "\"unix:native\"\n", ' ' <repeats 16 times>, "# \"tcp:4713\"\n", ' ' <repeats 12 times>, "]\n\t    #pulse.min.req = 256/48000", ' ' <repeats 14 times>, "# 5ms"..., properties=0x0) at ../pipewire-0.3.28/src/pipewire/impl-module.c:250
#6  0x00007f31c5b3db5f in load_module (context=0x558228542020, key=0x558228550951 "libpipewire-module-protocol-pulse", 
    args=0x558228550982 "{\n\t    # the addresses this server listens on\n", ' ' <repeats 12 times>, "server.address = [\n", ' ' <repeats 16 times>, "\"unix:native\"\n", ' ' <repeats 16 times>, "# \"tcp:4713\"\n", ' ' <repeats 12 times>, "]\n\t    #pulse.min.req = 256/48000", ' ' <repeats 14 times>, "# 5ms"..., flags=0x0) at ../pipewire-0.3.28/src/pipewire/conf.c:314
#7  0x00007f31c5b3dff6 in parse_modules (context=0x558228542020, str=0x558228550790 "[\n    {   name = libpipewire-module-rtkit") at ../pipewire-0.3.28/src/pipewire/conf.c:377
#8  0x00007f31c5b3eaa8 in pw_context_parse_conf_section (context=0x558228542020, conf=0x558228542340, section=0x7f31c5ba598d "context.modules") at ../pipewire-0.3.28/src/pipewire/conf.c:562
#9  0x00007f31c5b40cea in pw_context_new (main_loop=0x558228539c10, properties=0x558228539a50, user_data_size=0) at ../pipewire-0.3.28/src/pipewire/context.c:368
#10 0x00005582269e6698 in main (argc=1, argv=0x7ffde3429bc8) at ../pipewire-0.3.28/src/daemon/pipewire.c:111
(gdb) list
3546	  _dbus_return_val_if_fail (timeout_milliseconds >= 0 || timeout_milliseconds == -1, NULL);
3547	  _dbus_return_val_if_error_is_set (error, NULL);
3548	
3549	#ifdef HAVE_UNIX_FD_PASSING
3550	
3551	  CONNECTION_LOCK (connection);
3552	  if (!_dbus_transport_can_pass_unix_fd(connection->transport) &&
3553	      message->n_unix_fds > 0)
3554	    {
3555	      CONNECTION_UNLOCK (connection);



Reproducible: Always




Program was compiled using "-O0 -ggdb3".

Portage 3.0.18 (python 3.9.5-final-0, default/linux/amd64/17.1/no-multilib, gcc-11.1.0, glibc-2.33, 5.12.6-gentoo x86_64)
=================================================================
System uname: Linux-5.12.6-gentoo-x86_64-AMD_Ryzen_5_2500U_with_Radeon_Vega_Mobile_Gfx-with-glibc2.33
KiB Mem:    16091712 total,   6317588 free
KiB Swap:   33554428 total,  32394492 free
Timestamp of repository gentoo: Sun, 23 May 2021 11:30:01 +0000
Head commit of repository gentoo: acafc56974395ed442f8a4394c836f434763b667
sh bash 5.1_p8
ld GNU ld (Gentoo 2.34 p6) 2.34.0
ccache version 4.3 [disabled]
app-shells/bash:          5.1_p8::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.32.1::gentoo
dev-lang/python:          2.7.18_p10::gentoo, 3.7.10_p4::gentoo, 3.8.10_p1::gentoo, 3.9.5_p1::gentoo, 3.10.0_beta1::gentoo
dev-lang/rust:            1.51.0-r2::gentoo
dev-lang/rust-bin:        1.47.0-r1::gentoo
dev-util/ccache:          4.3::gentoo
dev-util/cmake:           3.20.2::gentoo
sys-apps/baselayout:      2.7-r2::gentoo
sys-apps/openrc:          0.41.2::gentoo
sys-apps/sandbox:         2.24::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo, 2.71::gentoo
sys-devel/automake:       1.16.3-r1::gentoo
sys-devel/binutils:       2.32-r1::gentoo, 2.33.1-r1::gentoo, 2.34-r2::gentoo, 2.35.2::gentoo, 2.36.1-r1::gentoo
sys-devel/gcc:            10.3.0::gentoo, 11.1.0::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.12::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts: 
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1

4nykey
    location: /var/lib/layman/4nykey
    masters: gentoo
    priority: 50

Drauthius
    location: /var/lib/layman/Drauthius
    masters: gentoo
    priority: 50

booboo
    location: /var/lib/layman/booboo
    masters: gentoo
    priority: 50

d3-gentoo
    location: /var/lib/layman/d3-gentoo
    masters: gentoo
    priority: 50

dotnet
    location: /var/lib/layman/dotnet
    masters: gentoo
    priority: 50

flavour
    location: /var/lib/layman/flavour
    masters: gentoo
    priority: 50

fordfrog
    location: /var/lib/layman/fordfrog
    masters: gentoo
    priority: 50

gentoo-zh
    location: /var/lib/layman/gentoo-zh
    masters: gentoo
    priority: 50

imaging
    location: /var/lib/layman/imaging
    masters: gentoo
    priority: 50

lto-overlay
    location: /var/lib/layman/lto-overlay
    masters: gentoo mv
    priority: 50

mv
    location: /var/lib/layman/mv
    masters: gentoo
    priority: 50

raiagent
    location: /var/lib/layman/raiagent
    masters: gentoo
    priority: 50

salfter
    location: /var/lib/layman/salfter
    masters: gentoo
    priority: 50

FireBurn
    location: /var/lib/layman/FireBurn
    masters: gentoo
    priority: 60

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=znver1 -O2 -pipe -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.6/conf /usr/share/maven-bin-3.8/conf"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=znver1 -O2 -pipe -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -march=znver1 -O2 -pipe -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=znver1 -O2 -pipe -pipe"
GENTOO_MIRRORS="http://mirror.leaseweb.com/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j7"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X aac acl adwaita-icon-theme alsa amd64 apng aptx autohint berkdb bluetooth brotli bzip2 cairo caps clang cli codec2 corefonts cpudetection crypt curl dav1d dbus designer dri dri3 egl exif ffmpeg fftw fontconfig fortran gdal gdbm geos gimp gles2 glslang gold graphite gtk gtk3 hackrf harfbuzz heif http2 hunspell iconv icu infinality ipv6 jack jpeg jpeg2k jumbo-build lapack libglvnd libnotify libsamplerate libtirpc lm-sensors lto lz4 lzma minizip ncurses nptl ntfs ogg opencv openexr opengl openmp optimization opus orc pam pcre pdf pgo pipewire png policykit postgres qml qt5 readline rtlsdr rubberband screencast seccomp sftp sndfile speex split-usr sqlite srt ssl startup-notification strong-optimization svg synaptics system-jsoncpp system-libvpx systemd sysv-utils tcpd theora tiff tracepath truetype udev unicode upower v4l vaapi vdpau vim-syntax vorbis vpx vulkan wayland webp webstart woff2 x264 x265 xattr xinerama xrandr zeromq zlib zstd" ABI_X86="64" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en nl" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="AMDGPU BPF" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres13" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python2_7 python3_7 python3_8 python3_9 python3_10" RUBY_TARGETS="ruby27 ruby30" USERLAND="GNU" UWSGI_PLUGINS="cache carbon cheaper_busyness corerouter fastrouter http logfile logsocket mongodblog nagios ping rawrouter redislog router_basicauth router_cache router_expires router_hash router_http router_memcached router_metrics router_redirect router_redis router_rewrite router_static router_uwsgi rpc signal spooler symcall syslog transformation_chunked transformation_gzip transformation_offload transformation_tofile ugreen zergpool" VIDEO_CARDS="amdgpu radeonsi radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS
Comment 1 Stefan de Konink 2021-05-24 15:10:27 UTC
(gdb) up
#1  0x00007f31c501b672 in dbus_bus_request_name (connection=0x0, name=0x7f31c46d8f4b "org.pulseaudio.Server", flags=4, error=0x7ffde34281e0) at /var/tmp/portage/sys-apps/dbus-1.12.20-r1/work/dbus-1.12.20/dbus/dbus-bus.c:1146
1146	  reply = dbus_connection_send_with_reply_and_block (connection, message, -1,
(gdb) up
#2  0x00007f31c46aca6a in dbus_request_name (context=0x558228542020, name=0x7f31c46d8f4b "org.pulseaudio.Server") at ../pipewire-0.3.28/src/modules/module-protocol-pulse/dbus-name.c:53
53		if (dbus_bus_request_name(bus, name,
(gdb) list
48	
49		bus = spa_dbus_connection_get(conn);
50	
51		dbus_error_init(&error);
52	
53		if (dbus_bus_request_name(bus, name,
54				DBUS_NAME_FLAG_DO_NOT_QUEUE,
55				&error) == DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER)
56			return conn;
57	
(gdb) p conn
$1 = (struct spa_dbus_connection *) 0x55822855bb60
(gdb) p *conn
$2 = {version = 1, get = 0x7f31c549977c <impl_connection_get>, destroy = 0x7f31c5499be0 <impl_connection_destroy>, add_listener = 0x7f31c5499de1 <impl_connection_add_listener>}
(gdb) p *bus
Comment 2 Stefan de Konink 2021-05-25 07:50:51 UTC
pipewire-pulse has a runtime dependency on dbus with USE="user-session"
Comment 3 Niklāvs Koļesņikovs 2021-11-16 21:23:41 UTC
This has been "accidentally" fixed by replacing dbus[session-bus] with dbus[systemd], so it can be closed as FIXED.