signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) android android

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)


When Zygote throws a signal 11, that means some process attempted to access a forbidden memory zone. I suggest use android_print to check the zone where the program tried to access and failed, using DDMS.

If you are using OpenGL remember it works in an independent thread, so initialize all variables used by OpenGL on constructors to avoid this kind of problem. Try to test rending a test, then use your game code.


If you see SIGSEGV 11, code 1 with a call stack like libgles<blablabla...>, the first thing you should do is check the OpenGL/EGL initialization. Different GPUs on Android may or may not support some features you request during OpenGL initialization. You should look into that and try to find the function that fails,and add a code that will retry with working configuration parameters.


I had a similar issue, and I solved just clicking on "Build -> Refresh Linked C++ Library".

Maybe can be useful for someone else.