M66B / XPrivacy

XPrivacy - The ultimate, yet easy to use, privacy manager
http://forum.xda-developers.com/xposed/modules/xprivacy-ultimate-android-privacy-app-t2320783
GNU General Public License v3.0
2.08k stars 526 forks source link

Out of memory #329

Closed unclefab closed 11 years ago

unclefab commented 11 years ago

I'm on v 1.77. When I try to import my settings back up file it stops like in the middle of the process and gives me an java.lang.OutOfMemory error.

cobaltdr commented 11 years ago

I just realised XDA won't let me attach files. What is your email address again?

M66B commented 11 years ago

I don't want to post it here, you can either use this contact form: http://forum.faircode.eu/contact/ or send me an XDA PM and I will reply with my address.

M66B commented 11 years ago

@cobaltdr

I have thoroughly studied the log file you have sent me. The import starts with 93% of the available memory in use.

07-26 07:59:39.365 D/dalvikvm(25231): GC_CONCURRENT freed 1971K, 7% free 48471K/51911K, paused 4ms+7ms, total 44ms

The import itself succeeds and the used memory reaches 97% during the import, meaning that the import itself does use only a little bit of memory (4% of the total memory).

After that you get an out of memory exception while XPrivacy builds the application list again. With 93-97% of memory in use it is probably not possible to avoid this.

You will have to make some more memory available by uninstalling other memory hungry applications.

I will try to reduce the memory footprint of XPrivacy in the next release, but don't expect wonders.

cobaltdr commented 11 years ago

I wonder if some of the apps I have have got leaks. I thought the Linux kernel took care of the memory management issue along with the Java VM. Do you have any recommendations regarding an app that would allow me to find out what's hogging my memory? I used to use top on Linux, but the busybox version on Android is not this intuitive.

M66B commented 11 years ago

@cobaltdr you are the first one to get this: XPrivacy that should use less resources (and memory) http://d-h.st/L88

Read the changelog first: https://github.com/M66B/XPrivacy#changelog

cobaltdr commented 11 years ago

Wow. Thanks!

cobaltdr commented 11 years ago

Now Xprivacy GUI just closes in the background, while the 'ongoing notification' is frozen on one app. The only way to get rid of it is to kill the process. I am not able to give you a logcat just now as I am about to head off to work. Earlier versions of Xprivacy used to exhibit the same behaviour, around version 0.4x, I think - when you introduced 'all'.

Second and subsequent attempts gives me the out of memory error like previous crashes. I really need to find the equivalent of top for Android. The console busybox version is not very useful.

M66B commented 11 years ago

@cobaltdr could you please try version 1.7.15 and then 1.7.16 (last one is newer than I previously linked) and provide a log if you still get an out of memory error?

cobaltdr commented 11 years ago

My comments were actually for 1.7.16. I'm trying 1.7.15 now. What app can I use to check memory use by apps? First import on 1.7.15 completely froze my phone part of the way through the procedure.

M66B commented 11 years ago

Version 1.7.18 might solve your problem.

cobaltdr commented 11 years ago

Uh oh. No.

Never had this happen with Xprivacy before.

Import causes reboot then bootloops, had to flash remover.

cobaltdr commented 11 years ago

I had 1.7.17 before that happened. 1.7.17 only gives out of memory. 1.7.18 bootloops. Had to flash remover. Reinstalling 1.7.17 still bootlooped. Had to flash remover again. 1.7.16 now allows phone to boot.

M66B commented 11 years ago

I see no change which can cause boot loops. Can you give me a logcat of the boot loop?

cobaltdr commented 11 years ago

That will require adb, I have no setup where I can run adb unfortunately. Reinstalling 1.7.17 after the bootloops have stopped now re allows the phone to boot with 1.7.17. I will see if I can get a logcat of 1.7.18 causing the initial crash.

cobaltdr commented 11 years ago

After 1.7.18 bootloops, flashing the remover recovers the system. However, every subsequent install of Xprivacy of any version down to 1.7.15 carries on causing the bootloop, until after installation of the apk you attempt to run Xprivacy. It complains that it is not enabled in Xposed, and when you close that dialog, it is refreshing its app list. Usage data and settings appear preserved. Rebooting after that gives a working phone and Xprivacy.

I am not on my laptop at the moment, so I cannot give you a logcat, but I will mail you them as soon as I get a chance. 1.7.18 is a no-no for me. Had never had any bootloops before.

M66B commented 11 years ago

There is already a 1.7.19

cobaltdr commented 11 years ago

Haha. I'm almost scared to upgrade now. I really appreciate the effort you're putting into this app, and hope more people realise this and contribute.

cobaltdr commented 11 years ago

1.7.19 causes a crash and reboot when importing, but no bootloop. Phone appears to take a bit longer to boot. However, 1.7.19 is really, really slick. Nice interface. Usage data is very well integrated. I will try to get a catalog of this when I get a chance. By tomorrow hopefully. Oh and the app list loads faster, did you do something to that?

cobaltdr commented 11 years ago

1.7.20 just fails, notification freezes. Most of the apps I have taking up memory are system apps.

cobaltdr commented 11 years ago

1.7.22 still has the out of memory issue, but only after trying to export. Doesn't the dalvik vm deal with memory management? Before import I have at least 100MB free.

GhostlyCrowd commented 11 years ago

You've probably said before but whats your devices specs for ram and storage. also

adb shell "cat /system/build.prop | grep heap"

see what your heaps are.

May help give M66B a better idea of your memory circumstances.

cobaltdr commented 11 years ago

Galaxy S3 GT-I9300 with 1GB RAM.

dalvik.vm.heapstartsize=8m dalvik.vm.heapgrowthlimit=64m dalvik.vm.heapsize=128m

GhostlyCrowd commented 11 years ago

do this

adb shell "setprop dalvik.vm.heapsize 256m"

dont reboot and try seeing if you can make xprivacy run out of memory.

my heap is 512mb but i have 2gb of ram. 128 seems low.

GhostlyCrowd commented 11 years ago

i edited it so make sure u refresh my commands were incorrect

GhostlyCrowd commented 11 years ago

also adb shell "setprop dalvik.vm.heapgrowthlimit 128m"

M66B commented 11 years ago

@cobaltdr as @GhostlyCrowd suggest you should really look into your configuration. There is little I can do anymore seen from the perspective of XPrivacy. Anything that could be improved is improved now. As soon as Dev-Host allows me, I will upload version 1.7.23, which runs the privacy provider in a separate process. This version will be available as beta version in the Play store in a few hours.

M66B commented 11 years ago

Version 1.7.23: http://d-h.st/f0D

cobaltdr commented 11 years ago

Set it to heapsize to 128m to decrease the frequency at which the Touchwiz UI was being killed off by the system.

Have adopted your values, but still crashes. I wonder why I'm the only one getting this.

M66B commented 11 years ago

@cobaltdr maybe you should try another ROM

cobaltdr commented 11 years ago

@M66B: thanks, I appreciate what you say. I'm not entirely sure how to modify my setup. I only have about 5-6 processes taking up memory other than stock Samsung bloat. Hehe. Killing stuff to free memory doesn't appear to help. I might try to split the XML file to see if that does anything.

cobaltdr commented 11 years ago

@M66B yeah, I've thought of that. I've been putting it off. It's a real shame Samsung have bloat. With their backing they could have produced more efficient solutions.

cobaltdr commented 11 years ago

Dammit. 1.7.23 bootloops again when importing. I will try to get logcats to post, but I need some sleep, been working all night.

M66B commented 11 years ago

With a bit of luck this version will solve the out of memory problem: http://forum.xda-developers.com/showpost.php?p=44078895&postcount=1956

cobaltdr commented 11 years ago

Took about 5 minutes, but 1.7.27 is the first version that has allowed me to import settings without problems.

pogovault commented 11 years ago

I also managed to import settings with 1.7.27 after long, long time. First attempt was disaster - need reboot and restore XPrivacy from backup. For second attempt I kill every app I could and deleted all XPrivacy data before import. So, it is better now, but I'm now afraid to install any new app or change any restrictions. Another thing: after importing, all accounts settings ("Select accounts to allow") are gone. I was under impression that export/import also preserve that info. Is this a bug or feature?

M66B commented 11 years ago

Accounts and contacts were not exported until so far. The just released version export accounts and contacts, but only imports them when it is the same device.

cobaltdr commented 11 years ago

People need to be aware that Xprivacy is exporting account and contact details to a text file. Is the data encrypted? They might otherwise inadvertently be distributing private data themselves.

M66B commented 11 years ago

You should know by now that I pay attention to every litlle detail ... ;-)