[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#972943: marked as done (libtheora0: Too easy to enable "telemetry" (statistics capture) by mistake, causing poor performance)



Your message dated Sat, 30 Aug 2025 20:37:26 +0000
with message-id <E1usSKE-00Dl8y-2J@fasolo.debian.org>
and subject line Bug#972943: fixed in libtheora 1.2.0+dfsg-5
has caused the Debian Bug report #972943,
regarding libtheora0: Too easy to enable "telemetry" (statistics capture) by mistake, causing poor performance
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
972943: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972943
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libtheora0
Version: 1.1.1+dfsg.1-11
Severity: normal
Tags: patch fixed-upstream
Forwarded: https://gitlab.xiph.org/xiph/theora/-/issues/2312

The latest version of Proton (Valve's branch of Wine, used to run Windows
games under Steam) runs in a Debian 10-based container
(Steam Runtime 2 'soldier'), instead of the Ubuntu 12.04-based
LD_LIBRARY_PATH library bundle (Steam Runtime 1 'scout') that was used
in previous releases.

During the move from Steam Runtime 1 to 2, Proton developers noticed
a performance regression in their GStreamer-based video decoding,
which they were able to track down to the theoradec plugin. This plugin
uses libtheora, which has an optional feature called "telemetry" that
records statistics. It can be enabled or disabled at build-time; if
enabled at build-time, it is disabled by default at runtime. Activating
it at runtime involves setting some options, and incurs a significant
performance cost to convert each decoded frame from YUV to RGB for use
by Cairo (30-40ms per frame for 1920x1080 video).

Note that despite its name, as far as I'm aware "telemetry" does not
send the statistics anywhere, it just captures them - so it isn't a
privacy problem, and is really just "-metry", with no "tele-" involved :-)

In Debian, the telemetry feature is enabled in libtheora at build-time
since 1.1.1+dfsg.1-11, as requested in
<https://bugs.launchpad.net/ubuntu/+source/libtheora/+bug/627854>.

GStreamer's theoradec plugin attempts to set the telemetry options to
user-specified values.  However, in released versions of libtheora,
setting the telemetry options to any value - even 0 - is documented to
have the side-effect of enabling the telemetry feature and triggering
the performance regression.

This can be fixed in three ways:

1. Disable telemetry at compile-time in libtheora.
   We did this in the Steam Runtime as a temporary solution, but it's a
   feature regression for libtheora, and the libtheora maintainers in
   Debian presumably don't want that, so let's discard this option.

2. In GStreamer, if the telemetry options are set to 0, don't propagate
   that into libtheora so that the expensive YUV -> RGB conversion is
   not done, even with current releases of libtheora. This is
   <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/887>
   and I've filed a separate Debian bug for it. The patch has been merged
   upstream and was backported to 1.18.x (for 1.18.1, I think) in
   <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/892>.

3. In libtheora, if the telemetry options are all explicitly set to 0
   (for example by current versions of GStreamer), behave as though they
   had not been set at all, and therefore don't enable the expensive
   YUV -> RGB conversion. This is
   <https://gitlab.xiph.org/xiph/theora/-/issues/2312> and
   <https://gitlab.xiph.org/xiph/theora/-/merge_requests/4>, and is what
   this bug report represents. The patch has been merged upstream for
   v1.2.0, but there hasn't been an upstream release since 1.2.0 alpha 1
   (which doesn't have this change) in 2010, so it seems unlikely that
   there will be a release with this change any time soon.

Following the principle that bad interactions between two components are
most robust if fixed on *both* sides, solutions 2 and 3 have both been
accepted upstream, and I suggest that they should also happen in Debian.

The Steam Runtime maintainers will probably be doing a backport of this
into 1.1.1, so I'll try to send a patch later.

Thanks,
    smcv

--- End Message ---
--- Begin Message ---
Source: libtheora
Source-Version: 1.2.0+dfsg-5
Done: Petter Reinholdtsen <pere@debian.org>

We believe that the bug you reported is fixed in the latest version of
libtheora, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 972943@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Petter Reinholdtsen <pere@debian.org> (supplier of updated libtheora package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sat, 30 Aug 2025 21:20:01 +0200
Source: libtheora
Architecture: source
Version: 1.2.0+dfsg-5
Distribution: unstable
Urgency: medium
Maintainer: Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>
Changed-By: Petter Reinholdtsen <pere@debian.org>
Closes: 516343 972943
Changes:
 libtheora (1.2.0+dfsg-5) unstable; urgency=medium
 .
   * Upload to unstable.
   * Dropped old FSF address from d/copyright.
 .
 libtheora (1.2.0+dfsg-4) experimental; urgency=medium
 .
   * Team upload.
 .
   * Added 0002-arm-missing-files.patch for files needed on armhf.
   * Reintroduce --disable-asm for armel, as 1.2.0 assembly do not
     work there.
 .
 libtheora (1.2.0+dfsg-3) experimental; urgency=medium
 .
   * Team upload.
 .
   * Stop disabling use of asm on arm as it should be working in 1.2.0.
 .
 libtheora (1.2.0+dfsg-2) experimental; urgency=medium
 .
   * Team upload.
 .
   * Source only upload after NEW processing.
 .
 libtheora (1.2.0+dfsg-1) experimental; urgency=medium
 .
   * Team upload.
 .
   * New upstream version 1.2.0.
    - SONAME change for libtheora0->libtheora1,
      libtheoradec1->libtheoradec2 and libtheoraenc1->libtheoraenc2 due
      to changes in constness for string arguments of some public
      method arguments.
    - README now i markdown format.
    - Include encoding wrapper script (Closes: #516343).
    - Fixes performance issue when enabling telemetry (Closes: #972943).
    - Dropped 0002-player-example-needs-lm-for-rint.patch,
      0003-latex.patch, 0004-libpng16.patch,
      0005-drop-inter-library-dep.patch and 0006-CVE-2024-56431.patch
      now included upstream.
   * Dropped autopkgtest dependency valgrind on armel and riscv64.
   * Updated Standards-Version from 4.7.0 to 4.7.2.
Checksums-Sha1:
 b834735eb795797609aa347a4e1d9f0eac1ecdc0 2677 libtheora_1.2.0+dfsg-5.dsc
 296dbd4166dfad8c31537078ad53e70b195b1d6b 16776 libtheora_1.2.0+dfsg-5.debian.tar.xz
 6cc13d5f6546db6b7882dcf770a15840da65e4ee 11137 libtheora_1.2.0+dfsg-5_source.buildinfo
Checksums-Sha256:
 dbda1c45ccb475c7e51e64d3dbaf88fd7a75577176cbba94ea5d83439416681d 2677 libtheora_1.2.0+dfsg-5.dsc
 6252d6353c9c9116a0eb088daeb88a6c0fcd4038d5e5f68c4c57e51395df2210 16776 libtheora_1.2.0+dfsg-5.debian.tar.xz
 1426327dddd414efaa6454c30a720a57d4d62b7b49be055c4b506d089519f6e6 11137 libtheora_1.2.0+dfsg-5_source.buildinfo
Files:
 7e372dc1b0f870939ac9533fdc1bc3bf 2677 libs optional libtheora_1.2.0+dfsg-5.dsc
 4a524eeb2a655b2d961b7123a4171f8c 16776 libs optional libtheora_1.2.0+dfsg-5.debian.tar.xz
 d70ad9661a806c4b7bf282d971517091 11137 libs optional libtheora_1.2.0+dfsg-5_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEERqLf4owIeylOb9kkgSgKoIe6+w4FAmizUGQACgkQgSgKoIe6
+w7lHQ/+OVKh3d7IARONPToLpM0C/w0S/PFlCUbhvjhZJgvWjdS666CVWR7JQ181
4B+k4iVpbBp2yLY6pa9Nem5CDvX0+CwrD0hRK82tsxtZl9YAJt/3qCO4RGoJCc0B
W03wevcy3dXIJRiWuTaovCs/mWw0d0fC5aAxBaQf/DS7KNBkZeY7gL9ACD6V6Gh1
i8brFjSyb5qO9FOgY7NnVOvPeqD5HfeQgNm+PJHzyegnbrhlqMpQga0s96kAqmIS
Ee/DtDQTT1xnGqL+a0N5pFRVEdfqwZGPgS+7xi0GDoK0PpjxttkFEq5qGtUzwPe4
suS4Fqv77h9SXcKZn4O2N9V8VYwDaISzLy0sss2wTCKrQWi4FCUhgOZTslKpHZxr
w5kNCk4yuw//0cIJdSkn+B7xwbrCNcWcM7yv5XoykdeV/5W6nqdm1mne53OJrDI7
NshvkqxDjH4G/dPzTd4Z3k2mgy+7oRvlcznlwFGY9frJnrHag+ccfjdtkkODdcBU
JIHFlpOsmJA9+ZtT+BUGhqStOR8YpHkXzFcysK3Ub/j/ZXwG67hF4lBsnpZ/HfgO
dp6vV6FVBG1b4eVtSSxo7ovaJNYYPgv4E/t+k7l9TLyjyv9M7Ln3TvjfYYy5QUrY
g5h/o3vltuGH9P7KOqsaxPc46d+gkxvt3f4t+E04T4PT3xaUUgY=
=MTy3
-----END PGP SIGNATURE-----

Attachment: pgpEuewLrpfgW.pgp
Description: PGP signature


--- End Message ---

Reply to: