#WatchdogTermination: The OS watchdog terminated your app, possibly because it overused RAM

1 messages ยท Page 1 of 1 (latest)

wide tulip
#

Hi team and thank for your great work ! ๐ŸŽ‰

I have a problem starting like 2 weeks ago, doing the exact same things i was doing before : sending an ios patch, and as it was always working i send it live directly but all ios users have crash at startup with this new patch (fortunately i can rollback).

I've tried to upload this new release with the app store and it works, so i think it's a problem with the patching.

So i've spend lot of hours investigating with the staging, preview and a lot of print (lol). I've seen the moment when it crash was when initialize upgrader, when i remove it it works.

I've tried to change to package flutter_upgrade_version and it was same and finally tried with package_info_plus and one more time the same.

So maybe it's a conflict with this king of getting package version ? I did not have this bugs nearly 3 weeks ago, so maybe a change in last shorebird updates?

I put you the crash from apple testflight, and hope i've send you enough details about it, thank you ! ๐Ÿ™Œ

worthy basalt
#

Can you share your app id and the release+patch where this was happening?

wide tulip
#

9d693491-af47-44d5-9583-1f60b3e55c94
1.0.45+22

worthy basalt
#

Which patch?

#

Also, are you committing your pubspec.lock?

#

This sounds like an issue where a plugin was upgraded and an unsafe native change was introduced

#

(the shorebird cli should warn about this)

wide tulip
#

Actually, all 15 first patchs of the release (i've done a lot of tests)
The problem is i've tried to publish a release and publish a patch without modifs and the problem occur

worthy basalt
#

So you've never been able to successfully patch?

wide tulip
#

I've been able to deploy last patch because i've commented the upgrader block

worthy basalt
#

Could you elaborate on what you mean by "the upgrader block"?

wide tulip
#

Yeah sorry, basically it was a block to see if a new update was available, i put this code june 21: Future<bool> isUpdateAvailable(BuildContext context) async { const appcastURL = 'https://raw.githubusercontent.com/clemortel/stairling_frontend_version/master/appcast.xml'; final upgrader = Upgrader( storeController: UpgraderStoreController( onAndroid: () => UpgraderAppcastStore(appcastURL: appcastURL), oniOS: () => UpgraderAppcastStore(appcastURL: appcastURL))); await upgrader.initialize(); final appcast = Appcast(); final appVersion = await appcast .parseAppcastItemsFromUri(appcastURL) .then((value) => value?.first.versionString ?? "0.0.0"); final appStoreVersion = Version.parse(appVersion); final installedVersion = Version.parse(upgrader.currentInstalledVersion ?? "100.0.0"); return appStoreVersion > installedVersion && kReleaseMode; }

#

I call this code in initState method of the SplashScreen, and it why i've deploy 15 patchs with print to see at which moment it crash, and it crash at line upgrader.initialize. After i tried other packages which gave me same result (flutter_upgrade_version, and package_info_plus) each time at the moment i get my app version (PackageManager.getPackageInfo and PackageInfo.fromPlatform)

worthy basalt
#

And this works fine without Shorebird?

wide tulip
#

It works when i do a shorebird release ios but not when i do a shorebird patch ios

worthy basalt
#

k, I can try to reproduce locally. This is coming from the flutter_upgrade_version package?

wide tulip
#

Yeah you can try each of upgrader,flutter_upgrade_version or package_info_plus package

#

Sorry i don't have time to reproduce a minimal example

burnt karma
#

That looks like you're running Shorebird. I wonder if there could be a leak (in your code our ours)

#

it's made with a recent version of Shorebird (which is good), since we did have one known leak in thepast.

wide tulip
#

So Is there any possible solution ?

worthy basalt
#

We have not had time to reproduce

#

Hope to look today. A minimal reproduction sample would be very helpful

errant delta
worthy basalt
#

Awesome, thanks!

worthy basalt
#

Not able to reproduce a crash on iOS by introducing the updater logic you pasted above in a patch

wide tulip
#

This afternoon i will try to to create a minimal reproduction sample