Hello Mikael, Could you file a bug and attach a complete bug report (adb bugreport > bug.txt).
Thank you, mathias On Sep 1, 12:58 am, "mik...@tat" <[email protected]> wrote: > Hello! > > We are developing an application for a customer on new hardware and > have an issue with crashes/blinking/freezing when running GL > applications. > > What is worrying is that we recently discovered that this error is > reproducible not only when running our own program on the customer's > device, but also when running the APIDemos sample (that comes with > android-sdk-windows-1.5_r3) on a regular Android developer phone > (flashed with Android 1.5). > > To reproduce this crash we ran the APIdemos application on the dev > phone, navigated to Graphics->OpenGL ES, and started the Kube > application (any app in that menu will do). Then, in a very rapid > fashion, press the Off button on the device, followed by two presses > on the menu button to turn the device back on (or two presses on the > off button followed by one on the menu button). Repeat this n times > (sometimes 100 tries, sometimes 10...) quickly and irregularly > (basically, press off/menu buttons randomly). What happens eventually > is that we either get a crash (see below), or we see that the kube > application is either frozen or "blinking" (switches between two > previous frame back and forth). If, at this point, we turn the device > off again, eglTerminate is called by the system which then causes the > crash. > > Pressing lots of buttons quickly over and over to cause a crash might > seem like a bit of a pseudo issue but this is only a quick way of > reproducing an issue that happens anyway from time to time when > running a GL app (e.g. sometimes when leaving a GL app causing the > screen to turn off automatically and later pressing the menu button to > turn it on again, this can (though rarely) happen.) > > The crash output typically looks like this: > > D/EGL (13060): CONTEXT_LOST: Releasing GPU upon request from > SurfaceFlinger. > D/EGL.oem (13060): SMI region at virtual=0x458a8000, physical=0x0, > size=7340032 offset=0 > D/EGL.oem (13060): EBI1 region at virtual=0x45fa8000, > physical=0x16500000, size=8388608 offset=1228800 > D/EGL.oem (13060): REGS region at virtual=0x457a8000, > physical=0xa0000000, size=1048576, offset=0 > D/WindowManager( 60): I'm tired mEndcallBehavior=0x2 > D/GLLogger(13060): 0: eglInitialize() failed (EGL_CONTEXT_LOST) > I/ARMAssembler(13060): generated > scanline__00000097:03010104_00000000_00000000 [ 12 ipp] (43 ins) at > [0x2cc3f0:0x2cc49c] in 2380374 ns > D/KeyguardViewMediator( 60): wakeWhenReadyLocked(6) > D/KeyguardViewMediator( 60): handleWakeWhenReady(6) > D/KeyguardViewMediator( 60): pokeWakelock(5000) > I/DEBUG ( 4078): *** *** *** *** *** *** *** *** *** *** *** *** *** > *** *** * > ** > I/DEBUG ( 4078): Build fingerprint: 'android-devphone1/ > dream_devphone/dream/tr > out:1.5/CRB21/147201:userdebug/adp,test-keys' > I/DEBUG ( 4078): pid: 13060, tid: 13098 >>>com.example.android.apis > <<< > I/DEBUG ( 4078): signal 11 (SIGSEGV), fault addr 00000150 > I/DEBUG ( 4078): r0 00000000 r1 4570fd38 r2 00000001 r3 00000000 > I/DEBUG ( 4078): r4 002c7e70 r5 002c7e70 r6 ac708c74 r7 ac708ad0 > I/DEBUG ( 4078): r8 4570fda0 r9 41046f60 10 41046f4c fp 00000001 > I/DEBUG ( 4078): ip ac708bcc sp 4570fd38 lr 80442a2c pc > 80416790 cpsr 60000010 > I/DEBUG ( 4078): #00 pc 00016790 /system/lib/libhgl.so > I/DEBUG ( 4078): #01 lr 80442a2c /system/lib/libhgl.so > I/DEBUG ( 4078): stack: > I/DEBUG ( 4078): 4570fcf8 002cc168 [heap] > I/DEBUG ( 4078): 4570fcfc afe0e940 /system/lib/libc.so > I/DEBUG ( 4078): 4570fd00 002c8338 [heap] > I/DEBUG ( 4078): 4570fd04 afe0e940 /system/lib/libc.so > I/DEBUG ( 4078): 4570fd08 00002bb0 > ... > D/SurfaceFlinger( 60): Screen about to return, flinger = 0x1841c8 > I/ActivityManager( 60): Process com.example.android.apis (pid 13060) > has died. > I/WindowManager( 60): WIN DEATH: Window{4381ba80 SurfaceView > paused=false} > > The faulty address is always the same (00000150). It seems to be > related to EGL_CONTEXT_LOST and eglInitialize failing. > > We have tried waiting for the context to return (surfaceCreated), but > it never happens at this point. Trying to call eglInitialize > repeatedly fails indefinitely. > > We do not know how to proceed with this problem at this point, and > would be very thankful for some help or input. Does loss of context > sometimes have to be treated in some manner we are not aware of? Is it > possible that the APIdemos sample has omitted to take care of this > special case as well? > > Note: Our own code, as well as the APIdemos 1.1 code, calls > eglInitialize and eglTerminate explicitly. In ApiDemos for 1.5, this > seems to have been overtaken by the GLSurfaceView class. However, the > crash log output looks exactly the same when running ApiDemos for 1.5, > even the complaints about eglInitialize failing is the same, so I am > assuming the above-mentioned methods are called implicitly. > > --------------------------------------------------------------------------- > --------- > Mikael Sollenborn @ The Astonishing Tribe --~--~---------~--~----~------------~-------~--~----~ unsubscribe: [email protected] website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---
