283
« on: April 14, 2015, 02:45:48 pm »
So I got a new stacktrace...
java.lang.RuntimeException: [ 1428953336458 ] - ERROR: java.lang.RuntimeException: [ 1428953336457 ] - ERROR: java.lang.RuntimeException: [ 1428953336456 ] - ERROR: java.lang.RuntimeException: [ 1428953336450 ] - ERROR: Failed to load and compile fragment shaders!
at com.threed.jpct.Logger.log(Logger.java:206)
at com.threed.jpct.GLSLShader.loadProgram(GLSLShader.java:1077)
at com.threed.jpct.GLSLShader.<init>(GLSLShader.java:265)
at com.threed.jpct.GL20.<init>(GL20.java:124)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1440)
at com.threed.jpct.GLRenderer.init(GLRenderer.java:403)
at com.threed.jpct.GLRenderer.init(GLRenderer.java:384)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:94)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:119)
at com.aeroshark333.skinviewer.SkinActivity$ViewerRenderer.onSurfaceChanged(SkinActivity.java:1484)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1154)
at com.threed.jpct.Logger.log(Logger.java:206)
at com.threed.jpct.Logger.log(Logger.java:150)
at com.threed.jpct.GLSLShader.<init>(GLSLShader.java:269)
at com.threed.jpct.GL20.<init>(GL20.java:124)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1440)
at com.threed.jpct.GLRenderer.init(GLRenderer.java:403)
at com.threed.jpct.GLRenderer.init(GLRenderer.java:384)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:94)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:119)
at com.aeroshark333.skinviewer.SkinActivity$ViewerRenderer.onSurfaceChanged(SkinActivity.java:1484)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1154)
at com.threed.jpct.Logger.log(Logger.java:206)
at com.threed.jpct.Logger.log(Logger.java:138)
at com.threed.jpct.GLRenderer.init(GLRenderer.java:405)
at com.threed.jpct.GLRenderer.init(GLRenderer.java:384)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:94)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:119)
at com.aeroshark333.skinviewer.SkinActivity$ViewerRenderer.onSurfaceChanged(SkinActivity.java:1484)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1154)
at com.threed.jpct.Logger.log(Logger.java:206)
at com.threed.jpct.Logger.log(Logger.java:150)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:96)
at com.threed.jpct.FrameBuffer.<init>(FrameBuffer.java:119)
at com.aeroshark333.skinviewer.SkinActivity$ViewerRenderer.onSurfaceChanged(SkinActivity.java:1484)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1154)
Code:
public ViewerRenderer(final boolean use3dSword,
final boolean use2dSword, final boolean supportsEs2,
final TextureManager tM) {
// irrelevant code
GLSLShader shader = new GLSLShader(
getStringFromFile(R.raw.alphatest_vs),
getStringFromFile(R.raw.alphatest_fs));
// irrelevant code
}
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
// irrelevant code
this.frameBuffer = new FrameBuffer(width, height); //line 1484
// irrelevant code
}
private String getStringFromFile(final int id) {
final InputStream stream1 = getResources().openRawResource(id);
final BufferedReader reader = new BufferedReader(
new InputStreamReader(stream1));
String result = "";
try {
String line;
while ((line = reader.readLine()) != null) {
result += line + "\n";
}
} catch (final IOException e1) {
final InputStream stream2 = getResources().openRawResource(id);
result = Loader.loadTextFile(stream2);
try {
stream2.close();
} catch (IOException e2) {
// Doesn't matter
e2.printStackTrace();
}
if (result == "" || result == null) {
throw new RuntimeException(
"Could not get the String from the Resources", e1);
} else {
return result;
}
} finally {
try {
stream1.close();
reader.close();
} catch (IOException e3) {
// Doesn't matter
e3.printStackTrace();
}
}
return result;
}
EDIT:
Some side information:
- Crash happened on a Android 2.3.3 - 2.3.7 (Device 'name': h712a)
- The version of Skin Viewer 3D he used, does have the new shader loader.
- This stacktrace is new, I have not seen this one before... However, it sort of looks the same as the previous stacktrace... But somewhy FrameBuffer is involved this time? o.O
- Only one user (of the 82165 users (where 13948 active)) reported the crash with this stacktrace. The previous one was reported 9 times. (different users too)