[Bug 290805] audio/pipewire-spa-oss: after pipewire was updated to version 1.4.9, the OSS plugin crashes when there is an attempt to play audio in chromium with pipewire-pulse

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 05 Nov 2025 04:05:15 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290805

            Bug ID: 290805
           Summary: audio/pipewire-spa-oss: after pipewire was updated to
                    version 1.4.9, the OSS plugin crashes when there is an
                    attempt to play audio in chromium with pipewire-pulse
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Individual Port(s)
          Assignee: arrowd@FreeBSD.org
          Reporter: oleglelchuk@gmail.com
             Flags: maintainer-feedback?(arrowd@FreeBSD.org)
          Assignee: arrowd@FreeBSD.org
 Attachment #265172 text/plain
         mime type:

Created attachment 265172
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=265172&action=edit
the patch

After pipewire was updated to version 1.4.9, the OSS plugin crashes when there
is an attempt to play audio in chromium with pipewire-pulse. This is the
backtrace: #0  thr_kill () at thr_kill.S:4
No locals.
#1  0x00001ceacffcd894 in __raise (s=s@entry=6) at
/usr/src/lib/libc/gen/raise.c:48
        id = 111469
#2  0x00001cead007f529 in abort () at /usr/src/lib/libc/stdlib/abort.c:61
        act = {__sigaction_u = {__sa_handler = 0x46ad3ac33920, __sa_sigaction =
0x46ad3ac33920}, sa_flags = -651869328, sa_mask = {__bits = {4294967263,
4294967295, 4294967295, 4294967295}}}
#3  0x00001ceadf028bca in std::sys::pal::unix::abort_internal () from
/usr/local/lib/spa-0.2/libspa_freebsd_oss.so
No symbol table info available.
#4  0x00001ceadf039b49 in std::process::abort () from
/usr/local/lib/spa-0.2/libspa_freebsd_oss.so
No symbol table info available.
#5  0x00001ceadf02d939 in __rustc::__rust_abort () from
/usr/local/lib/spa-0.2/libspa_freebsd_oss.so
No symbol table info available.
#6  0x00001ceadef802d9 in __rustc::__rust_start_panic () from
/usr/local/lib/spa-0.2/libspa_freebsd_oss.so
No symbol table info available.
#7  0x00001ceadf0271f9 in __rustc::rust_panic () from
/usr/local/lib/spa-0.2/libspa_freebsd_oss.so
No symbol table info available.
#8  0x00001ceadf0269a9 in std::panicking::rust_panic_with_hook () from
/usr/local/lib/spa-0.2/libspa_freebsd_oss.so
No symbol table info available.
#9  0x00001ceadf02a945 in std::panicking::begin_panic_handler::{{closure}} ()
from /usr/local/lib/spa-0.2/libspa_freebsd_oss.so
No symbol table info available.
#10 0x00001ceadf02a8d9 in std::sys::backtrace::__rust_end_short_backtrace ()
from /usr/local/lib/spa-0.2/libspa_freebsd_oss.so
No symbol table info available.
#11 0x00001ceadf02634c in __rustc::rust_begin_unwind () from
/usr/local/lib/spa-0.2/libspa_freebsd_oss.so
No symbol table info available.
#12 0x00001ceadef6dacf in core::panicking::panic_fmt () from
/usr/local/lib/spa-0.2/libspa_freebsd_oss.so
No symbol table info available.
#13 0x00001ceadef6dbab in core::panicking::panic () from
/usr/local/lib/spa-0.2/libspa_freebsd_oss.so
No symbol table info available.
#14 0x00001ceadef35667 in spa_freebsd_oss::sink::process
(object=0x46ad3b06d528) at src/sink.rs:600
        port_config = <optimized out>
        port = <error reading variable port (Cannot access memory at address
0x0)>
        iter = <optimized out>
        result = 0
        state = 0x46ad3b06d528
#15 0x00001ceae0a5f309 in spa_node_process_fast (object=0x46ad3b06d540) at
../spa/include/spa/node/node.h:756
        _f = 0x1ceadf049178
        _res = -45
        _i = 0x46ad3b06d540
#16 0x00001ceae0a4ef8a in impl_node_process (object=0x46ad3b055a28) at
../spa/plugins/audioconvert/audioadapter.c:1781
        this = 0x46ad3b055a28
        status = 3
        fstatus = 1009096744
        retry = 63
#17 0x00001ceace3f1129 in spa_node_process_fast (object=0x46ad3b055a40) at
../spa/include/spa/node/node.h:756
        _f = 0x1ceae0ab40c0 <impl_node>
        _res = -45
        _i = 0x46ad3b055a40
#18 0x00001ceace3f0ae2 in process_node (data=0x46ad3b012e00,
nsec=3117863716834) at ../src/pipewire/impl-node.c:1502
        this = 0x46ad3b012e00
        p = 0x46ad3b012f10
        a = 0x1ceae1696000
        data_system = 0x46ad3b025fc0
        status = 7402
        was_awake = 207
#19 0x00001ceace3e845c in node_on_fd_events (source=0x46ad3b013440) at
../src/pipewire/impl-node.c:1579
        cmd = 1
        nsec = 3117863716834
        data_system = 0x46ad3b025fc0
        this = 0x46ad3b012e00
#20 0x00001cead27e7c0d in loop_iterate (object=0x46ad3b053628, timeout=-1) at
../spa/plugins/support/loop.c:726
        s = 0x46ad3b013440
        impl = 0x46ad3b053628
        ep = {{events = 1, data = 0x46ad3b013440}, {events = 64, data =
0x46ad3ac082e0}, {events = 3643100528, data = 0x28cfb1054cfc
<find_symdef+492>}, {events = 3459371033, data = 0xb3f6660}, {events =
1289538902, data = 0x46ad3ac082e0}, {events = 1, data = 0x1ceace470170
<__pthread_cleanup_push_imp@got.plt>}, {events = 3479074512, data =
0x46ad3ac03808}, {events = 3459583672, data = 0x1ceacf5f13b9 <_thr_ast+41>},
{events = 1, data = 0x46ad3ac4b010}, {events = 3643100528, data =
0x1ceacf5f04c3 <_thr_rtld_lock_release+179>}, {events = 3479074512, data =
0x1ceace350eb8}, {events = 3460759920, data = 0x46ad3ac03808}, {events =
3643100752, data = 0x28cfb1054af4 <_rtld_bind+500>}, {events = 1, data =
0x28cfb105494e <_rtld_bind+78>}, {events = 985675784, data = 0x1cead9254d78},
{events = 3643100752, data = 0x46ad3ac4b010}, {events = 2969995552, data =
0x1cead9254d80}, {events = 0, data = 0x46ad3b00037f}, {events = 3643101072,
data = 0x1ceacf5e8090 <_thr_cond_broadcast+208>}, {events = 0, data =
0x1ceace315000}, {events = 1421680, data = 0x1ceacf5e76d0
<__thr_cleanup_push_imp>}, {events = 3479029368, data = 0x8aa}, {events =
985676808, data = 0x1278}, {events = 985676808, data = 0x46ad3ac4b010}, {events
= 985968656, data = 0x1}, {events = 985968664, data = 0x46ad3ac4b010}, {events
= 3643101072, data = 0x28cfb104fefd <_rtld_bind_start+45>}, {events = 582, data
= 0x0}, {events = 0, data = 0x0}, {events = 3459947072, data = 0x46ad3b092000},
{events = 985968656, data = 0x1cead9254f48}, {events = 990197249, data =
0x202}}
        e = 0x0
        i = 0
        nfds = 1
#21 0x00001ceace3a915c in do_loop (user_data=0x46ad3b092000) at
../src/pipewire/data-loop.c:67
        __cleanup_info__ = {pthread_cleanup_pad = {0, 31794807872064,
77709833740288, 0, 77709829255184, 77709829255184, 1, 77709829255192}}
        this = 0x46ad3b092000
        res = 1
        cb = 0x46ad3b053670
        m = 0x1cead27fe788 <impl_loop_control>
        data = 0x46ad3b053628
        iterate = 0x1cead27e79b0 <loop_iterate>
#22 0x00001cead45929cf in custom_start (data=0x46ad3b01de80) at
../src/modules/module-rt.c:723
        this = 0x46ad3b01de80
        impl = 0x46ad3b052600
#23 0x00001ceacf5e8d21 in thread_start (curthread=0x46ad3ac4b010) at
/usr/src/lib/libthr/thread/thr_create.c:299
        set = {__bits = {0, 0, 0, 0}}
#24 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: Cannot access memory at address 0x1cead9255000 .


However, ChatGPT wrote patches for me that allowed me to get rid of this crash.
Now the chromium/pipewire-pulse combination works and I can hear audio in
chromium. The patches were made for the audio/pipewire-spa-oss port. They will
be attached to the bug report.

-- 
You are receiving this mail because:
You are the assignee for the bug.