Hello Spasi,
it seems you have disabled tracking of Buffer objects passed to GL11.gl*Pointer. If the user app does not hold strong references to these then they can get GCed and cause a crash. One such case could be:
static FloatBuffer wrap(float[] arr) {
FloatBuffer buf = BufferUtils.createFloatBuffer(arr.length);
buf.put(arr).flip();
return buf;
}
....
GL11.glVertexPointer(3, 0, wrap(vertices));
GL11.glColorPointer(4, 0, wrap(colors));
GL11.glTexCoordPointer(2, 0, wrap(texcoords));
GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, vertices.length/3);
this should either be documented as invalid use case or the Buffer objects need to be tracked.
Ciao
Matthias