Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: arm and x86_64 patches are 1.xx KB, but arm64 patch is 1.xx MB #2749

Open
MarkZhongsh opened this issue Jan 10, 2025 · 10 comments
Open
Labels
bug Something isn't working

Comments

@MarkZhongsh
Copy link

App ID: 42c91bdd-f4e7-40ac-b273-9c4bbdd63919

Description

The patch size should be similar size across different platforms, but currently, the ARM64 version is significantly larger while other architectures remain small.

Steps To Reproduce

  1. shorebird patch -p android
  2. shorebird showed the info

Expected Behavior

Patches are similar size.

**Patches Log **

✓ Fetching release artifacts (1.9s)
✓ Downloading release artifact 1/3 (100%) (2.0s)
✓ Downloading release artifact 2/3 (100%) (1.9s)
✓ Downloading release artifact 3/3 (100%) (2.2s)
✓ Creating patch artifacts (8.4s)

🚀 Ready to publish a new patch!

📱 App: x_project (42c91bdd-f4e7-40ac-b273-9c4bbdd63919)
📦 Release Version: 1.0.0+3
🕹️ Platform: android [arm32 (1.47 KB), arm64 (1.63 MB), x86_64 (1.33 KB)]
🟢 Track: Stable

Would you like to continue? (y/N) Yes
✓ Creating patch (1.9s)
✓ Uploading artifacts (3.6s)
✓ Fetching channels (0.4s)
✓ Promoting patch to stable (0.4s)

@MarkZhongsh MarkZhongsh added the bug Something isn't working label Jan 10, 2025
@MarkZhongsh
Copy link
Author

And I found that x86_64 and arm patches' hashes are the same after running shorebird patch -p android. Does it meant that only support arm64?

@eseidel
Copy link
Contributor

eseidel commented Jan 10, 2025

Hmm, that's surprising. Thank you for the report, we can look.

@eseidel eseidel added this to 1.1 Jan 10, 2025
@eseidel eseidel moved this to Todo in 1.1 Jan 10, 2025
@bryanoltman
Copy link
Contributor

Attempting to reproduce now with a trivial example (the default Flutter "counter" app, changing the theme color for the patch). I'm seeing an arm64 patch size that is very slightly higher than the other architectures, but only barely:

🕹️  Platform: android [arm32 (13.20 KB), arm64 (13.32 KB), x86_64 (12.92 KB)]

Can you provide more information about your app?

  • What changes are included in the patch?
  • Can you share your pubspec.yaml?

@bryanoltman bryanoltman added the waiting for response Waiting for customer response label Jan 13, 2025
@MarkZhongsh
Copy link
Author

Attempting to reproduce now with a trivial example (the default Flutter "counter" app, changing the theme color for the patch). I'm seeing an arm64 patch size that is very slightly higher than the other architectures, but only barely:

🕹️  Platform: android [arm32 (13.20 KB), arm64 (13.32 KB), x86_64 (12.92 KB)]

Can you provide more information about your app?

  • What changes are included in the patch?
  • Can you share your pubspec.yaml?
  • lots of darts and assets's changes, include adding, removing and changing.
  • sorry, I can't share full pubspec.yaml. I can only take a screenshot for part of pubspec.yaml.

@eseidel
Copy link
Contributor

eseidel commented Jan 14, 2025

It may also just be randomness from the Dart compiler. I'm not sure why the arm64 binary would change so much, but it's possible that when we use our fancier compiler tech (that we use on iOS but not currently Android), this issue will resolve itself:
#2737

@bryanoltman bryanoltman removed the waiting for response Waiting for customer response label Jan 14, 2025
@MarkZhongsh
Copy link
Author

It may also just be randomness from the Dart compiler. I'm not sure why the arm64 binary would change so much, but it's possible that when we use our fancier compiler tech (that we use on iOS but not currently Android), this issue will resolve itself: #2737

but after making patches again, x86_64 and arm patches' hash is the same with last patches'. Is it expected?

@eseidel
Copy link
Contributor

eseidel commented Jan 15, 2025

I'm not sure what you mean by "x86_64 and arm patches' hash is the same with last patches". Where are you getting the hash values?

@MarkZhongsh
Copy link
Author

I got the hashes from log.

@felangel
Copy link
Contributor

I got the hashes from log.

Can you share the full logs?

@MarkZhongsh
Copy link
Author

I have tried to create patch again, it seem everything ok. But this patch deleted chanege one dart file. hmm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Todo
Development

No branches or pull requests

4 participants