Closed Bug 1670988 Opened 4 years ago Closed 1 year ago

Widevine / GMP binaries might be the wrong architecture in migrations

Categories

(Core :: Audio/Video, enhancement)

ARM64
macOS
enhancement

Tracking

()

RESOLVED INVALID

People

(Reporter: gcp, Assigned: haik)

References

Details

Media team: "The Widevine folks pointed out that the OSX migration assistant will cause problems. I assume that the migration assistant will simply copy over Firefox user profiles. That will result in x86 binaries for Widevine and OpenH264 to get copied over to an ARM machine which obviously will result in trouble if we try to load these from ARM Firefox executable. Do you know if we have tested the migration assistant so far?"

Exact behavior depends on what the Migration Assistant actually does. It it leaves the binaries alone, this problem is exclusive to a cross-architecture update and should be tackled as part of that.

See Also: → 558462
No longer blocks: aarch64-macos

Likely problematic use case:

  • User data and profile get migrated our of user data dir.
  • Binary from /Applications isn't.
  • User installs new ARM64 binary.
  • ARM64 binary finds migrated profile with x86 libs.

Some data points from users (not tested):

  • The migration assistant will copy over Universal binaries. But since Firefox would then also get started as Aarch64 the problem remains.
  • Copying the user data over is optional. But we should be prepared to handle the scenario for the users who opt in on that.

Haik, is this scenario something you can test on the DTK?

Flags: needinfo?(haftandilian)

I haven't tested the migration assistant yet, but with universal binaries and the fix for bug 1675441, we should be OK. With the fix, we check the architecture of the library and on arm64 with universal builds, until the arm64 CDM is available, we'll use the x64 plugin and load an x64 child process. If a profile is moved from arm64 to x64, we detect the plugin is incompatible and remove it. After a browser restart, when we check for a new version we'll download an x64 library.

Assignee: nobody → haftandilian

I tested this with a profile manually migrated from x64 to arm64 and the x64 binaries get deleted from the profile when Firefox first launches on the new architecture. We have code in GMPProvider that checks the architecture of plugins on launch and uninstalls mismatched arch plugins. So we can safely close this as invalid.

Status: NEW → RESOLVED
Closed: 1 year ago
Flags: needinfo?(haftandilian)
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.