Thanks for your reply.

In fact i use a similar render setup than you describe for your
approach. The only difference is that i load my stuff in
onSurfaceChanged. But i was still not able to pin point the problem. I
will try to reduce my render logic as much as i can to nail it down
but that didn't help on my last attempts.

Any other insights are most welcome.

Thanks
Moritz

On 7 Feb., 22:38, Robert Green <[email protected]> wrote:
> My first guess would be that you are passing a null buffer to a gl
> array method.
>
> What you want to do is:
>
> Activity.onPause() -> pause your logic thread and call
> GLSurfaceView.onPause()
> Activity.onResume() -> resume your logic thread and call
> GLSurfaceView.onResume()
> GLSurfaceView.onSurfaceChanged() -> Set "not loaded" to true
> GLSurfaceView.onDraw()
> if "not loaded" {
>   load
>   "not loaded" = false}
>
> draw.
>
> That's how I handle it and I have no issues.  I do some "ready-wait"
> sync stuff between the renderer and the logic thread so the game logic
> always waits for the renderer to be ready to draw before it starts
> doing anything important.  When I say load, I mean load anything that
> goes into VRAM.  Textures and Buffer objects are the main things.  I
> do my loading in onDraw() so that I can show a progress meter and
> because it makes it easy to sync stuff that way.
>
> On Feb 7, 4:54 am, Moritz Post <[email protected]> wrote:
>
> > Hi folks
>
> > I am having difficulties with the lifecycle of the opengl context.
> > While rendering my scene and the user hits the back button, home
> > button or another application opens in front of my application, my app
> > is still running in the background.
>
> > So when my application comes to the foreground later on (user
> > relaunches it or the app that was opened on top of it finishes), my
> > application crashes and leaves me nothing but a GL stack trace which i
> > can't properly decipher.
>
> > For rendering i use the GLSurfaceView and therefore delegate the
> > onPause and onResume. The crash happens on the first call to
> > glDrawElements(..).
>
> > I have tried to reload my resource (geometry/textures etc.) on
> > onSurfaceChanged but with or without reloading... The problem
> > persists.
>
> > This behavior can be observed on all AVD versions of the emulator as
> > well as on the G1.
>
> > Here is the gl stacktrace i get. Any help would be greatly
> > appreciated.
>
> > Thanks
> > Moritz
>
> > 02-07 10:33:26.768: INFO/DEBUG(28): *** *** *** *** *** *** *** ***
> > *** *** *** *** *** *** *** ***
> > 02-07 10:33:26.778: INFO/DEBUG(28): Build fingerprint: 'generic/
> > google_sdk/generic/:2.1/ERD79/22607:eng/test-keys'
> > 02-07 10:33:26.778: INFO/DEBUG(28): pid: 403, tid: 410  >>>
> > com.comp.app <<<
> > 02-07 10:33:26.788: INFO/DEBUG(28): signal 11 (SIGSEGV), fault addr
> > 00000000
> > 02-07 10:33:26.788: INFO/DEBUG(28):  r0 00001401  r1 0000007e  r2
> > 00000000  r3 00001403
> > 02-07 10:33:26.788: INFO/DEBUG(28):  r4 0041d6c0  r5 00000000  r6
> > 0000007e  r7 0041d6c0
> > 02-07 10:33:26.788: INFO/DEBUG(28):  r8 00000000  r9 0000007b  10
> > 00000000  fp 00137d10
> > 02-07 10:33:26.798: INFO/DEBUG(28):  ip 00000000  sp 46b3bd48  lr
> > acc86014  pc acc850a0  cpsr 80000010
> > 02-07 10:33:27.368: INFO/DEBUG(28):          #00  pc 000050a0  /system/
> > lib/egl/libGLES_android.so
> > 02-07 10:33:27.378: INFO/DEBUG(28):          #01  pc 00006010  /system/
> > lib/egl/libGLES_android.so
> > 02-07 10:33:27.388: INFO/DEBUG(28):          #02  pc 0000f1f4  /system/
> > lib/libdvm.so
> > 02-07 10:33:27.388: INFO/DEBUG(28): code around pc:
> > 02-07 10:33:27.388: INFO/DEBUG(28): acc85090 5affffde e8bd87f0
> > e1a05002 e3a0a000
> > 02-07 10:33:27.388: INFO/DEBUG(28): acc850a0 e5d51000 e1a00004
> > ebffff4a e5d51001
> > 02-07 10:33:27.398: INFO/DEBUG(28): acc850b0 e1a06000 e1a00004
> > ebffff46 e5d51002
> > 02-07 10:33:27.398: INFO/DEBUG(28): code around lr:
> > 02-07 10:33:27.408: INFO/DEBUG(28): acc86004 e0845105 e1a02008
> > e1a0e00f e595f2c0
> > 02-07 10:33:27.408: INFO/DEBUG(28): acc86014 e8bd81f0 e8bd81f0
> > e597098c e3a01b01
> > 02-07 10:33:27.408: INFO/DEBUG(28): acc86024 e281c008 e150000c
> > 1affffe1 eafffff7
> > 02-07 10:33:27.418: INFO/DEBUG(28): stack:
> > 02-07 10:33:27.418: INFO/DEBUG(28):     46b3bd08  3f800000
> > 02-07 10:33:27.418: INFO/DEBUG(28):     46b3bd0c  00000000
> > 02-07 10:33:27.418: INFO/DEBUG(28):     46b3bd10  40600000
> > 02-07 10:33:27.428: INFO/DEBUG(28):     46b3bd14  3fc00000
> > 02-07 10:33:27.428: INFO/DEBUG(28):     46b3bd18  41a00000  /dev/
> > ashmem/dalvik-LinearAlloc (deleted)
> > 02-07 10:33:27.428: INFO/DEBUG(28):     46b3bd1c  3f800000
> > 02-07 10:33:27.438: INFO/DEBUG(28):     46b3bd20  000000af
> > 02-07 10:33:27.448: INFO/DEBUG(28):     46b3bd24  acf08c14  /system/
> > lib/libpixelflinger.so
> > 02-07 10:33:27.448: INFO/DEBUG(28):     46b3bd28  0041d6c0  [heap]
> > 02-07 10:33:27.448: INFO/DEBUG(28):     46b3bd2c  acf091ac  /system/
> > lib/libpixelflinger.so
> > 02-07 10:33:27.458: INFO/DEBUG(28):     46b3bd30  0041d6c0  [heap]
> > 02-07 10:33:27.458: INFO/DEBUG(28):     46b3bd34  acc9b850  /system/
> > lib/egl/libGLES_android.so
> > 02-07 10:33:27.458: INFO/DEBUG(28):     46b3bd38  00001100
> > 02-07 10:33:27.468: INFO/DEBUG(28):     46b3bd3c  acc9540b  /system/
> > lib/egl/libGLES_android.so
> > 02-07 10:33:27.468: INFO/DEBUG(28):     46b3bd40  df002777
> > 02-07 10:33:27.468: INFO/DEBUG(28):     46b3bd44  e3a070ad
> > 02-07 10:33:27.468: INFO/DEBUG(28): #00 46b3bd48  acc9b008  /system/
> > lib/egl/libGLES_android.so
> > 02-07 10:33:27.468: INFO/DEBUG(28):     46b3bd4c  acc9b018  /system/
> > lib/egl/libGLES_android.so
> > 02-07 10:33:27.468: INFO/DEBUG(28):     46b3bd50  0000007e
> > 02-07 10:33:27.468: INFO/DEBUG(28):     46b3bd54  0041d6c0  [heap]
> > 02-07 10:33:27.468: INFO/DEBUG(28):     46b3bd58  00000000
> > 02-07 10:33:27.468: INFO/DEBUG(28):     46b3bd5c  42f28e48
> > 02-07 10:33:27.468: INFO/DEBUG(28):     46b3bd60  42f28e30
> > 02-07 10:33:27.478: INFO/DEBUG(28):     46b3bd64  acc86014  /system/
> > lib/egl/libGLES_android.so
> > 02-07 10:33:27.478: INFO/DEBUG(28): #01 46b3bd68  46b3bda8
> > 02-07 10:33:27.478: INFO/DEBUG(28):     46b3bd6c  00000000
> > 02-07 10:33:27.478: INFO/DEBUG(28):     46b3bd70  42aadedc  /data/
> > dalvik-cache/sys...@framew...@[email protected]
> > 02-07 10:33:27.488: INFO/DEBUG(28):     46b3bd74  42f28e58
> > 02-07 10:33:27.488: INFO/DEBUG(28):     46b3bd78  46b3bd88
> > 02-07 10:33:27.488: INFO/DEBUG(28):     46b3bd7c  ad00f1f8  /system/
> > lib/libdvm.so
> > 02-07 10:33:28.908: DEBUG/Zygote(30): Process 403 terminated by signal
> > (11)

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to