We recently pushed two new app versions and during Googles automated testing scripts of each version we started getting new $digest errors that we have never seen before. We are not using $scope.apply() in our code anywhere. The errors are coming from just a few specific test devices running Android 8.1.0 and Android 9.
The error being reported to us:
ErrorIn = http://localhost/lib/ionic/js/ionic.bundle.js
ErrorAt = 30758 : 9
Error Array:
Message = Uncaught Error: [$rootScope:inprog] $digest already in progress
http://errors.angularjs.org/1.5.3/$rootScope/inprog?p0=%24digest
Which is the throw in the following function from that ionic.bundle.js file:
function beginPhase(phase) {
if ($rootScope.$$phase) {
throw $rootScopeMinErr('inprog', '{0} already in progress', $rootScope.$$phase); // <-- here
}
$rootScope.$$phase = phase;
}
As mentioned above, we combed through our app and verified there is no use of $scope.apply() anywhere in our code. However we do use $scope.applyAsync() in quite a few locations. Since we have never seen these before, and we have pushed MANY versions of our app, we are def baffled as to what is causing this or where in our app we may have added something that is now triggering this - BUT only on a handful of very specific Google automated test devices.
What else could be the source of $digest already in progress errors since we are able to verify that $scope.apply() is not used anywhere in our code?
Impacted devices - its only on 5 so far, but has occurred twice on three of them:
Android 8.1.0 (app_installDate : 2022-06-03, 0.40.78)
dev_UUID : ce025a1ac23adbb8
Vendor: Samsung, Device: Galaxy A70, dev_Serial : RKK021848979234
Android 8.1.0 (app_installDate : 2022-06-03, 0.40.78)
dev_UUID : ce025a1ac23adbb8
Vendor: Samsung, Device: Samsung Galaxy A70, dev_serial : RKK021848979234
Android 9 (app_installDate : 2022-06-02, 0.40.76)
dev_UUID : 26336fd5ded603b0
Vendor: Unknown, Device: GCE x86 phone, dev_serial : unknown
Android 8.1.0 (app_installDate : 2022-05-31, 0.40.76)
dev_UUID : 5558110b01a37c4c
Vendor: Vivo, Device: vivo S1, dev_serial : RKK021848979234
Android 8.1.0 (app_installDate : 2022-05-31, 0.40.76)
dev_UUID : 5558110b01a37c4c
Vendor: Vivo, Device: vivo S1, dev_serial : RKK021848979234
Android 9 (app_installDate : 2022-05-27, 0.40.76)
dev_UUID : 1e397a4762a5ea0e
Vendor: Unknown, Device: GCE x86 phone, dev_serial : unknown
Android, 8.1.0 (app_installDate : 2022-05-25, 0.40.76)
dev_UUID : a9373d8a461163a2
Vendor: Xiaomi, Device : Mi 9X, dev_serial : RKK021848979234
Android 8.1.0 (app_installDate : 2022-05-25, 0.40.76)
dev_UUID : a9373d8a461163a2
Vendor: Xiaomi, Device : Mi 9X, dev_serial : RKK021848979234
Related
I have custom ESP32WROOM based hardware and a mobile app that communicate using Bluetooth Classic via the BluetoothSerial library in Arduino. Everything works great on a wide variety of test devices except for ONE customer who is using a C5L Max with Android 11.
I have verified that this phone works up until its most recent system update. After the update, the moment the app connects to the ESP32, it kernel panics:
Core 0 register dump:
PC : 0x4002f7c2 PS : 0x00060330 A0 : 0x800268aa A1 : 0x3ffd26f0
A2 : 0x00000000 A3 : 0x00000000 A4 : 0x3ffcf8b8 A5 : 0x3ffcf8bc
A6 : 0x3ffcf8c0 A7 : 0x3ffcf8c4 A8 : 0x8002f7ad A9 : 0x3ffd26d0
A10 : 0x3cdb3940 A11 : 0x00000007 A12 : 0x00060320 A13 : 0x00000021
A14 : 0x00000074 A15 : 0x00000000 SAR : 0x0000001d EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x4000c46c LEND : 0x4000c477 LCOUNT : 0x00000000
ELF file SHA256: 0000000000000000
Backtrace: 0x4002f7c2:0x3ffd26f0 0x400268a7:0x3ffd2710 0x401ad0be:0x3ffd2750 0x4008869a:0x3ffd2770 0x40019d11:0x3ffd27a0 0x40055b4d:0x3ffd27c0 0x401a8a93:0x3ffd27e0 0x401a90a1:0x3ffd2800 0x40090f4a:0x3ffd2830
Rebooting...
Now for the real head scratcher: I went into our repo, and installed a variety of old firmware binaries on the ESP32. Our firmware from before June of 2021 works with the updated phone! So... I pull the source for that working firmware, build it, and am still getting the same crash behavior. This means it is not a source issue, but something that has changed in the underlying libraries or Arduino core. So I have now tried building our old firmware with every version of Arduino and the ESP32 libraries from that era, and still no luck.
What else could have changed that I'm missing? It has to be something on the system / compiler / library level, but I'm stumped as to what it could be.
I am using Amplify library for social sign-in / sign-up with Cognito Hosted web UI in iOS and Android applications. We are using Swift UI for iOS.
Sometimes, when a new user tries to sign-in using Facebook or Apple, he receives an error. Then when the user tries again (second time), the flow works fine. The issue is happening randomly on both iOS and Android.
Here's our code to sign-up/sign-in with AWS.
For iOS:
_ = Amplify.Auth.signInWithWebUI(for: type, presentationAnchor: window!) {
result in DispatchQueue.main.async {
switch result {
case .success:
self.userID = userId
completion(true)
case .failure(let error):
NotificationBanner.show(error.errorDescription)
completion(false)
}
}
}
For Android:
Amplify.Auth.signInWithSocialWebUI(provider, activity,
{ callback.onSignInSuccess(result = it, loginType = loginType) },
{ callback.onAuthError(exception = it) }
)
Here's the error we get when running on iOS:
AuthError: Unexpected error occurred with message: An unknown error occurred
Recovery suggestion: This should not happen. There is a possibility that there is a bug if this error persists. Please take a look at https://github.com/aws-amplify/amplify-ios/issues to see if there are any existing issues that match your scenario, and file an issue with the details of the bug if there isn't. Issue encountered at:
file: /Users/syed.zain/Desktop/parcelx-ios/Pods/Amplify/Amplify/Categories/Auth/Error/AuthError.swift
function: recoverySuggestion
line: 79
Caused by:
Error Domain=com.apple.SafariServices.Authentication Code=1 "(null)"
This error shows up randomly, but frequently. (Our QA team saw it 3 to 4 times in a day.) We are unable to find the exact pattern of its occurrence.
These are the iOS dependencies we're using:
Amplify (1.3.2):
Amplify/Default (= 1.3.2)
Amplify/Default (1.3.2)
AmplifyPlugins/AWSCognitoAuthPlugin (1.3.2):
AWSAuthCore (~> 2.17.0)
AWSCognitoIdentityProvider (~> 2.17.0)
AWSCognitoIdentityProviderASF (~> 2.17.0)
AWSCore (~> 2.17.0)
AWSMobileClient (~> 2.17.0)
AWSPluginsCore (= 1.3.2)
Dependency Manager: CocoaPods, Swift Package Manager
Swift Version : 5
iOS Device: Tested on iPhone 6S, iPhone 11
iOS Version: Tested on 13.6, 14.0, 14.2
On Android, we're using Amplify version 1.2.0.
Android Device: Tested on Galaxy A50, Galaxy A51, Samsung Note 8, Pixel 2
Android Version: Tested on versions greater than 7.0
Fatal Exception: java.util.concurrent.TimeoutException
android.media.MediaCodec.finalize() timed out after 10 seconds
I'm receiving this exception from fabric happened with Samsung Galaxy Note 3 (4.3) on the end users side, anybody has any clue on why it happened?
This crash reported by fabric. This is not related to your Application:
https://code.google.com/p/android/issues/detail?id=205978
Devices:
Samsung (62%) : GT-I9300, SM-G7105, GT-I9500, ...
LG (19%) : Nexus 4, H815, D855
Motorola (15%) : XT1058, XT1060, XT1055,...
others (4%)
Android versions:
Android 5.x : 54%
Android 4.x : 45%
Android 6.x : 1%
Following link clearly explains.
How to handle :java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize() timed out after 10 seconds errors?
I am trying to run protractor tests on real device (Android Phone, Android 5.0.1 version). It is opening the browser (Chrome) but not navigating to the url and throwing below error message.
super(opt_error);
^
WebDriverError: unknown error: operation is unsupported on Android
(Session info: chrome=49.0.2623.105)
(Driver info: chromedriver=2.18.343845 (73dd713ba7fbfb73cbb514e62641d8c96a94682a),platform=Windows NT 10.0 x86_64).
Here is code from conf js ( pasing only required code ):
seleniumAddress: 'http://localhost:4723/wd/hub',
capabilities: {
browserName: 'chrome',
platformName: 'android',
deviceName: ' ',
},
framework: 'jasmine2',
specs: ['../functional/AppLogin.js'],
Actual Spec code:
describe("Verify Login", function(){
it("Verify Application Login",function(){
browser.get("http://juliemr.github.io/protractor-demo/");
});
});
Note: Device connected to system properly, Appium node server running fine.
I had the same issue and the problem was that I was trying to set the window size of the browser, and this cannot be done when running on a real device. This was the line which was causing the issue:
browser.driver.manage().window().setSize(400, 800);
I am unable to get the device token in the success method of gcm.registerC2dm instead i am getting null or '' value of device token please help me regarding this if some one has idea.
I am using pushnotifications module : com.activate.gcm version 0.5 android sdk : 2.3.3 titanium sdk : 3.00 GA
Regards:Ali