Mojo 2 crash on Nexus 5 (Android 6.0)

Monkey Forums/Monkey Bug Reports/Mojo 2 crash on Nexus 5 (Android 6.0)

teoretik(Posted 2015) [#1]
from: http://www.monkey-x.com/Community/posts.php?topic=10261#113970
I found that any simple mojo2 code with (at least) Image crashes on my
Nexus 5 (Android 6.0) but works perfect for HTML/Win/Samsung Galaxy S4/HTC Desire.

Here is android versions:
Nexus 5: 6.0
S4: 5.0.1
HTC desire: 4.0.4

Super simple example:
works perfect html5/win/S4/HTC, but fails on Nexus



P.S. If remove drawimage it works.


SLotman(Posted 2015) [#2]
Check if "tile" isn't null before drawing it.

Other than that, try to connect the phone and copy the error shown in the debug window (if Monkey doesn't do anything, try opening the code on eclipse and see what kind of error appears there)

and btw: Android is already on version 6?! Jesus, I haven't even seen a phone with 5 yet... O_o


marksibly(Posted 2015) [#3]
Can you also post the full crash output?

Has anyone successfully run mojo2 apps on a nexus 5? On android 6? Both?!?

Does mojo1 work?


teoretik(Posted 2015) [#4]
Mojo1 works perfect for all platform.

The tile isn't null, same code works on other platforms (HTML5/S4/HTC),
if i remove canvas.DrawImage it works on Nexus as well (so I can clear screen with different colors).

If I use canvas.DrawCircle(100,100,200) instead it crashes too.

Here is console output for Nexus 5


here is for (it is working!) Samsung S4



marksibly(Posted 2015) [#5]
Could you change line 1003 of modules/mojo2/graphics.monkey to:

				Error "Unsupported uniform type: name="+u.name+", location="+u.location+", size="+u.size+", type="+u.type


Then rebuild/run the project and post output here again.

This wont fix it but will give me a bit more info.


teoretik(Posted 2015) [#6]
Here is it:



marksibly(Posted 2015) [#7]
Well, sounds like a bug in glGetActiveUniform to me.

No idea if it's a nexus 5 or android 6 issue - my crappy old nexus 7 is still on Android 5, and probably will be forever...

Did it used to work on android 5, ie: did it only break after upgrading to android 6?

Can anyone else confirm this bug on any device/OS?


therevills(Posted 2015) [#8]
None of my Android device have yet received the 6.0 update... Could you set up an emulator running it?


secondgear(Posted 2015) [#9]
Same problem on Nexus 7 (2013) Android 6.0.1 Monkey 86b



teoretik(Posted 2015) [#10]
Hmm, cant say if it works on Nexus 5 with Android 5.0 or so,
I started use mojo2 after I upgraded
and got crash,
the only thing I found somehow relevant
http://stackoverflow.com/questions/30994882/opengl-issue-on-nexus-5-5-1
maybe some key is here?

Maybe I should make more tests or so on?

(No idea why clearing screen with different colors works, but when i try draw line or image it is crashes)


marksibly(Posted 2015) [#11]
> Could you set up an emulator running it?

Now there's an idea - and it worked!

I can reproduce the issue and have come up with a workaround. It does indeed appear to be a bug in glGetActiveUniform in android 6. But there is an overloaded version that seems to work OK so I've modified the android gles20 module to use this if necessary.

I've just uploaded experimental update v86c that includes the work around - please give it a try if you're having this problem.


teoretik(Posted 2015) [#12]
So sweet! Ty marksibly!
I works now!
Fixed for android 6.0


therevills(Posted 2015) [#13]
Now there's an idea - and it worked!

Cool :)

It does indeed appear to be a bug in glGetActiveUniform in android 6.

Maybe submit a bug log to the Android team:

https://source.android.com/source/report-bugs.html


teoretik(Posted 2015) [#14]
So, it works on 6.0.1 as well :)