[android-developers] Re: Garbage Collection Infinit Loop: clamp GC FOR MALLOC Grow heap loop
I am still not 100% sure what caused it but i solved it as follows. I created a Service with a Handler. However that Handler was not in its own thread. So i had someting like: public class ImageUploadService extends IntentService { private Handler handler = new Handler() The service was not run in its own process. This caused the handler to be executed in the ui thread. The solution was to wrap the handler in a thread like this: class UploadLooperThread extends Thread { public Handler mHandler; public void run() { Looper.prepare(); mHandler = new Handler(); Looper.loop(); } } On Jul 8, 12:41 am, fadden fad...@android.com wrote: On Jul 6, 6:43 am, TjerkW tje...@gmail.com wrote: Basically this stops me from properly implementing a background file upload. Anybody has an idea what is going on here? Looks like theheapis full. What's taking up all that space? Is something catching and ignoring OOM? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
[android-developers] Re: Garbage Collection Infinit Loop: clamp GC FOR MALLOC Grow heap loop
On Jul 6, 6:43 am, TjerkW tje...@gmail.com wrote: Basically this stops me from properly implementing a background file upload. Anybody has an idea what is going on here? Looks like the heap is full. What's taking up all that space? Is something catching and ignoring OOM? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
[android-developers] Re: Garbage Collection Infinit Loop: clamp GC FOR MALLOC Grow heap loop
Basically this stops me from properly implementing a background file upload. Anybody has an idea what is going on here? On Jul 6, 12:02 pm, TjerkW tje...@gmail.com wrote: I have a Service which uploads a big file to a webserver. This works fine on the emulator (android 2.1). But if i run it on a Nexus One Froyo phone it starts out fine. But after a while it is in an infinite GC loop. The whole phone becomes unusable: 07-06 11:56:28.916: DEBUG/ImageUploadService(2351): onPictureUploadProgress 60 07-06 11:56:28.987: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 60 07-06 11:56:28.987: DEBUG/ImageUploadService(2351): onPictureUploadProgress 60 07-06 11:56:29.057: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 60 07-06 11:56:29.057: DEBUG/ImageUploadService(2351): onPictureUploadProgress 60 07-06 11:56:29.127: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 61 07-06 11:56:29.127: DEBUG/ImageUploadService(2351): onPictureUploadProgress 61 07-06 11:56:29.196: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 61 07-06 11:56:29.196: DEBUG/ImageUploadService(2351): onPictureUploadProgress 61 07-06 11:56:29.476: INFO/dalvikvm-heap(1872): Clamp target GC heap from 25.533MB to 24.000MB 07-06 11:56:29.476: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 14048 objects / 515832 bytes in 240ms 07-06 11:56:29.497: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 61 07-06 11:56:29.497: DEBUG/ImageUploadService(2351): onPictureUploadProgress 61 07-06 11:56:29.567: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 61 07-06 11:56:29.567: DEBUG/ImageUploadService(2351): onPictureUploadProgress 61 07-06 11:56:29.847: INFO/dalvikvm-heap(1872): Clamp target GC heap from 25.791MB to 24.000MB 07-06 11:56:29.847: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 6001 objects / 217168 bytes in 235ms 07-06 11:56:29.877: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 62 07-06 11:56:29.877: DEBUG/ImageUploadService(2351): onPictureUploadProgress 62 07-06 11:56:30.157: INFO/dalvikvm-heap(1872): Clamp target GC heap from 25.911MB to 24.000MB 07-06 11:56:30.157: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 2591 objects / 92632 bytes in 241ms 07-06 11:56:30.407: INFO/dalvikvm-heap(1872): Clamp target GC heap from 25.964MB to 24.000MB 07-06 11:56:30.407: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 1044 objects / 36816 bytes in 224ms 07-06 11:56:30.407: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 62 07-06 11:56:30.407: DEBUG/ImageUploadService(2351): onPictureUploadProgress 62 07-06 11:56:30.657: INFO/dalvikvm-heap(1872): Clamp target GC heap from 25.982MB to 24.000MB 07-06 11:56:30.657: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 509 objects / 18232 bytes in 232ms 07-06 11:56:30.897: INFO/dalvikvm-heap(1872): Clamp target GC heap from 26.000MB to 24.000MB 07-06 11:56:30.897: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 0 objects / 0 bytes in 240ms 07-06 11:56:30.897: INFO/dalvikvm-heap(1872): Clamp target GC heap from 24.000MB to 24.000MB 07-06 11:56:30.897: INFO/dalvikvm-heap(1872): Grow heap (frag case) to 24.000MB for 28-byte allocation 07-06 11:56:31.136: INFO/dalvikvm-heap(1872): Clamp target GC heap from 26.000MB to 24.000MB 07-06 11:56:31.136: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 0 objects / 0 bytes in 233ms 07-06 11:56:31.136: INFO/dalvikvm-heap(1872): Clamp target GC heap from 24.000MB to 24.000MB 07-06 11:56:31.136: INFO/dalvikvm-heap(1872): Grow heap (frag case) to 24.000MB for 24-byte allocation 07-06 11:56:31.377: INFO/dalvikvm-heap(1872): Clamp target GC heap from 26.000MB to 24.000MB 07-06 11:56:31.377: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 0 objects / 0 bytes in 245ms 07-06 11:56:31.377: INFO/dalvikvm-heap(1872): Clamp target GC heap from 24.000MB to 24.000MB 07-06 11:56:31.377: INFO/dalvikvm-heap(1872): Grow heap (frag case) to 24.000MB for 28-byte allocation 07-06 11:56:31.617: INFO/dalvikvm-heap(1872): Clamp target GC heap from 26.000MB to 24.000MB 07-06 11:56:31.617: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 0 objects / 0 bytes in 234ms 07-06 11:56:31.617: INFO/dalvikvm-heap(1872): Clamp target GC heap from 24.000MB to 24.000MB 07-06 11:56:31.617: INFO/dalvikvm-heap(1872): Grow heap (frag case) to 24.000MB for 28-byte allocation 07-06 11:56:31.847: INFO/dalvikvm-heap(1872): Clamp target GC heap from 26.000MB to 24.000MB 07-06 11:56:31.847: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 0 objects / 0 bytes in 234ms 07-06 11:56:31.847: INFO/dalvikvm-heap(1872): Clamp target GC heap from 24.000MB to 24.000MB 07-06 11:56:31.847: INFO/dalvikvm-heap(1872): Grow heap (frag case) to 24.000MB for 28-byte allocation 07-06 11:56:32.097: INFO/dalvikvm-heap(1872): Clamp target GC heap from 26.000MB to 24.000MB 07-06 11:56:32.097: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 1 objects / 32 bytes in 243ms 07-06 11:56:32.097:
[android-developers] Re: Garbage Collection Infinit Loop: clamp GC FOR MALLOC Grow heap loop
TjerkW: I am wondering, are you using sockets for this type of application? I have run into a similar problem where a front-end application written on Android in Java connects through a socket to a back-end server (not a Service, in Android terms) written in C. During stress-testing, I killed my server to see how the app would react. When I did this, the device would flood logcat with GCC freed blah blah blah. This was because I had a separate thread which ran once it connected, it would send a request for data, expecting to receive something back from a server that was no longer there. Perhaps your application or web server believes it is still connected, has a process running that is trying to send/receive data, or similar. Regards, sws-vinpa. On Jul 6, 9:43 am, TjerkW tje...@gmail.com wrote: Basically this stops me from properly implementing a background file upload. Anybody has an idea what is going on here? On Jul 6, 12:02 pm, TjerkW tje...@gmail.com wrote: I have a Service which uploads a big file to a webserver. This works fine on the emulator (android 2.1). But if i run it on a Nexus One Froyo phone it starts out fine. But after a while it is in an infinite GC loop. The whole phone becomes unusable: 07-06 11:56:28.916: DEBUG/ImageUploadService(2351): onPictureUploadProgress 60 07-06 11:56:28.987: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 60 07-06 11:56:28.987: DEBUG/ImageUploadService(2351): onPictureUploadProgress 60 07-06 11:56:29.057: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 60 07-06 11:56:29.057: DEBUG/ImageUploadService(2351): onPictureUploadProgress 60 07-06 11:56:29.127: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 61 07-06 11:56:29.127: DEBUG/ImageUploadService(2351): onPictureUploadProgress 61 07-06 11:56:29.196: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 61 07-06 11:56:29.196: DEBUG/ImageUploadService(2351): onPictureUploadProgress 61 07-06 11:56:29.476: INFO/dalvikvm-heap(1872): Clamp target GC heap from 25.533MB to 24.000MB 07-06 11:56:29.476: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 14048 objects / 515832 bytes in 240ms 07-06 11:56:29.497: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 61 07-06 11:56:29.497: DEBUG/ImageUploadService(2351): onPictureUploadProgress 61 07-06 11:56:29.567: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 61 07-06 11:56:29.567: DEBUG/ImageUploadService(2351): onPictureUploadProgress 61 07-06 11:56:29.847: INFO/dalvikvm-heap(1872): Clamp target GC heap from 25.791MB to 24.000MB 07-06 11:56:29.847: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 6001 objects / 217168 bytes in 235ms 07-06 11:56:29.877: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 62 07-06 11:56:29.877: DEBUG/ImageUploadService(2351): onPictureUploadProgress 62 07-06 11:56:30.157: INFO/dalvikvm-heap(1872): Clamp target GC heap from 25.911MB to 24.000MB 07-06 11:56:30.157: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 2591 objects / 92632 bytes in 241ms 07-06 11:56:30.407: INFO/dalvikvm-heap(1872): Clamp target GC heap from 25.964MB to 24.000MB 07-06 11:56:30.407: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 1044 objects / 36816 bytes in 224ms 07-06 11:56:30.407: VERBOSE/ HyvesUpload::mediaUpload::onProgress(2351): progress: 62 07-06 11:56:30.407: DEBUG/ImageUploadService(2351): onPictureUploadProgress 62 07-06 11:56:30.657: INFO/dalvikvm-heap(1872): Clamp target GC heap from 25.982MB to 24.000MB 07-06 11:56:30.657: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 509 objects / 18232 bytes in 232ms 07-06 11:56:30.897: INFO/dalvikvm-heap(1872): Clamp target GC heap from 26.000MB to 24.000MB 07-06 11:56:30.897: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 0 objects / 0 bytes in 240ms 07-06 11:56:30.897: INFO/dalvikvm-heap(1872): Clamp target GC heap from 24.000MB to 24.000MB 07-06 11:56:30.897: INFO/dalvikvm-heap(1872): Grow heap (frag case) to 24.000MB for 28-byte allocation 07-06 11:56:31.136: INFO/dalvikvm-heap(1872): Clamp target GC heap from 26.000MB to 24.000MB 07-06 11:56:31.136: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 0 objects / 0 bytes in 233ms 07-06 11:56:31.136: INFO/dalvikvm-heap(1872): Clamp target GC heap from 24.000MB to 24.000MB 07-06 11:56:31.136: INFO/dalvikvm-heap(1872): Grow heap (frag case) to 24.000MB for 24-byte allocation 07-06 11:56:31.377: INFO/dalvikvm-heap(1872): Clamp target GC heap from 26.000MB to 24.000MB 07-06 11:56:31.377: DEBUG/dalvikvm(1872): GC_FOR_MALLOC freed 0 objects / 0 bytes in 245ms 07-06 11:56:31.377: INFO/dalvikvm-heap(1872): Clamp target GC heap from 24.000MB to 24.000MB 07-06 11:56:31.377: INFO/dalvikvm-heap(1872): Grow heap (frag case) to 24.000MB for 28-byte allocation 07-06 11:56:31.617: INFO/dalvikvm-heap(1872): Clamp target GC heap from 26.000MB to