I have this strange bug, and found nothing about a possible solution to it. The problem always appears randomly after playing around a bit with my app. The app runs perfectly on almost all devices. Still one of the devices on which this issue is present is running CM 7.1.0 and I know that a lot of CM7 users were complaining about similar problems.
Unfortunately I have some users that had the same issue with the app, but I don't know if they were using CM7 or not. Since I wasn't able to reproduce this error in other apps on the same ROM it must be related to something else.
As I've said before it appears totally random, so copying the source code doesn't makes no sense. Here's the log instead, hopefully someone already had the same problem and can help me out. Thanks.
msm7k.gralloc(1306): alloc mmap(fd=150, size=614400, prot=3) failed (Try again)
msm7k.gralloc(1306): gralloc failed err=Try again
GraphicBufferAllocator(1306): alloc(320, 480, 1, 00000033, ...) failed -11 (Try again)
GraphicBufferAllocator(1306): Allocated buffers:
GraphicBufferAllocator(1306): 0x20a8d0: 300.00 KiB | 320 ( 320) x 480 | 4 | 0x00000133
GraphicBufferAllocator(1306): 0x20c110: 531.25 KiB | 320 ( 320) x 425 | 1 | 0x00000133
GraphicBufferAllocator(1306): 0x292db0: 31.25 KiB | 320 ( 320) x 25 | 1 | 0x00000133
GraphicBufferAllocator(1306): 0x299568: 300.00 KiB | 320 ( 320) x 480 | 4 | 0x00000133
GraphicBufferAllocator(1306): 0x4a2288: 331.25 KiB | 320 ( 320) x 265 | 1 | 0x00000133
GraphicBufferAllocator(1306): 0x4b2518: 31.25 KiB | 320 ( 320) x 25 | 1 | 0x00000133
GraphicBufferAllocator(1306): Total allocated: 1525.00 KB
SurfaceFlinger(1306): Layer::requestBuffer(this=0x3a7618), index=0, w=320, h=480 failed (Try again)
Surface(7024): Surface (identity=224) requestBuffer(0, 0, 0, 0, 00000033) returned a buffer with a null handle
Surface(7024): getBufferLocked(0, 0, 0, 0, 00000033) failed (Out of memory)
Surface(7024): dequeueBuffer failed (Out of memory)
ViewRoot(7024): OutOfResourcesException locking surface
ViewRoot(7024): android.view.Surface$OutOfResourcesException
ViewRoot(7024): at android.view.Surface.lockCanvasNative(Native Method)
ViewRoot(7024): at android.view.Surface.lockCanvas(Surface.java:314)
ViewRoot(7024): at android.view.ViewRoot.draw(ViewRoot.java:1461)
ViewRoot(7024): at android.view.ViewRoot.performTraversals(ViewRoot.java:1263)
ViewRoot(7024): at android.view.ViewRoot.handleMessage(ViewRoot.java:1865)
ViewRoot(7024): at android.os.Handler.dispatchMessage(Handler.java:99)
ViewRoot(7024): at android.os.Looper.loop(Looper.java:130)
ViewRoot(7024): at android.app.ActivityThread.main(ActivityThread.java:3835)
ViewRoot(7024): at java.lang.reflect.Method.invokeNative(Native Method)
ViewRoot(7024): at java.lang.reflect.Method.invoke(Method.java:507)
ViewRoot(7024): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
ViewRoot(7024): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
ViewRoot(7024): at dalvik.system.NativeStart.main(Native Method)