Hardware skinning exception

When rendering Jaime on Android i see a model which looks like it has very messed up vertices and only a normal map visible.
In the logs I can see this exception:

  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
  WARNING Could not enable HW skinning due to shader compile error:


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
  com.jme3.renderer.RendererException: Shader failed to link, shader:Shader[numSources=2, numUniforms=16, shaderSources=[ShaderSource[name=Common/MatDefs/Light/Lighting.frag, defines, type=Fragment, language=GLSL100], ShaderSource[name=Common/MatDefs/Light/Lighting.vert, defines, type=Vertex, language=GLSL100]]]


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
  --From Vertex Shader:


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
  Error: uniform variables in vertex shader do not fit in 256 vectors.


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
  --From Fragment Shader:


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.renderer.opengl.GLRenderer.updateShaderData(GLRenderer.java:1200)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.renderer.opengl.GLRenderer.setShader(GLRenderer.java:1212)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.material.Material.preload(Material.java:1062)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.renderer.RenderManager.preloadScene(RenderManager.java:617)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.renderer.RenderManager.preloadScene(RenderManager.java:608)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.animation.SkeletonControl.testHardwareSupported(SkeletonControl.java:162)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.animation.SkeletonControl.controlRender(SkeletonControl.java:276)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.scene.control.AbstractControl.render(AbstractControl.java:119)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.scene.Spatial.runControlRender(Spatial.java:681)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.renderer.RenderManager.renderSubScene(RenderManager.java:673)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.renderer.RenderManager.renderSubScene(RenderManager.java:683)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.renderer.RenderManager.renderScene(RenderManager.java:662)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1019)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.renderer.RenderManager.render(RenderManager.java:1070)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.app.SimpleApplication.update(SimpleApplication.java:260)


  12:38:04.705
  14074
  com.mindemia.jme_cardboard_examples
  WARN
  com.jme3.animation.SkeletonControl
      at com.jme3.app.AndroidHarnessFragment.update(AndroidHarnessFragment.java:581)

Jaime has rendered fine before (in january I believe)

The Jaime model wasn’t really designed for mobile.
It is quite complex, with more than 100 bones and non-uniform scaling transforms. There’s a simplified version of the model that only uses 30~ or so bones, but it is not available in the jME3 repo.