Debian Bug report logs - #976185
i386 baseline violation in QCMS code

version graph

Package: firefox; Maintainer for firefox is Maintainers of Mozilla-related packages <[email protected]>; Source for firefox is src:firefox (PTS, buildd, popcon).

Reported by: Fanael Linithien <[email protected]>

Date: Tue, 1 Dec 2020 04:51:01 UTC

Severity: normal

Found in version firefox/83.0-1

Fixed in version firefox/86.0.1-1

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to [email protected], Maintainers of Mozilla-related packages <[email protected]>:
Bug#976185; Package firefox. (Tue, 01 Dec 2020 04:51:03 GMT) (full text, mbox, link).


Acknowledgement sent to Fanael Linithien <[email protected]>:
New Bug report received and forwarded. Copy sent to Maintainers of Mozilla-related packages <[email protected]>. (Tue, 01 Dec 2020 04:51:03 GMT) (full text, mbox, link).


Message #5 received at [email protected] (full text, mbox, reply):

From: Fanael Linithien <[email protected]>
To: [email protected]
Subject: i386 baseline violation in QCMS code
Date: Tue, 1 Dec 2020 05:48:08 +0100
Package: firefox
Version: 83.0-1

Firefox crashes with SIGILL on CPUs that don't support SSE2, even
though Debian's baseline doesn't require it.

The crash manifests itself in qcms_transform_data_bgra_out_lut_sse2,
which uses SSE2 intrinsics, and so should never be reached on CPUs
that don't support SSE2, but is, at least on my Pentium III.

I'm 95% sure that the origin of the problem is sse_version_available,
in gfx/qcms/src/transform.rs: it's incorrectly defined to always
return 2, which is correct on AMD64, but not on IA-32:

    /* we know at build time that 64-bit CPUs always have SSE2
     * this tells the compiler that non-SSE2 branches will never be
     * taken (i.e. OK to optimze away the SSE1 and non-SIMD code */
    return 2;

The upstream commit that introduced the regression appears to be
25a50264ae3204f2df9add308fc712df45947637, which also incorrectly
dropped support for SSE 1, which is IIRC still supported by upstream,
it's just not tier 1 anymore and upstream *binaries* don't support it.



Information forwarded to [email protected], Maintainers of Mozilla-related packages <[email protected]>:
Bug#976185; Package firefox. (Mon, 29 Mar 2021 10:27:02 GMT) (full text, mbox, link).


Acknowledgement sent to Fanael Linithien <[email protected]>:
Extra info received and forwarded to list. Copy sent to Maintainers of Mozilla-related packages <[email protected]>. (Mon, 29 Mar 2021 10:27:02 GMT) (full text, mbox, link).


Message #10 received at [email protected] (full text, mbox, reply):

From: Fanael Linithien <[email protected]>
To: [email protected]
Subject: i386 baseline violation in QCMS code
Date: Mon, 29 Mar 2021 12:23:07 +0200
control: fixed -1 86.0.1-1

This bug has been fixed upstream, likely by
https://phabricator.services.mozilla.com/D100293, and the Firefox
version currently in sid works fine on that hardware. As I don't know
how to close bug reports, or if it's even possible at all, I'm leaving
that to you.



Marked as fixed in versions firefox/86.0.1-1. Request was from Fanael Linithien <[email protected]> to [email protected]. (Mon, 29 Mar 2021 10:27:02 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Tue May 13 15:49:37 2025; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.