Closed
Bug 1469116
Opened 6 years ago
Closed 6 years ago
Severe performance issues on big-endian Linux systems due to patch 5 of bug #1209812
Categories
(Core :: Graphics, defect, P5)
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: wyattfward, Unassigned)
References
Details
(Whiteboard: [gfx-noted])
Attachments
(2 files)
704 bytes,
patch
|
lsalzman
:
review-
|
Details | Diff | Splinter Review |
4.08 KB,
patch
|
Details | Diff | Splinter Review |
I have Firefox 52 (and SeaMonkey 2.49.3) on a PowerBook G4 running Debian Sid.
What happens:
A steady stream of errors are rapidly written to the terminal firefox is invoked from, for the duration of the programs' being run. This causes a severe performance drop as the terminal has to print out all of the errors. Additionally, it _may_ be responsible for visible graphical issues (though I have yet to find any):
Crash Annotation GraphicsCriticalError: |[0][GFX1]: Unknown image format 1 (t=39.3687) [GFX1]: Unknown image format 1
Crash Annotation GraphicsCriticalError: |[0][GFX1]: Unknown image format 1 (t=39.3687) |[1][GFX1]: Unknown image format 0 (t=39.4296) [GFX1]: Unknown image format 0
Crash Annotation GraphicsCriticalError: |[0][GFX1]: Unknown image format 1 (t=39.3687) |[1][GFX1]: Unknown image format 0 (t=39.4296) |[2][GFX1]: Unknown image format 0 (t=39.4374) [GFX1]: Unknown image format 0
Crash Annotation GraphicsCriticalError: |[0][GFX1]: Unknown image format 1 (t=39.3687) |[1][GFX1]: Unknown image format 0 (t=39.4296) |[2][GFX1]: Unknown image format 0 (t=39.4374) |[3][GFX1]: Unknown image format 0 (t=39.4385) [GFX1]: Unknown image format 0
...and so on until i close the program. The program appears to function properly besides these messages, but at a severe performance penalty.
It appears that in the process of completing bug #1209812, a mistake was made and we accidentally worried about endian-ness somewhere we didn't need to. My patch (attached) appears to fix the problem.
This bug is also reported in the Debian project as #901644:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901644
I do not believe I have reported a bug to Mozilla before, so I hope I'm doing this right. I tried to ask on #developers IRC, but got no replies to my questions about submitting reports so I decided to go ahead. I am tempted to mark this bug as higher than normal severity, but since PowerPC and HP-PA and other big endian architectures are currently not first-tier, I was hesitant to do so.
Reporter | ||
Comment 1•6 years ago
|
||
Full disclosure: I believe I found a similar patch originally from a Sparc64 or HP-PA user on some other site (maybe launchpad?) - but I cannot figure out where that was anymore. He claimed that the patched version worked on both his amd64 machines and his SPARC one.
Updated•6 years ago
|
Blocks: 1209812
Component: Untriaged → Graphics
Flags: needinfo?(n.nethercote)
Product: Firefox → Core
See Also: 1209812 → http://bugs.debian.org/901644
Comment 2•6 years ago
|
||
Comment on attachment 8985753 [details] [diff] [review]
bigEndianFix-gfx-2d-Types.patch
Review of attachment 8985753 [details] [diff] [review]:
-----------------------------------------------------------------
Thank you for the bug report and patch.
I admit the details of this stuff have fallen out of my head somewhat in the intervening 2.5 years. Also, I'm not a graphics module peer so I shouldn't review this.
Nical: you reviewed this patch originally, can you take a look at this? https://hg.mozilla.org/integration/mozilla-inbound/rev/aa15cfe46e9cee89c0bca5a46c0d7ff4c0230f8b is the original patch. Thank you.
Attachment #8985753 -
Flags: review?(nical.bugzilla)
Updated•6 years ago
|
Flags: needinfo?(n.nethercote)
Reporter | ||
Comment 3•6 years ago
|
||
If it helps any in getting this bug fixed, I'd like to let everyone without access to a big-endian machine know that I'm watching this bug and ready to try whatever's useful and report back with results. I can make builds, run them, make video recordings, or anything else that might be handy. I could also share my build configuration, if that would be helpful for any reason.
It'd be a shame to see this end up like bug #998749 and others, where a patch was available but it was forgotten about due to being a tier 3 platform. I'm ready to help however I can.
Reporter | ||
Comment 4•6 years ago
|
||
(Sorry for double-posting.)
I can also meet on IRC or similar for faster discussion, if that would be more useful.
Comment 5•6 years ago
|
||
Comment on attachment 8985753 [details] [diff] [review]
bigEndianFix-gfx-2d-Types.patch
I think that Lee has a clearer picture of the endianness stuff than I.
Attachment #8985753 -
Flags: review?(nical.bugzilla) → review?(lsalzman)
Comment 6•6 years ago
|
||
Comment on attachment 8985753 [details] [diff] [review]
bigEndianFix-gfx-2d-Types.patch
This patch would break the intended meaning of the _UINT32 formats outside of Moz2D. B8G8R8A8 and A8R8G8B8 represent byte order (except inside Moz2D), and the _UINT32 variants represent bit shifts, so the alternate definitions are required.
Attachment #8985753 -
Flags: review?(lsalzman) → review-
Comment 7•6 years ago
|
||
The problem arises from the fact that you are using the Cairo content backend, which we really don't support anymore. Please use the Skia content backend instead, which is actually the default on 52 ESR. If necessary, there is a patch in bug 1144632 to make this work on big-endian.
Reporter | ||
Comment 8•6 years ago
|
||
Lee: Hm, well in about:config, "gfx.canvas.azure.backends" is set to "skia". Isn't this all I need to use Skia?
Reporter | ||
Comment 9•6 years ago
|
||
Additional note - this happens in the Debian Sid builds of firefox, too, with fresh profiles. So unless Debian is packaging it with cairo instead of Skia, I suspect that it's not a Cairo thing.
Comment 10•6 years ago
|
||
(In reply to Wyatt Ward from comment #9)
> Additional note - this happens in the Debian Sid builds of firefox, too,
> with fresh profiles. So unless Debian is packaging it with cairo instead of
> Skia, I suspect that it's not a Cairo thing.
Could you please attach the graphics section from "about:support"? That would help diagnose.
Flags: needinfo?(wyattfward)
Updated•6 years ago
|
Priority: -- → P5
Whiteboard: [gfx-noted]
Reporter | ||
Comment 11•6 years ago
|
||
Firefox has been crashing (the error message builds longer and longer until it runs out of memory, I think) pretty quickly upon starting it without my patch, so I've been having trouble getting that screen attached. I got it today though.
It appears that it is using cairo - I have no idea why, though. This is the official Debian Sid package.
{
"application": {
"name": "Firefox",
"osVersion": "Linux 4.16.0-2-powerpc",
"version": "52.0.2",
"buildID": "20170401214539",
"userAgent": "Mozilla/5.0 (X11; Linux ppc; rv:52.0) Gecko/20100101 Firefox/52.0",
"safeMode": false,
"supportURL": "https://support.mozilla.org/1/firefox/52.0.2/Linux/en-US/",
"numTotalWindows": 1,
"numRemoteWindows": 0,
"remoteAutoStart": false,
"autoStartStatus": 2
},
"graphics": {
"numTotalWindows": 1,
"numAcceleratedWindows": 0,
"windowLayerManagerType": "Basic",
"windowLayerManagerRemote": true,
"supportsHardwareH264": "No",
"currentAudioBackend": "pulse",
"numAcceleratedWindowsMessage": [
""
],
"adapterDescription": "X.Org R300 Project -- ATI RV350",
"adapterVendorID": "X.Org R300 Project",
"adapterDeviceID": "ATI RV350",
"adapterRAM": "",
"adapterDrivers": "",
"driverVersion": "2.1 Mesa 18.0.5",
"driverDate": "",
"webglRenderer": "X.Org R300 Project -- ATI RV350",
"webgl2Renderer": "WebGL creation failed: \n* Error during native OpenGL init.\n* Error during native OpenGL init.\n* Error during native OpenGL init.\n* Error during native OpenGL init.\n* Error during native OpenGL init.\n* Exhausted GL driver caps.\n* Exhausted GL driver options.",
"info": {
"AzureCanvasBackend": "cairo",
"AzureCanvasAccelerated": 0,
"AzureFallbackCanvasBackend": "none",
"AzureContentBackend": "cairo",
"CairoUseXRender": 0
},
"failures": [
"[GFX1]: Unknown image format 1",
"[GFX1]: Unknown image format 1",
"[GFX1]: Unknown image format 0",
"[GFX1]: Unknown image format 1",
"[GFX1]: Unknown image format 1",
"[GFX1]: Unknown image format 1",
"[GFX1]: Unknown image format 1",
"[GFX1]: Unknown image format 0",
"[GFX1]: Unknown image format 1",
"[GFX1]: Unknown image format 1",
"[GFX1]: Unknown image format 1",
"[GFX1]: Unknown image format 1",
"[GFX1]: Unknown image format 0",
"[GFX1]: Unknown image format 1",
"[GFX1]: Unknown image format 1",
"[GFX1]: Unknown image format 1"
],
"indices": [
0,
181,
182,
183,
169,
170,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180
],
"featureLog": {
"features": [
{
"name": "HW_COMPOSITING",
"description": "Compositing",
"status": "blocked",
"log": [
{
"type": "default",
"status": "blocked",
"message": "Acceleration blocked by platform"
}
]
},
{
"name": "OPENGL_COMPOSITING",
"description": "OpenGL Compositing",
"status": "unavailable",
"log": [
{
"type": "default",
"status": "unavailable",
"message": "Hardware compositing is disabled"
}
]
}
],
"fallbacks": []
},
"crashGuards": []
}
}
Flags: needinfo?(wyattfward)
Reporter | ||
Comment 12•6 years ago
|
||
(In reply to Lee Salzman [:lsalzman] from comment #7)
> The problem arises from the fact that you are using the Cairo content
> backend, which we really don't support anymore. Please use the Skia content
> backend instead, which is actually the default on 52 ESR. If necessary,
> there is a patch in bug 1144632 to make this work on big-endian.
I can't get that patch in 114632 to apply to the FF 52 tree. It looks like Skia has been significantly revamped in between 52 and 62, and that patch simply gets rejected.
Reporter | ||
Comment 13•6 years ago
|
||
I'm going to be out of the country for the next week or so, so I might not be able to reply to bug reports from this coming wednesday until sometime a week or two out.
Comment 14•6 years ago
|
||
Can you try this patch? It should apply against 52 ESR.
Flags: needinfo?(wyattfward)
Comment 15•6 years ago
|
||
ESR 52 isn't maintained anymore. closing.
Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Updated•1 year ago
|
Flags: needinfo?(wyattfward)
You need to log in
before you can comment on or make changes to this bug.
Description
•