Fixed
Status Update
Comments
[Deleted User] <[Deleted User]> #2
This is critical issue.
I see it happening on my device and it causes the phone application to crash consistently.
I see it happening on my device and it causes the phone application to crash consistently.
yo...@google.com <yo...@google.com>
[Deleted User] <[Deleted User]> #3
Any plans fixing this issue?
om...@google.com <om...@google.com> #4
Hi, thanks, yes this is already on our radar... Stay tuned.
[Deleted User] <[Deleted User]> #5
[Comment deleted]
bl...@gmail.com <bl...@gmail.com> #6
constantly causes issues requiring radical efforts to resolve as the result of the problem causes devices to be unusable for their stated intent ( dialer and contact programs no longer work) . please change priority to high.
ta...@gmail.com <ta...@gmail.com> #7
Seeing this issue when Facebook is installed. Removing it resolves the issue but I'm hoping for something more elegant.
Any word on timeline? Would this be fixed through a Play Services update or would it need an Android version update?
Any word on timeline? Would this be fixed through a Play Services update or would it need an Android version update?
ta...@gmail.com <ta...@gmail.com> #8
I am guessing this issue is fixed in #95749: https://code.google.com/p/android/issues/detail?id=95749
Does that mean Android 5.1 contains the fix?
Does that mean Android 5.1 contains the fix?
ta...@gmail.com <ta...@gmail.com> #9
Can't confirm until I get 5.1 on my Nexus 6 but it looks like this issue is fixed from the AOSP 5.1 changelog.
You can access the changlog here:https://paste.teknik.io/1010
You want to look at line 12479: 4e3a17e Fix package manager TransactionTooLargeExceptions
WOOOHOOO!!
You can access the changlog here:
You want to look at line 12479: 4e3a17e Fix package manager TransactionTooLargeExceptions
WOOOHOOO!!
yo...@sub.cellsec.net <yo...@sub.cellsec.net> #10
Awesome!
om...@google.com <om...@google.com> #11
Yes, we switched to a safer version of PackageManager method in 5.1, which knows how to circumvent the binder size limit. Thank you for your patience!
lb...@gmail.com <lb...@gmail.com> #12
[Comment deleted]
lb...@gmail.com <lb...@gmail.com> #13
lb...@gmail.com <lb...@gmail.com> #14
@11 Are you sure this is fixed on Android 5.1 ? I see someone that complains that it still occur:
http://stackoverflow.com/a/30062632/878126
al...@gmail.com <al...@gmail.com> #15
I have OnePlus Two which runs on Android 5.1.1 and the problem is still there. I can not use the Contacts, Dialer, and SMS apps, they all crash without any error message right after I start them.
To temporarily bypass the issue, I disable the Google+ app and clear the data of the Contacts Storage app in app manager. I also had to re-sync my contacts in the accounts -> Google.
I do have many apps installed. But what's weird is the problem starts suddenly. I uninstalled the most recent installed apps and a few more but that didn't help at all.
I hope this can be addressed in the next release.
To temporarily bypass the issue, I disable the Google+ app and clear the data of the Contacts Storage app in app manager. I also had to re-sync my contacts in the accounts -> Google.
I do have many apps installed. But what's weird is the problem starts suddenly. I uninstalled the most recent installed apps and a few more but that didn't help at all.
I hope this can be addressed in the next release.
sr...@gmail.com <sr...@gmail.com> #16
Facing the exact same issue as the commebt above mine on the same phone - 1+2. Please tell me a solution to this
al...@gmail.com <al...@gmail.com> #17
Just to comment that my earlier "walkaround" suddenly doesn't work anymore. I had to also disable the "Contact Storage" to use the dialer or messenger app, and I don't have any associated contact when using them.
It's probably a rare bug only happens when people have many apps installed on the device. But I don't think it'd be hard to fix once reported. Can this please be addressed soon?
It's probably a rare bug only happens when people have many apps installed on the device. But I don't think it'd be hard to fix once reported. Can this please be addressed soon?
[Deleted User] <[Deleted User]> #18
[Comment deleted]
aa...@gmail.com <aa...@gmail.com> #19
I am having the same issue on the same phone - Oneplus 2. I do have about 268 apps installed, so it might be an app related issue.
Currently fixing it by uninstalling/disabling apps like Facebook,Messenger, Google+ and re-enabling them.
Problem resurfaces every couple of days. So this is only a temporary fix.
Currently fixing it by uninstalling/disabling apps like Facebook,Messenger, Google+ and re-enabling them.
Problem resurfaces every couple of days. So this is only a temporary fix.
gu...@gmail.com <gu...@gmail.com> #20
Hi everybody,
I'm having exactly the same issue on my One+two (4 + 64 Gb)
Androïd 5.1.1
Oxygen 2.2.1
Uninstalling and disabling Google+ settled the problem ... but it is just a workaround !
Waiting for perennial solution !
Thanks in advance !
I'm having exactly the same issue on my One+two (4 + 64 Gb)
Androïd 5.1.1
Oxygen 2.2.1
Uninstalling and disabling Google+ settled the problem ... but it is just a workaround !
Waiting for perennial solution !
Thanks in advance !
dr...@gmail.com <dr...@gmail.com> #21
The issue was still not raised to high priority.
Problematic apps are those with large # of processes and providers (transaction size increases by multiplication of those) - with Facebook, Chrome, Gms having obscene sizes.
While installing any such apps crashes the device completely, even fewer apps will cause sporadic crashes during Binder rush-time, such as on network changes.
Problematic apps are those with large # of processes and providers (transaction size increases by multiplication of those) - with Facebook, Chrome, Gms having obscene sizes.
While installing any such apps crashes the device completely, even fewer apps will cause sporadic crashes during Binder rush-time, such as on network changes.
al...@gmail.com <al...@gmail.com> #22
Just to add that latest I had to uninstall the Google Hangout and Hangout Dialer app to get rid of the problem.
Description
After installing several large-manifest applications, the system becomes unstable: the system starts crashing on "TransactionTooLarge" often.
It crashes consistently when opening the phone dialer:
01-06 18:46:45.200 E/JavaBinder(25656): !!! FAILED BINDER TRANSACTION !!!
01-06 18:46:45.207 E/AndroidRuntime(25656): FATAL EXCEPTION: ContactsProviderWorker
01-06 18:46:45.207 E/AndroidRuntime(25656): Process: android.process.acore, PID: 25656
01-06 18:46:45.207 E/AndroidRuntime(25656): java.lang.RuntimeException: Package manager has died
01-06 18:46:45.207 E/AndroidRuntime(25656): at android.app.ApplicationPackageManager.queryContentProviders(ApplicationPackageManager.java:696)
01-06 18:46:45.207 E/AndroidRuntime(25656): at com.android.providers.contacts.ContactDirectoryManager.getDirectoryProviderPackages(ContactDirectoryManager.java:224)
01-06 18:46:45.207 E/AndroidRuntime(25656): at com.android.providers.contacts.ContactDirectoryManager.scanAllPackages(ContactDirectoryManager.java:261)
01-06 18:46:45.207 E/AndroidRuntime(25656): at com.android.providers.contacts.ContactDirectoryManager.scanAllPackagesIfNeeded(ContactDirectoryManager.java:194)
01-06 18:46:45.207 E/AndroidRuntime(25656): at com.android.providers.contacts.ContactDirectoryManager.scanAllPackages(ContactDirectoryManager.java:184)
01-06 18:46:45.207 E/AndroidRuntime(25656): at com.android.providers.contacts.ContactsProvider2.updateDirectoriesInBackground(ContactsProvider2.java:1135)
01-06 18:46:45.207 E/AndroidRuntime(25656): at com.android.providers.contacts.ContactsProvider2.performBackgroundTask(ContactsProvider2.java:933)
01-06 18:46:45.207 E/AndroidRuntime(25656): at com.android.providers.contacts.ContactsProvider2ForLG.performBackgroundTask(ContactsProvider2ForLG.java:374)
01-06 18:46:45.207 E/AndroidRuntime(25656): at com.android.providers.contacts.ContactsProvider2$1.handleMessage(ContactsProvider2.java:748)
01-06 18:46:45.207 E/AndroidRuntime(25656): at android.os.Handler.dispatchMessage(Handler.java:102)
01-06 18:46:45.207 E/AndroidRuntime(25656): at android.os.Looper.loop(Looper.java:135)
01-06 18:46:45.207 E/AndroidRuntime(25656): at android.os.HandlerThread.run(HandlerThread.java:61)
01-06 18:46:45.207 E/AndroidRuntime(25656): Caused by: android.os.TransactionTooLargeException
01-06 18:46:45.207 E/AndroidRuntime(25656): at android.os.BinderProxy.transactNative(Native Method)
01-06 18:46:45.207 E/AndroidRuntime(25656): at android.os.BinderProxy.transact(Binder.java:496)
01-06 18:46:45.207 E/AndroidRuntime(25656): at android.content.pm.IPackageManager$Stub$Proxy.queryContentProviders(IPackageManager.java:2816)
01-06 18:46:45.207 E/AndroidRuntime(25656): at android.app.ApplicationPackageManager.queryContentProviders(ApplicationPackageManager.java:694)
01-06 18:46:45.207 E/AndroidRuntime(25656): ... 11 more
Root cause:
The system calls
pm.queryContentProviders(null, 0, PackageManager.GET_META_DATA);
which requests meta-data of all providers in all packages in the system.
This can exceed the maximum trasnaction size.
the theoretical maximum should be much larger than app's usage. Most app's serialized version is ~5-10k, which leaves space for ~100-200 packages.
However, some apps (gms, plus, facebook) use a lot of providers, processes and meta-data in their manifest, and the serialized version is much larger arround 100k
On my Nexus 5 (5.0), the transaction size before installing external apps is ~600k - this means that there's a room for about 3-4 apps like google plus before the device becomes unusable.
Solution:
instead of calling
pm.queryContentProviders(null, 0, PackageManager.GET_META_DATA);
one should do:
List<PackageInfo> pkgs = pm.getInstalledPackages(0);
for (PackageInfo pkg : pkgs) {
PackageInfo provinfo = pm.getPackageInfo(pkg.packageName, PackageManager.GET_META_DATA|PackageManager.GET_PROVIDERS);
if ( provinfo==null || provinfo.providers==null ) {
continue;
}
//use provinfo.providers
}
This way, we don't load the entire [potentially] huge providers info data into memory at once, but instead package-by-package.
(the whole purpose of this is to find which provider has CONTACT_DIRECTORY_META_DATA)