https://bugs.kde.org/show_bug.cgi?id=446061

            Bug ID: 446061
           Summary: Buffer for spa_pod_builder can be too small for some
                    setup
           Product: plasmashell
           Version: 5.23.3
          Platform: Debian testing
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Task Manager and Icons-Only Task Manager
          Assignee: h...@kde.org
          Reporter: oii...@yahoo.com
                CC: plasma-b...@kde.org
  Target Milestone: 1.0

SUMMARY
Libtaskmanager's buffer for spa_builder (see
https://invent.kde.org/plasma/plasma-workspace/-/blob/master/libtaskmanager/declarative/pipewiresourcestream.cpp#L187)
is too small on certain configurations. Because podBuilder->state.offset is
never reset
(https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/spa/include/spa/pod/builder.h),
the buffer space can run out when EGL returns a long list of dma_buf modifiers,
causing PipeWire negotiation to fail.

An example is when EGL returns 20 modifiers. There are 6 formats defined in
pipewiresourcestream.cpp, for each format it will construct 2 frames, one with
21*8=168 bytes long of modifiers. The modifier lists for all frames will be
6*168=1008 bytes (only 16 bytes left of 1024 bytes), let alone other frames.

This seems to be the root cause for Bug 445461, but does not resolve Bug 444107
completely.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Debian testing
KDE Plasma Version: 5.23.3
KDE Frameworks Version: 5.86.0
Qt Version: 5.15.2

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to