[Pkg-utopia-maintainers] Bug#995486: pipewire: crash when -media-session connects

Adam Borowski kilobyte at angband.pl
Sat Oct 2 00:16:56 BST 2021


Package: pipewire
Version: 0.3.38-2
Severity: normal
X-Debbugs-Cc: kilobyte at angband.pl

Hi!
Upon startup, pipewire crashes for me.  After poking around, it turns out
it's not the startup of pipewire itself, but pipewire-media-session connects
to the main part soon after.

The crash is easily reproducible by starting pipewire manually, then trying
to start pipewire-media-session as well.


Starting program: /usr/bin/pipewire 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[New Thread 0xf5f623e0 (LWP 26194)]

Thread 1 "pipewire" received signal SIGSEGV, Segmentation fault.
spa_pod_builder_addv (args=..., builder=0xfffec38c) at ../spa/include/spa/pod/builder.h:617
Download failed: Invalid argument.  Continuing without source file ./obj-arm-linux-gnueabihf/../spa/include/spa/pod/builder.h.
617	../spa/include/spa/pod/builder.h: No such file or directory.
(gdb) bt
#0  spa_pod_builder_addv (args=..., builder=0xfffec38c) at ../spa/include/spa/pod/builder.h:617
#1  spa_pod_builder_add (builder=0xfffec38c) at ../spa/include/spa/pod/builder.h:644
#2  0xf54acbca in spa_v4l2_enum_controls (this=this at entry=0xaab0d610, seq=seq at entry=1073742169, start=start at entry=0, num=num at entry=4294967295, filter=filter at entry=0x0)
    at ../spa/plugins/v4l2/v4l2-utils.c:1127
#3  0xf54ad81e in impl_node_enum_params (object=<optimized out>, seq=1073742169, id=<optimized out>, start=0, num=4294967295, filter=0x0)
    at ../spa/plugins/v4l2/v4l2-source.c:223
#4  0xf7752444 in pw_impl_node_for_each_param (node=node at entry=0xaab0ebd0, seq=seq at entry=1073742169, param_id=param_id at entry=1, index=index at entry=0, 
    max=max at entry=4294967295, filter=filter at entry=0x0, callback=0xf774bda9 <reply_param>, data=data at entry=0xaab4669c) at ../src/pipewire/impl-node.c:1925
#5  0xf77528cc in node_enum_params (object=0xaab4669c, seq=1073742169, id=1, index=0, num=4294967295, filter=0x0) at ../src/pipewire/impl-node.c:444
#6  0xf70bbf02 in ?? () from /usr/lib/arm-linux-gnueabihf/pipewire-0.3/libpipewire-module-protocol-native.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) bt full
#0  spa_pod_builder_addv (args=..., builder=0xfffec38c) at ../spa/include/spa/pod/builder.h:617
        format = <optimized out>
        n_values = 1
        f = {pod = {size = 32, type = 19}, parent = 0xfffec378, offset = 48, flags = 0}
        choice = <optimized out>
        res = 0
        frame = <optimized out>
        ftype = 0
        res = <optimized out>
        frame = <optimized out>
        ftype = <optimized out>
        exit = <optimized out>
        format = <optimized out>
        n_values = <optimized out>
        f = {pod = {size = <optimized out>, type = <optimized out>}, parent = <optimized out>, offset = <optimized out>, flags = <optimized out>}
        choice = <optimized out>
        key = <optimized out>
        offset = <optimized out>
        type = <optimized out>
        type = <optimized out>
        strval = <optimized out>
        len = <optimized out>
        strval = <optimized out>
        len = <optimized out>
        ptr = <optimized out>
        len = <optimized out>
        rectval = <optimized out>
        fracval = <optimized out>
        child_size = <optimized out>
        child_type = <optimized out>
        n_elems = <optimized out>
        elems = <optimized out>
        t = <optimized out>
        pod = <optimized out>
#1  spa_pod_builder_add (builder=0xfffec38c) at ../spa/include/spa/pod/builder.h:644
        res = <optimized out>
        args = {__ap = 0xfffec2c4}
#2  0xf54acbca in spa_v4l2_enum_controls (this=this at entry=0xaab0d610, seq=seq at entry=1073742169, start=start at entry=0, num=num at entry=4294967295, filter=filter at entry=0x0)
    at ../spa/plugins/v4l2/v4l2-utils.c:1127
        _f = {pod = {size = 88, type = 15}, parent = 0x0, offset = 0, flags = 0}
        port = 0xaab0d7a0
        dev = 0xaab0d8b8
        queryctrl = {id = 9963776, type = 1, name = "Brightness", '\000' <repeats 21 times>, minimum = -64, maximum = 64, step = 1, default_value = 0, flags = 0, 
--Type <RET> for more, q to quit, c to continue without paging--
          elem_size = 4, elems = 1, nr_of_dims = 0, dims = {0, 0, 0, 0}, reserved = {0 <repeats 32 times>}}
        param = <optimized out>
        b = {data = 0xfffec504, size = 1024, _padding = 0, state = {offset = 96, flags = 0, frame = 0xfffec378}, callbacks = {funcs = 0x0, data = 0x0}}
        prop_id = <optimized out>
        ctrl_id = <optimized out>
        buffer = "\b\000\000\000\017\000\000\000\001\000\004\000\001\000\000\000\001\000\000\000\000\000\000\000\004\000\000\000\003\000\000\000\001\000\002\000\000\000\000\000\003\000\000\000\000\000\000\000 \000\000\000\023\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\034\303\376\377\000\000\000\000\000\000\000\000\300\377\377\377\377\377\377\377\000\000\000\000\004\000\000\000\002", '\000' <repeats 11 times>, "\005", '\000' <repeats 11 times>, "\001\000\000\000\377\377\377\377\000\000\000\000\002\000\000\000\350\005\000\000`\256n\367\000\000\000\000\000\000\000\000T\306\376\377 ", '\000' <repeats 20 times>, "\240n\367\000\000\000\000\002\000\000\000\210vw\367\000\000\000\000\000"...
        res = <optimized out>
        next_fl = 3221225472
        f = {{pod = {size = 0, type = 0}, parent = 0x0, offset = 0, flags = 0}, {pod = {size = 0, type = 0}, parent = 0x0, offset = 0, flags = 0}}
        result = {id = 1, index = 0, next = 3231189248, param = 0x0}
        count = 0
        next = <optimized out>
        __func__ = "spa_v4l2_enum_controls"
#3  0xf54ad81e in impl_node_enum_params (object=<optimized out>, seq=1073742169, id=<optimized out>, start=0, num=4294967295, filter=0x0)
    at ../spa/plugins/v4l2/v4l2-source.c:223
        p = 0xaab0d6c8
        this = <optimized out>
        param = <optimized out>
        b = {data = 0xfffec9e4, size = 1024, _padding = 0, state = {offset = 104, flags = 0, frame = 0x0}, callbacks = {funcs = 0x0, data = 0x0}}
        buffer = "`\000\000\000\017\000\000\000\001\000\004\000\001\000\000\000\001\000\000\000\000\000\000\000\004\000\000\000\003\000\000\000\001\001\000\000\000\000\000\000\002\000\000\000\000\000\000\000\020\000\000\000\b\000\000\000The V4L2 device\000\003\000\000\000\000\000\000\000\f\000\000\000\b\000\000\000/dev/video0\000\000\000\000\000|\315\376\377\000\000\000\000\000\000\000\000A\331o\365ǶC\365\\\312\376\377\000\323\376\320\001\000\000\000\025HD\365\200#\345\364\000\000\000\000\310u\262\252\200#\345\364\200#\345\364\325\024D\365", '\000' <repeats 28 times>, "\200", '\000' <repeats 19 times>...
        result = {id = 1, index = 0, next = 1, param = 0xaab56148}
        count = <optimized out>
        __func__ = "impl_node_enum_params"
        next = <optimized out>
#4  0xf7752444 in pw_impl_node_for_each_param (node=node at entry=0xaab0ebd0, seq=seq at entry=1073742169, param_id=param_id at entry=1, index=index at entry=0, 
    max=max at entry=4294967295, filter=filter at entry=0x0, callback=0xf774bda9 <reply_param>, data=data at entry=0xaab4669c) at ../src/pipewire/impl-node.c:1925
        _f = <optimized out>
        _res = -95
        _n = <optimized out>
        res = <optimized out>
        impl = 0xaab0ebd0
        user_data = {impl = 0xaab0ebd0, data = 0xaab4669c, callback = 0xf774bda9 <reply_param>, seq = 1073742169, count = 0, cache = 1}
        listener = {link = {next = 0xaab0d78c, prev = 0xaab0f0f8}, cb = {funcs = 0xf7799448 <node_events>, data = 0xfffece84}, removed = 0x0, priv = 0x0}
        pi = 0xaab0ec38
        node_events = {version = 0, info = 0x0, port_info = 0x0, result = 0xf774ef4d <result_node_params>, event = 0x0}
        __func__ = "pw_impl_node_for_each_param"
--Type <RET> for more, q to quit, c to continue without paging--
#5  0xf77528cc in node_enum_params (object=0xaab4669c, seq=1073742169, id=1, index=0, num=4294967295, filter=0x0) at ../src/pipewire/impl-node.c:444
        data = 0xaab4669c
        resource = <optimized out>
        node = <optimized out>
        res = <optimized out>
        __func__ = "node_enum_params"
#6  0xf70bbf02 in ?? () from /usr/lib/arm-linux-gnueabihf/pipewire-0.3/libpipewire-module-protocol-native.so
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)


Suspecting that you've implemented autostart only for systemd, I've tried it
first; I haven't checked yet if this crash is a systemd related problem.

(I'm at the mDebConf Regensburg -- so if any of pipewire maintainers is
here, feel free to take a look.)


-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'testing'), (333, 'unstable'), (250, 'experimental')
Architecture: armhf (aarch64)
Foreign Architectures: arm64

Kernel: Linux 4.4.207 (SMP w/6 CPU threads)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages pipewire depends on:
ii  init-system-helpers      1.60
ii  libpipewire-0.3-modules  0.3.38-2
ii  pipewire-bin             0.3.38-2

pipewire recommends no packages.

pipewire suggests no packages.

-- no debconf information


More information about the Pkg-utopia-maintainers mailing list