Firefox Translations doesn't work using an ARM CPU
Categories
(Firefox :: Translations, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox91 | --- | affected |
People
(Reporter: AwesomeSheep48, Unassigned)
References
(Depends on 1 open bug)
Details
Attachments
(2 files, 2 obsolete files)
Steps to reproduce
- Set
extensions.translations.disabledto false inabout:configand restart Firefox - go to https://es.wikipedia.org/wiki/Wikipedia:Portada
- Select "translate this page"
Expected results
The page gets translated to something readable
Actual results
Every word gets changed to "outside"
| Reporter | ||
Updated•4 years ago
|
| Reporter | ||
Comment 1•4 years ago
|
||
Comment 2•4 years ago
|
||
I'm the project coordinator. This sounds like one of the numerical routines broke. Can you tell us which CPU model you have?
Comment 4•4 years ago
|
||
Root cause is WebAssembly doesn't support 8-bit integer multiplication. We went behind WebAssembly's back to get access to the 8-bit x86 instruction maddubs via https://bugzilla.mozilla.org/show_bug.cgi?id=1672160 . This hasn't been done for ARM. If we want to support ARM, then we need to talk to Mozilla's Spidermonkey team about how to get the wormhole for ARM using e.g. SDOT.
Until then, the 8-bit matrix multiply is broken and the translation system will produce garbage results on non-x86.
| Reporter | ||
Updated•4 years ago
|
Comment 5•4 years ago
|
||
Reproduced on the latest version of Firefox Nightly 91.0a1 (2021-06-07) on MiniMac M1 11.0.1.
Setting a Severity of S3.
Kennet is this translation feature only available in 91? I cannot test it for beta or release since the pref isn't implemented.
Comment 7•4 years ago
|
||
@lth do we have support for arm listed in the bugtree of dependencies we recently created and/or is this something we can do and add to our roadmap?
Updated•4 years ago
|
Comment 8•4 years ago
|
||
We could easily add arm64 SDOT and/or UDOT through the wormhole, we might also need to have some kind of hardware detection, ideally something that will resolve to a constant as the JIT compiles the code. Not terribly hard to do that, very modest work. One thing that gives me pause is that SDOT/UDOT are ARMv8.2 and later, and are marked as optional in ARMv8.2 and ARMv8.3. They are probably available on the M1 (haven't checked; will check) but there may be a need for a fallback for non-Apple CPUs, if/when that becomes a concern.
A better fix would be the matrix multiply intrinsic that Kenneth and I have been discussing, but that's quite a bit more work of course.
Comment 9•4 years ago
|
||
(In reply to Lars T Hansen [:lth] from comment #8)
One thing that gives me pause is that SDOT/UDOT are ARMv8.2 and later, and are marked as optional in ARMv8.2 and ARMv8.3. They are probably available on the M1 (haven't checked; will check) but there may be a need for a fallback for non-Apple CPUs, if/when that becomes a concern.
The M1 is an ARMv8.5-A and SDOT and UDOT are required features since v8.4 so we're OK for Apple hardware. If we were doing something quick and dirty to just get this feature off the ground for the new Apple systems then I would probably ifdef the wormhole feature as Darwin-only; that should be OK in the short term. Going beyond that we would need to do feature detection, which is known territory on Linux/Android but will require new code on eg Win10-on-arm64.
Spun this off as bug 1715704, please follow up there with technical matters.
| Reporter | ||
Comment 10•4 years ago
|
||
Doesn't say outside anymore, instead it says
lorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlor éstelor éste éste
lorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlor éstelor éste éste
lorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlor éstelor éste éste
lorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlor éstelor éste éste
lorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlor éstelor éste éste
lorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlorlor
| Reporter | ||
Comment 11•4 years ago
|
||
| Reporter | ||
Updated•4 years ago
|
Updated•2 years ago
|
| Reporter | ||
Comment 12•2 years ago
|
||
The Firefox Translations extension does work now on my M1 mac
Updated•2 years ago
|
Description
•