Open Bug 1721402 Opened 3 years ago Updated 3 years ago

v86.0.1 on Debian Linux ppc64 reverses color bits in PNG and BMP

Categories

(Core :: Graphics: ImageLib, defect)

Firefox 86
defect

Tracking

()

UNCONFIRMED

People

(Reporter: dclarke, Unassigned)

Details

Attachments

(1 file)

Attached image ff86_ppc64_color.png

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:92.0) Gecko/20100101 Firefox/92.0

Steps to reproduce:

Attempt to access both a png image and a bmp image.

Actual results:

Colors seem wrong.

Expected results:

With test data that is in PNG 16bit RGBA format as well as PNG 8bit RGBA formap we see that colors are wrong. Seems as if the big endian ppc64 backend client is not able to render the colors in the correct byte order onto the frontend Debian stable amd64 X11 server. Also tested with 24 bit BMP format ( R8G8B8 ) and also 16 bit BMP R5G6B5 format we see colors wrong. Scaled images are far worse with what seems to be entire color channels missing. FireFox nightly 92.0.a1 on Debian stable amd64 seems to work just fine.

The Bugbug bot thinks this bug should belong to the 'Core::ImageLib' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → ImageLib
Product: Firefox → Core

Oops, saw that you tested on amd64 with nightly.

I will try to build nightly on the ppc64 machine however that sounds very tricky. I will check the buildconfig and whatever else I can dig into and may get a nightly build. You would be surprised that there are still a bunch of ppc64 users out there.

Marking as S4 given that PPC is Tier-3 platform.
An "about:support" would help.

Severity: -- → S4

about:support says

Application Basics

Name: Firefox
Version: 86.0.1
Build ID: 20210310152336
Distribution ID:
User Agent: Mozilla/5.0 (X11; Linux ppc64; rv:86.0) Gecko/20100101 Firefox/86.0
OS: Linux 5.14.0-rc2-genunix #1 SMP Sun Jul 18 23:51:34 GMT 2021
Multiprocess Windows: 1/1
Fission Windows: 0/1 Disabled by default
Remote Processes: 3
Enterprise Policies: Inactive
Google Location Service Key: Found
Google Safebrowsing Key: Found
Mozilla Location Service Key: Found
Safe Mode: false

Firefox Features

Name: DoH Roll-Out
Version: 2.0.0
ID: doh-rollout@mozilla.org

Name: Firefox Screenshots
Version: 39.0.0
ID: screenshots@mozilla.org

Name: Form Autofill
Version: 1.0
ID: formautofill@mozilla.org

Name: Reset Search Defaults
Version: 2.0.0
ID: reset-search-defaults@mozilla.com

Name: Web Compatibility Interventions
Version: 19.0.0
ID: webcompat@mozilla.org

Name: WebCompat Reporter
Version: 1.4.0
ID: webcompat-reporter@mozilla.org

Remote Processes

Type: Privileged About
Count: 1

Type: Extension
Count: 1

Type: Preallocated
Count: 1

Add-ons

Name: Amazon.co.uk
Type: extension
Version: 1.4
Enabled: true
ID: amazon@search.mozilla.org

Name: Bing
Type: extension
Version: 1.3
Enabled: true
ID: bing@search.mozilla.org

Name: DuckDuckGo
Type: extension
Version: 1.1
Enabled: true
ID: ddg@search.mozilla.org

Name: eBay
Type: extension
Version: 1.3
Enabled: true
ID: ebay@search.mozilla.org

Name: Google
Type: extension
Version: 1.1
Enabled: true
ID: google@search.mozilla.org

Name: Wikipedia (en)
Type: extension
Version: 1.1
Enabled: true
ID: wikipedia@search.mozilla.org

Graphics

Features
Compositing: Basic
Asynchronous Pan/Zoom: wheel input enabled; scrollbar drag enabled; keyboard enabled; autoscroll enabled; smooth pinch-zoom enabled
WebGL 1 Driver WSI Info: -
WebGL 1 Driver Renderer: WebGL creation failed: * WebglAllowWindowsNativeGl:false restricts context creation on this system. * Exhausted GL driver options.
WebGL 1 Driver Version: -
WebGL 1 Driver Extensions: -
WebGL 1 Extensions: -
WebGL 2 Driver WSI Info: -
WebGL 2 Driver Renderer: WebGL creation failed: * AllowWebgl2:false restricts context creation on this system.
WebGL 2 Driver Version: -
WebGL 2 Driver Extensions: -
WebGL 2 Extensions: -
Window Protocol: x11
Desktop Environment: unknown
Off Main Thread Painting Enabled: true
Off Main Thread Painting Worker Count: 3
Target Frame Rate: 60
GPU #1
Active: Yes
Description: llvmpipe (LLVM 11.0.1, 128 bits) (See failure log)
Vendor ID: 0x10de
Device ID: 0x0141
Driver Vendor: mesa/llvmpipe
Driver Version: 20.3.5.0
RAM: 0

Diagnostics
AzureCanvasBackend: skia
AzureContentBackend: skia
AzureFallbackCanvasBackend: none
CairoUseXRender: 0
CMSOutputProfile: Empty profile data
Decision Log
HW_COMPOSITING:
available by default
blocked by env: Acceleration blocked by platform
OPENGL_COMPOSITING:
unavailable by default: Hardware compositing is disabled
WEBRENDER:
available by default
disabled by env: Not qualified
WEBRENDER_QUALIFIED:
available by default
blocklisted by env: No qualified hardware
WEBRENDER_COMPOSITOR:
disabled by default: Disabled by default
blocklisted by env: Blocklisted by gfxInfo
WEBRENDER_ANGLE:
available by default
unavailable by env: OS not supported
WEBRENDER_DCOMP_PRESENT:
available by default
disabled by user: User disabled via pref
unavailable by env: Requires Windows 10 or later
unavailable by runtime: Requires ANGLE
WEBRENDER_SOFTWARE:
available by default
blocklisted by env: No qualified hardware
OMTP:
available by default
WEBGPU:
disabled by default: Disabled by default
unavailable-no-webrender by runtime: WebGPU can't present without WebRender

Failure Log
(#0) Error: glxtest: No visuals found
(#137): CP+[GFX1]: Unknown image format 0
(#138): CP+[GFX1]: Unknown image format 0
(#139): CP+[GFX1]: Unknown image format 1
(#140): CP+[GFX1]: Unknown image format 0
(#141): CP+[GFX1]: Unknown image format 0
(#142): CP+[GFX1]: Unknown image format 1
(#143): CP+[GFX1]: Unknown image format 0
(#144): CP+[GFX1]: Unknown image format 0
(#145): CP+[GFX1]: Unknown image format 1
(#146): CP+[GFX1]: Unknown image format 0
(#147): CP+[GFX1]: Unknown image format 0
(#148) Assert: Unknown image format 1
(#149) Assert: Unknown image format 1
(#150) Assert: Unknown image format 1
(#151) Assert: Unknown image format 1

Media

Audio Backend: alsa
Max Channels: 0
Preferred Sample Rate: 44100
Roundtrip latency (standard deviation): ...
Output Devices
Name: Group
Input Devices
Name: Group

Enumerate database

Environment Variables

MOZ_NO_REMOTE: 1
DISPLAY: localhost:11.0
MOZ_LAUNCHED_CHILD:
XRE_PROFILE_PATH:
XRE_PROFILE_LOCAL_PATH:
XRE_START_OFFLINE:
XRE_BINARY_PATH:
XRE_RESTARTED_BY_PROFILE_MANAGER:

Experimental Features

about:home startup cache (browser.startup.homepage.abouthome_cache.enabled): false
Cookies: SameSite=Lax by default (network.cookie.sameSite.laxByDefault): false
Cookies: SameSite=None requires secure attribute (network.cookie.sameSite.noneRequiresSecure): false
Cookies: Schemeful SameSite (network.cookie.sameSite.schemeful): false
CSS: Constructable Stylesheets (layout.css.constructable-stylesheets.enabled): false
CSS: Pseudo-class: :focus-visible (layout.css.focus-visible.enabled): true
CSS: Masonry Layout (layout.css.grid-template-masonry-value.enabled): false
Developer Tools: Color Scheme Simulation (devtools.inspector.color-scheme-simulation.enabled): false
Developer Tools: Compatibility Panel (devtools.inspector.compatibility.enabled): false
Developer Tools: Execution Context Selector (devtools.webconsole.input.context): false
Developer Tools: Service Worker debugging (devtools.debugger.features.windowless-service-workers): false
Fission (Site Isolation) (fission.autostart): false
HTTP/3 protocol (network.http.http3.enabled): false
Media: AVIF (image.avif.enabled): false
Multiple Picture-in-Picture Support (media.videocontrols.picture-in-picture.allow-multiple): true
Print Preview Redesign (print.tab_modal.enabled): false
Web API: beforeinput Event (dom.input_events.beforeinput.enabled): false
Web API: inputmode (dom.forms.inputmode): false
Web API: <link rel="preload"> (network.preload): true
Web API: WebGPU (dom.webgpu.enabled): false
WebRTC Global Mute Toggles (privacy.webrtc.globalMuteToggles): false

Important Modified Preferences

browser.contentblocking.category: standard
browser.search.region: CA
browser.sessionstore.upgradeBackup.latestBuildID: 20210310152336
browser.startup.homepage_override.buildID: 20210310152336
browser.startup.homepage_override.mstone: 86.0.1
browser.urlbar.placeholderName: Google
doh-rollout.balrog-migration-done: true
doh-rollout.doneFirstRun: true
dom.forms.autocomplete.formautofill: true
dom.push.userAgentID: cbeaf1699331420c9410fb6c0c0b4ee9
extensions.lastAppVersion: 86.0.1
font.internaluseonly.changed: false
gfx.blacklist.canvas2d.acceleration: 4
gfx.blacklist.canvas2d.acceleration.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.d3d11.keyed.mutex: 4
gfx.blacklist.d3d11.keyed.mutex.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.direct2d: 4
gfx.blacklist.direct2d.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.direct3d11angle: 4
gfx.blacklist.direct3d11angle.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.dx.interop2: 4
gfx.blacklist.dx.interop2.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.dx.nv12: 4
gfx.blacklist.dx.nv12.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.dx.p010: 4
gfx.blacklist.dx.p010.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.dx.p016: 4
gfx.blacklist.dx.p016.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.gl.swizzle: 4
gfx.blacklist.gl.swizzle.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.gpu.process: 4
gfx.blacklist.gpu.process.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.hardwarevideodecoding: 4
gfx.blacklist.hardwarevideodecoding.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.layers.advanced: 4
gfx.blacklist.layers.advanced.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.layers.direct3d10: 4
gfx.blacklist.layers.direct3d10-1: 4
gfx.blacklist.layers.direct3d10-1.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.layers.direct3d10.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.layers.direct3d11: 4
gfx.blacklist.layers.direct3d11.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.layers.direct3d9: 4
gfx.blacklist.layers.direct3d9.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.layers.opengl: 4
gfx.blacklist.layers.opengl.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.stagefright: 4
gfx.blacklist.stagefright.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.webgl.allow-oop: 4
gfx.blacklist.webgl.allow-oop.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.webgl.angle: 4
gfx.blacklist.webgl.angle.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.webgl.msaa: 4
gfx.blacklist.webgl.msaa.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.webgl.opengl: 4
gfx.blacklist.webgl.opengl.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.webgl2: 4
gfx.blacklist.webgl2.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.webrender: 4
gfx.blacklist.webrender.compositor: 4
gfx.blacklist.webrender.compositor.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.webrender.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.webrender.software: 4
gfx.blacklist.webrender.software.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.webrtc.hw.acceleration.decode: 4
gfx.blacklist.webrtc.hw.acceleration.decode.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.webrtc.hw.acceleration.encode: 4
gfx.blacklist.webrtc.hw.acceleration.encode.failureid: FEATURE_FAILURE_GLXTEST_FAILED
gfx.blacklist.webrtc.hw.acceleration.h264: 4
gfx.blacklist.webrtc.hw.acceleration.h264.failureid: FEATURE_FAILURE_GLXTEST_FAILED
idle.lastDailyNotification: 1626905496
media.gmp-manager.buildID: 20210310152336
media.gmp-manager.lastCheck: 1626903663
media.gmp.storage.version.observed: 1
network.trr.blocklist_cleanup_done: true
places.database.lastMaintenance: 1626905496
privacy.purge_trackers.date_in_cookie_database: 0
privacy.purge_trackers.last_purge: 1626905496414
privacy.sanitize.pending: [{"id":"newtab-container","itemsToClear":[],"options":{}}]
security.remote_settings.crlite_filters.checked: 1626903661
security.remote_settings.intermediates.checked: 1626903661
services.sync.engine.addresses.available: true
storage.vacuum.last.index: 0
storage.vacuum.last.places.sqlite: 1626905496

Important Locked Preferences

fission.autostart: false
fission.autostart.session: false

Places Database

Accessibility

Activated: false
Prevent Accessibility: 0

Library Versions

NSPR
Expected minimum version: 4.29
Version in use: 4.32

NSS
Expected minimum version: 3.61
Version in use: 3.68

NSSSMIME
Expected minimum version: 3.61
Version in use: 3.68

NSSSSL
Expected minimum version: 3.61
Version in use: 3.68

NSSUTIL
Expected minimum version: 3.61
Version in use: 3.68

Startup Cache

Disk Cache Path: /home/xtester/.cache/mozilla/firefox/8c3e3vki.default-release/startupCache/startupCache.8.big
Ignore Disk Cache: false
Found Disk Cache on Init: true
Wrote to Disk Cache: false

Internationalization & Localization

Application Settings
Requested Locales: ["en-US"]
Available Locales: ["en-US"]
App Locales: ["en-US"]
Regional Preferences: ["en-US"]
Default Locale: "en-US"
Operating System
System Locales: ["en-US"]
Regional Preferences: ["en-US"]

Remote Debugging (Chromium Protocol)

Accepting Connections: false
URL:

Printing

Modified print settings

comment : Good to see that anything big endian at least works. I am troubled by code written on little endian systems that seems to just break when it is compiled and run on sparc or ppc64 or some other big endian machine.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: