OpenGL error on backing from minimized state

Hi, i can’t deal with last error in my android application. When i minimizing application and then back to it i got this error:

11-22 21:26:36.402: W/dalvikvm(912): threadid=11: thread exiting with uncaught exception (group=0x40a71930)
11-22 21:26:36.472: W/EGL_emulation(912): eglSurfaceAttrib not implemented
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): SEVERE Exception thrown in Thread[GLThread 86,5,main]
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): com.jme3.renderer.RendererException: An OpenGL error has occurred: invalid value
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.renderer.android.RendererUtil.checkGLError(RendererUtil.java:49)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.renderer.android.OGLESShaderRenderer.updateUniform(OGLESShaderRenderer.java:655)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.renderer.android.OGLESShaderRenderer.updateShaderUniforms(OGLESShaderRenderer.java:769)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.renderer.android.OGLESShaderRenderer.setShader(OGLESShaderRenderer.java:973)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.material.Material.render(Material.java:1064)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.niftygui.RenderDeviceJme.renderImage(RenderDeviceJme.java:303)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.render.ScalingRenderDevice.renderImage(ScalingRenderDevice.java:103)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.render.image.renderstrategy.ResizeStrategy.render(ResizeStrategy.java:24)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.render.image.CompoundImageMode.render(CompoundImageMode.java:41)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.render.NiftyImage.render(NiftyImage.java:54)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.render.NiftyRenderEngineImpl.renderImage(NiftyRenderEngineImpl.java:242)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.elements.render.ImageRenderer.render(ImageRenderer.java:30)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.elements.Element.renderElement(Element.java:735)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.elements.Element.render(Element.java:713)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.elements.Element.renderInternalChildElements(Element.java:752)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.elements.Element.renderChildren(Element.java:745)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.elements.Element.render(Element.java:723)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.screen.Screen.renderLayers(Screen.java:316)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.Nifty.render(Nifty.java:322)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.niftygui.NiftyJmeDisplay.postQueue(NiftyJmeDisplay.java:246)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:979)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.renderer.RenderManager.render(RenderManager.java:1035)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.app.SimpleApplication.update(SimpleApplication.java:252)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.app.AndroidHarness.update(AndroidHarness.java:467)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.system.android.OGLESContext.onDrawFrame(OGLESContext.java:349)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1516)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

Probably i I miss something but renderer exception isn’t very clear for me. This is my MainActivity.java:

[java]
public class MainActivity extends AndroidHarness {

private static float gravity = 0;
private static int baseSound = 0;
private static final float multiplier = (float) (FastMath.PI * 0.05);

public static SensorManager mSensorManager;
public static Sensor mAkcel;

@Override
public void onCreate(Bundle savedInstanceState) {

	exitDialogTitle = "To quit press yes";
	exitDialogMessage = "";
	eglConfigType = ConfigType.FASTEST;
	finishOnAppStop = false;
	// audioRendererType = AppSettings.ANDROID_MEDIAPLAYER;
	audioRendererType = AppSettings.ANDROID_OPENAL_SOFT;
	mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
	mAkcel = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
	screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
	app = (TrumpetJME) getJmeApplication();
	JmeAndroidSystem.setActivity(getParent());
	LogManager.getLogManager().getLogger("").setLevel(Level.ALL);		
	super.onCreate(savedInstanceState);
	

}	
public MainActivity() {
	appClass = kamil.uchnast.trumpetapp.TrumpetJME.class.getName();
}

@Override
protected void onResume() {
	mSensorManager.registerListener(sensor, mAkcel,
			SensorManager.SENSOR_DELAY_GAME);
	super.onResume();
}

@Override
public void onPause() {
	mSensorManager.unregisterListener(sensor);
	super.onPause();
	
}

public static void exit(){
	JmeAndroidSystem.getActivity().finish();
}

public static SensorEventListener sensor = new SensorEventListener() {

	public void onAccuracyChanged(Sensor sensor, int accuracy) {
	}

	public void onSensorChanged(SensorEvent event) {
		float temp = 0.8f * gravity + (1 - 0.8f) * event.values[1];
		gravity = temp;
		TrumpetJME.setGravity(temp * multiplier);

		int podstawaTemp;
		if (gravity < -6.67) {
			podstawaTemp = 1;
		} else if (gravity < -3.34) {
			podstawaTemp = 2;
		} else if (gravity < 0) {
			podstawaTemp = 3;
		} else if (gravity < 3.34) {
			podstawaTemp = 4;
		} else if (gravity < 6.67) {
			podstawaTemp = 5;
		} else {
			podstawaTemp = 6;
		}

		if (baseSound != podstawaTemp) {
			TrumpetJME.setWysokośćDź(podstawaTemp);
			baseSound = podstawaTemp;
		}
	}
};

}
[/java]

App will be free and i hope you can see it soon :slight_smile:
Thank you for any help.

So the application runs fine until you leave it then come back to it?

I vaguely remember the android guys working on some problems along those lines a while ago. What version of jme are you using and have you tried the latest?

Yes, it crash only when i back to it. I updated the engine and got more errors so firstly i try to fix them… i was using jMonkeyEngine 3.0.0 RC2