Bug 1304

Summary: Android Marshmallow 6.0 jogamp.opengl.es3.GLES3Impl.dispatch_glGetUniformIndices1 throws a fatal error
Product: [JogAmp] Jogl Reporter: Phil Jordan <p.j.nz>
Component: openglAssignee: Sven Gothel <sgothel>
Status: UNCONFIRMED ---    
Severity: normal CC: gouessej
Priority: P4    
Version: tbd   
Hardware: embedded_arm   
OS: linux   
Type: DEFECT SCM Refs:
Workaround: TRUE

Description Phil Jordan 2016-04-24 11:08:31 CEST
I was trying to use Uniform Buffer Objects, and in the end they work well, however you can't use 

 jogamp.opengl.es3.GLES3Impl.glGetUniformIndices(GLES3Impl.java:4210)

as it throws a fatal error as showen below.
To anyone else who encounters this my workaround was to declare teh uifrom block like this

layout ( std140, shared ) uniform FFP_Uniform_Block
{
 mat4 glProjectionMatrix;
 mat4 glProjectionMatrixInverse;
...

then output the offset positions of all the fields on my PC and hard code them into the code. Nasty but perfectly allowable and it works.



Begining of log showing correct setup:
04-24 10:57:42.199 14988-15521/com.ingenieur.ese.eseandroid D/JogAmp.NEWT: nativeVisualID 0x2
04-24 10:57:42.199 14988-15521/com.ingenieur.ese.eseandroid D/JogAmp.NEWT: requestedCaps: GLCaps[rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/8/0, dbl, mono  , hw, GLProfile[GLES2/GLES3.hw], on-scr[.]]
04-24 10:57:42.200 14988-15521/com.ingenieur.ese.eseandroid D/JogAmp.NEWT: chosenCaps   : GLCaps[egl cfg 0xb, vid 0x2: rgba 8/8/8/0, opaque, accum-rgba 0/0/0/0, dp/st/ms 24/8/0, dbl, mono  , hw, GLProfile[GLES2/GLES3.hw], on-scr[.], [0x45: GLES1, GLES2, GLES3, VG]]
04-24 10:57:42.201 14988-15521/com.ingenieur.ese.eseandroid D/JogAmp.NEWT: setupInputListener(enable true) - main-Display-.android_nil-1-EDT-1
04-24 10:57:42.203 14988-15521/com.ingenieur.ese.eseandroid D/JogAmp.NEWT: setupInputListener - enable GenericMotionListener - main-Display-.android_nil-1-EDT-1
04-24 10:57:42.204 14988-15521/com.ingenieur.ese.eseandroid D/JogAmp.NEWT: createNativeImpl X: eglDevice 0xc90abfe, EGLGraphicsDevice[type .egl, v1.4.0, connection decon, unitID 0, handle 0x1, owner true, NullToolkitLock[obj 0x274cf5f]], eglSurfaceHandle 0xffffffffb8de5430
04-24 10:57:42.205 14988-15521/com.ingenieur.ese.eseandroid D/JogAmp.NEWT: reconfigureWindowImpl.setFullscreen post creation (setContentView()) n/a
04-24 10:57:42.205 14988-15521/com.ingenieur.ese.eseandroid D/JogAmp.NEWT: requestFocusImpl: reparented true
04-24 10:57:42.205 14988-15521/com.ingenieur.ese.eseandroid D/JogAmp.NEWT: requestFocusImpl: reparented true
04-24 10:57:42.214 14988-15521/com.ingenieur.ese.eseandroid W/syserr: GLEventListenerinit
04-24 10:57:42.221 14988-14988/com.ingenieur.ese.eseandroid D/JogAmp.NEWT: surfaceChanged: f 2 -> 3, 1920x1080, current surfaceHandle: 0xffffffffb90ada70 - on thread main
04-24 10:57:42.225 14988-14988/com.ingenieur.ese.eseandroid E/System.err: monitorModeChanged: MonitorEvent[EVENT_MONITOR_MODE_CHANGED, source Monitor[Id 0x0 [primary], 101 x 61 mm, pixelScale [1.0, 1.0], viewport [ 0 / 0  1794 x 1080 ] [pixels], [ 0 / 0  1794 x 1080 ] [window], orig [Id 0x0, [ 1794 x 1080 pixels x 32 bpp ] @ 60.0 Hz, flags [], 90 degr], curr [Id 0x0, [ 1080 x 1794 pixels x 32 bpp ] @ 60.0 Hz, flags [], 90 degr], modeChanged false, modeCount 5], mode [Id 0x0, [ 1080 x 1794 pixels x 32 bpp ] @ 60.0 Hz, flags [], 90 degr], NEWTEvent[source:jogamp.newt.MonitorDeviceImpl, consumed false, when:1461488262223 d 2ms]]
04-24 10:57:42.241 14988-15521/com.ingenieur.ese.eseandroid W/sysout: setAnisotropicFilterDegree=4
04-24 10:57:42.287 14988-15521/com.ingenieur.ese.eseandroid W/syserr: 3D [dev] @VERSION_BASE@-@VERSION_SUFFIX@-experimental @BUILDTIME_VERBOSE@
04-24 10:57:42.599 14988-15521/com.ingenieur.ese.eseandroid W/syserr: Monitor detected: Monitor[Id 0x0 [primary], 101 x 61 mm, pixelScale [1.0, 1.0], viewport [ 0 / 0  1794 x 1080 ] [pixels], [ 0 / 0  1794 x 1080 ] [window], orig [Id 0x0, [ 1794 x 1080 pixels x 32 bpp ] @ 60.0 Hz, flags [], 90 degr], curr [Id 0x0, [ 1080 x 1794 pixels x 32 bpp ] @ 60.0 Hz, flags [], 90 degr], modeChanged false, modeCount 5]

<snip> various general output </snip>

04-24 10:57:42.700 14988-14988/com.ingenieur.ese.eseandroid D/JogAmp.NEWT: surfaceChanged: X
04-24 10:57:42.703 14988-14988/com.ingenieur.ese.eseandroid D/JogAmp.NEWT: surfaceRedrawNeeded  - on thread main
04-24 10:57:42.784 14988-14998/com.ingenieur.ese.eseandroid I/art: Background partial concurrent mark sweep GC freed 44135(2MB) AllocSpace objects, 27(1676KB) LOS objects, 40% free, 19MB/32MB, paused 5.854ms total 55.603ms
04-24 10:57:42.791 14988-14998/com.ingenieur.ese.eseandroid W/art: Suspending all threads took: 6.458ms
04-24 10:57:44.018 14988-14994/com.ingenieur.ese.eseandroid W/art: Suspending all threads took: 8.352ms
04-24 10:57:46.019 14988-14994/com.ingenieur.ese.eseandroid W/art: Suspending all threads took: 8.125ms
04-24 10:57:46.523 14988-14994/com.ingenieur.ese.eseandroid W/art: Suspending all threads took: 10.270ms
04-24 10:57:47.028 14988-14994/com.ingenieur.ese.eseandroid W/art: Suspending all threads took: 13.654ms
04-24 10:57:48.524 14988-14994/com.ingenieur.ese.eseandroid W/art: Suspending all threads took: 5.975ms
04-24 10:57:50.839 14988-14998/com.ingenieur.ese.eseandroid I/art: Background partial concurrent mark sweep GC freed 11156(682KB) AllocSpace objects, 6(184KB) LOS objects, 24% free, 48MB/64MB, paused 2.064ms total 124.953ms
04-24 10:57:52.036 14988-14994/com.ingenieur.ese.eseandroid W/art: Suspending all threads took: 10.562ms
04-24 10:57:53.550 14988-14994/com.ingenieur.ese.eseandroid W/art: Suspending all threads took: 17.694ms
04-24 10:57:53.910 14988-14998/com.ingenieur.ese.eseandroid I/art: Background sticky concurrent mark sweep GC freed 125301(5MB) AllocSpace objects, 13(676KB) LOS objects, 9% free, 58MB/64MB, paused 9.391ms total 64.649ms

<snip> various general output </snip>

Successful call to gl2es3.glGetActiveUniformBlockiv:
04-24 10:57:55.635 14988-15561/com.ingenieur.ese.eseandroid W/sysout: blockSize!! 704

Next line is call to gl2es3.glGetUniformIndices:

04-24 10:57:55.817 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448] JNI DETECTED ERROR IN APPLICATION: thread Thread[30,tid=15561,Runnable,Thread*=0xb91a0098,peer=0x1320c000,"J3D-Renderer-1"] using JNI after critical get
04-24 10:57:55.817 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]     in call to GetObjectArrayElement
04-24 10:57:55.817 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]     from void jogamp.opengl.es3.GLES3Impl.dispatch_glGetUniformIndices1(int, int, java.lang.String[], java.lang.Object, int, boolean, long)
04-24 10:57:55.817 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448] "J3D-Renderer-1" prio=5 tid=30 Runnable
04-24 10:57:55.817 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   | group="Java3D" sCount=0 dsCount=0 obj=0x1320c000 self=0xb91a0098
04-24 10:57:55.817 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   | sysTid=15561 nice=0 cgrp=default sched=0/0 handle=0x99d29930
04-24 10:57:55.817 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   | state=R schedstat=( 0 0 0 ) utm=181 stm=576 core=0 HZ=100
04-24 10:57:55.817 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   | stack=0x99c27000-0x99c29000 stackSize=1038KB
04-24 10:57:55.817 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   | held mutexes= "mutator lock"(shared held)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #00 pc 00373de1  /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::ArtMethod*, void*)+168)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #01 pc 00353457  /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+150)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #02 pc 0025d57d  /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+732)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #03 pc 0025dc55  /system/lib/libart.so (art::JavaVMExt::JniAbortV(char const*, char const*, std::__va_list)+64)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #04 pc 000fd751  /system/lib/libart.so (art::ScopedCheck::AbortF(char const*, ...)+32)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #05 pc 001045d5  /system/lib/libart.so (art::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::JniValueType*) (.constprop.96)+8224)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #06 pc 0010dae5  /system/lib/libart.so (art::CheckJNI::GetObjectArrayElement(_JNIEnv*, _jobjectArray*, int)+392)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #07 pc 0002c604  /data/app/com.ingenieur.ese.eseandroid-1/lib/arm/libjogl_mobile.so (Java_jogamp_opengl_es3_GLES3Impl_dispatch_1glGetUniformIndices1__II_3Ljava_lang_String_2Ljava_lang_Object_2IZJ+340)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #08 pc 0161e1a7  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void jogamp.opengl.es3.GLES3Impl.dispatch_glGetUniformIndices1(int, int, java.lang.String[], java.lang.Object, int, boolean, long)+178)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #09 pc 01683f13  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void jogamp.opengl.es3.GLES3Impl.glGetUniformIndices(int, int, java.lang.String[], java.nio.IntBuffer)+630)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #10 pc 006179cf  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (javax.media.j3d.JoglesContext$LocationData javax.media.j3d.JoglesPipeline.getLocs(javax.media.j3d.JoglesContext, com.jogamp.opengl.GL2ES2)+3250)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #11 pc 006134bd  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.JoglesPipeline.executeIndexedGeometryArrayVA(javax.media.j3d.Context, javax.media.j3d.GeometryArrayRetained, int, boolean, boolean, int, int, int, int, int, java.nio.FloatBuffer, java.nio.DoubleBuffer, java.nio.FloatBuffer, java.nio.ByteBuffer, java.nio.FloatBuffer, int, int[], java.nio.FloatBuffer[], int, int[], int, int, java.lang.Object[], int, int[], int[], int)+168)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #12 pc 00625c77  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.JoglesPipeline.executeIndexedGeometryVABuffer(javax.media.j3d.Context, javax.media.j3d.GeometryArrayRetained, int, boolean, boolean, int, int, int, int, int, java.nio.Buffer, java.nio.Buffer, float[], byte[], java.nio.FloatBuffer, int, int[], java.nio.FloatBuffer[], int, int[], int, int, java.lang.Object[], int, int[])+1530)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #13 pc 005c295f  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.IndexedGeometryArrayRetained.execute(javax.media.j3d.Canvas3D, javax.media.j3d.RenderAtom, boolean, boolean, float, int, boolean)+11610)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #14 pc 0087e92d  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.VertexArrayRenderMethod.renderGeo(javax.media.j3d.RenderAtomListInfo, javax.media.j3d.RenderMolecule, javax.media.j3d.Canvas3D)+328)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #15 pc 0087e6ed  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (boolean javax.media.j3d.VertexArrayRenderMethod.render(javax.media.j3d.RenderMolecule, javax.media.j3d.Canvas3D, javax.media.j3d.RenderAtomListInfo, int)+840)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #16 pc 007297e9  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (boolean javax.media.j3d.RenderMolecule.render(javax.media.j3d.Canvas3D, int, int)+884)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #17 pc 007dd263  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.TextureBin.renderList(javax.media.j3d.Canvas3D, int, javax.media.j3d.RenderMolecule)+230)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #18 pc 007dd0b7  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.TextureBin.render(javax.media.j3d.Canvas3D, javax.media.j3d.RenderMolecule)+106)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #19 pc 007dd01d  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.TextureBin.render(javax.media.j3d.Canvas3D)+64)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #20 pc 003dac09  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.AttributeBin.render(javax.media.j3d.Canvas3D)+388)
04-24 10:57:55.818 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #21 pc 0077c123  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.ShaderBin.render(javax.media.j3d.Canvas3D)+118)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #22 pc 004c618b  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.EnvironmentSet.render(javax.media.j3d.Canvas3D)+118)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #23 pc 0063161b  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.LightBin.render(javax.media.j3d.Canvas3D)+118)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #24 pc 0071600b  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.RenderBin.renderOpaque(javax.media.j3d.Canvas3D)+86)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #25 pc 0073a713  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.Renderer.doWork(long)+25134)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #26 pc 0040756b  /data/app/com.ingenieur.ese.eseandroid-1/oat/arm/base.odex (void javax.media.j3d.J3dThread.run()+206)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #27 pc 000e68b1  /system/lib/libart.so (art_quick_invoke_stub_internal+64)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #28 pc 00406175  /system/lib/libart.so (art_quick_invoke_stub+188)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #29 pc 000ecea3  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+182)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #30 pc 0032f5d7  /system/lib/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+326)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #31 pc 003562d7  /system/lib/libart.so (art::Thread::CreateCallback(void*)+614)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #32 pc 00041d6f  /system/lib/libc.so (__pthread_start(void*)+30)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   native: #33 pc 000190b3  /system/lib/libc.so (__start_thread+6)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at jogamp.opengl.es3.GLES3Impl.dispatch_glGetUniformIndices1(Native method)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at jogamp.opengl.es3.GLES3Impl.glGetUniformIndices(GLES3Impl.java:4210)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.JoglesPipeline.getLocs(JoglesPipeline.java:1555)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.JoglesPipeline.executeIndexedGeometryArrayVA(JoglesPipeline.java:864)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.JoglesPipeline.executeIndexedGeometryVABuffer(JoglesPipeline.java:843)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.IndexedGeometryArrayRetained.execute(IndexedGeometryArrayRetained.java:1516)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.VertexArrayRenderMethod.renderGeo(VertexArrayRenderMethod.java:92)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.VertexArrayRenderMethod.render(VertexArrayRenderMethod.java:69)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.RenderMolecule.render(RenderMolecule.java:1877)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.TextureBin.renderList(TextureBin.java:1360)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.TextureBin.render(TextureBin.java:1326)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.TextureBin.render(TextureBin.java:1319)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.AttributeBin.render(AttributeBin.java:441)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.ShaderBin.render(ShaderBin.java:273)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.EnvironmentSet.render(EnvironmentSet.java:524)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.LightBin.render(LightBin.java:415)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.RenderBin.renderOpaque(RenderBin.java:5664)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.Renderer.doWork(Renderer.java:1330)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]   at javax.media.j3d.J3dThread.run(J3dThread.java:271)
04-24 10:57:55.819 14988-15561/com.ingenieur.ese.eseandroid A/art: art/runtime/java_vm_ext.cc:448]
Comment 1 Julien Gouesse 2016-05-04 13:18:41 CEST
Do you obtain this fatal error when testing on several distinct devices?
Comment 2 Phil Jordan 2016-05-18 17:42:27 CEST
I only have an HTC M8 and an HTC M9, both on marshmallow, I didn't test the M9 but given that it's also ES3 I expect it to follow the same call stack and have the same problem.


Given that it happens in 

 jogamp.opengl.es3.GLES3Impl.glGetUniformIndices(GLES3Impl.java:4210)

it does not happen on my main windows development machine, obviously.