Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GL_INVALID_ENUM on Android #7525

Closed
rubenwardy opened this Issue Jul 1, 2018 · 122 comments

Comments

Projects
None yet
@rubenwardy
Copy link
Member

commented Jul 1, 2018

Reported by NiklasGamerHD ✔ on Discord

Minetest version
0.4.17.2
OS / Hardware

Operating system: Android 7.0
Model: Huawei Honor 6A
GPU model: unknown
OpenGL version: unknown

image

image

@rubenwardy rubenwardy changed the title GL_INVALID_ENUM GL_INVALID_ENUM on Android Jul 1, 2018

@rubenwardy

This comment has been minimized.

Copy link
Member Author

commented Jul 1, 2018

<NiklasGamerHD ✔> I installed a font and then I tried to mince it but then overwrote something on a path
<rubenwardy> oh right, so this doesn't happen in a clean installation?
<NiklasGamerHD ✔> I do not even know what the mistake is, I think that was where I overwritten it

@stujones11

This comment has been minimized.

Copy link
Contributor

commented Jul 1, 2018

I've not come across this in any of my tests, however, it is clear that there are some mods installed here. I can see some armor in there, though I'm pretty sure I fixed those iCCP warnings some time ago. Perhaps a specific drawtype is triggering this?

@SmallJoker

This comment has been minimized.

Copy link
Member

commented Jul 2, 2018

Same issue on Windows: https://forum.minetest.net/viewtopic.php?f=6&t=16243 (Outdated driver, wrong textures)
Android issue: https://forum.minetest.net/viewtopic.php?f=6&t=20091
Possible duplicate of #3080

@MoNTE48

This comment has been minimized.

Copy link
Contributor

commented Jul 2, 2018

@rubenwardy this is CONFIRMED bug.
A simple solution is to disable logs from Irrlicht on Android.
None of Minetest developers will not correct this bug.
Right solution - hmm... The problem is at least 4 years. Hardly it will be decided soon. But let the Android players (especially on Android 8. +) will experience problems in the game. Nobody cares.

@notanewbie

This comment has been minimized.

Copy link

commented Jul 2, 2018

How do you disable the logs in Android?

@stujones11

This comment has been minimized.

Copy link
Contributor

commented Jul 3, 2018

I came across this old topic but it is possibly still relevant. http://irrlicht.sourceforge.net/forum/viewtopic.php?t=43774

I agree with @MoNTE48 we could still include an option to enable the Irrlicht logs for debug purposes. We can always patch Irrlicht if the problem lies there, however, from what I can gather it seems more likely a device/vendor specific issue.

@MoNTE48

This comment has been minimized.

Copy link
Contributor

commented Jul 4, 2018

@codexp

This comment has been minimized.

Copy link

commented Jul 6, 2018

I confirm this bug happening on Samsung Galaxy S3 Tablet

This makes console/chat unusable

@lhofhansl

This comment has been minimized.

Copy link
Contributor

commented Jul 7, 2018

FWIW, I can confirm this bug. Nexus 6P. Fresh install, all data removed. No mods installed.

@rubenwardy rubenwardy added the Bug label Jul 7, 2018

@codexp

This comment has been minimized.

Copy link

commented Jul 7, 2018

The strange thing is that it has appeared recently and minetest has been working fine until it began throwing those errors. So something has changed? Is there any way to fix that without recompiling the app?

@MoNTE48

This comment has been minimized.

Copy link
Contributor

commented Jul 7, 2018

@codexp
just add this line on minetest.conf
debug_log_level =
(withount any values)
Although, I'm not sure

@lhofhansl

This comment has been minimized.

Copy link
Contributor

commented Jul 13, 2018

Log change does not help.

Generally minetest seems clunky on Android - not an Android person myself, so not sure about the work required.
Just for kicks I installed the ad-infested Multicraft Minestest clone. They made some simple changes to improve the look and feel significantly.

@rubenwardy

This comment has been minimized.

Copy link
Member Author

commented Jul 13, 2018

Have you tried a dev build of the android app? There's been lots of in-game improvements

@codexp

This comment has been minimized.

Copy link

commented Jul 13, 2018

I'd love to test, but would not be able to compile it myself.
Is there a compiled apk for download?

@codexp

This comment has been minimized.

Copy link

commented Jul 13, 2018

Now I have this error on my PC. The only difference is that it will be logged only once on connect.
Whereas on Android it keeps flooding the console.

@MoNTE48

This comment has been minimized.

Copy link
Contributor

commented Jul 14, 2018

@lhofhansl This is called fork, and not a clone, if you did not.
Disabling the Internet will save you from advertising

@jastevenson303

This comment has been minimized.

Copy link
Contributor

commented Jul 14, 2018

@MoNTE48

This comment has been minimized.

Copy link
Contributor

commented Jul 14, 2018

@jastevenson303, in next major release ads in multiplayer will be disabled

@codexp

This comment has been minimized.

Copy link

commented Jul 14, 2018

@MoNTE48 do you have paid version without ads?

offtopic btw!

@MoNTE48

This comment has been minimized.

Copy link
Contributor

commented Jul 14, 2018

@codexp yes, $0.99
but this is offtop in minetest repo!
Here I just offered my corrections in the minetest.

@aerozoic

This comment has been minimized.

Copy link

commented Jul 21, 2018

My phone does the same thing, constant flooding of this error.
Android 8.0
MT 0.4.17.2
screenshot_20180721-192433
🔶

@paramat paramat added this to the 0.4.17.2 / 0.4.18 milestone Jul 21, 2018

@rubenwardy

This comment has been minimized.

Copy link
Member Author

commented Jul 26, 2018

An anonymous source experienced with graphics said this:

If you want to fix GL_INVALID_ENUM errors, use KHR_debug extension with synchronous mode
You will get callstacks if you put breakpoint inside your debugger in the callback

@aerozoic

This comment has been minimized.

Copy link

commented Jul 29, 2018

Can that be translated to english please?
🔶

@rubenwardy

This comment has been minimized.

Copy link
Member Author

commented Nov 16, 2018

I think it's important to make sure this doesn't happen again. I suggest making the builds using CI, as an unsigned release build. To make a play store release, this build can be downloaded from the CI and then signed locally using the key. This signed copy is then uploaded

Having CI Android builds would also be very useful

@paramat

This comment has been minimized.

Copy link
Member

commented Nov 16, 2018

@nerzhul to be clear, the current playstore app 0.4.17.2 has this build mistake, so it needs to be fixed immediately as a point release.
There's nothing to do for 5.0 of course, except avoid the same thing happening.

@nerzhul

This comment has been minimized.

Copy link
Member

commented Nov 16, 2018

@rubenwardy CI is possible but it take 1 hour to build on my machine, don't expect to be faster on travis :p

@MoNTE48

This comment has been minimized.

Copy link
Contributor

commented Nov 16, 2018

Less than 5 minutes on Core i7-8700k :D

@stujones11

This comment has been minimized.

Copy link
Contributor

commented Nov 16, 2018

@nerzhul the whole build for me takes about 10-15 minutes, including the download of the dep sources. Mostly inhibited by the Irrlicht svn download.

My PC is nothing special, well maybe 5 years ago decent spec WTF are you using?

@nerzhul

This comment has been minimized.

Copy link
Member

commented Nov 16, 2018

i build MT in 15 sec , but all deps are long because i'm not building them with +8 to prevent some compilation issues due to cross dep build.
Irrlicht SVN download is slower in france than you it seems, for me it's 10-15 min to download that subversion shit from sourceforgeshit.

@stujones11

This comment has been minimized.

Copy link
Contributor

commented Nov 16, 2018

t's 10-15 min to download that subversion shit from sourceforgeshit.

The simple answer would be to create our own mirror of the Irrlicht-ES sources. Or even Irrlicht istelf, for that matter.

i'm not building them with +8 to prevent some compilation issues due to cross dep build.

This is nonsense, btw

@paramat

This comment has been minimized.

Copy link
Member

commented Nov 16, 2018

Note, due to #7813 we may need to merge #7820 before fixing the app, but not sure.

@nerzhul

This comment has been minimized.

Copy link
Member

commented Nov 18, 2018

Please test the build provided in the release section of GH https://github.com/minetest/minetest/releases/download/0.4.17.1/Minetest-0.4.17.1-3.apk

@rubenwardy

This comment has been minimized.

Copy link
Member Author

commented Nov 19, 2018

A user reports they're still getting the same error with that

@ClobberXD

This comment has been minimized.

Copy link
Contributor

commented Nov 20, 2018

I can confirm that this issue still exists in 0.4.17.1-3.apk.

@paramat

This comment has been minimized.

Copy link
Member

commented Dec 3, 2018

#7820 merged, so SDK 26 is now targeted, which may be necessary for updating the app (?).
However it may be a good idea to wait for some testing of Android 5.0.0-dev first.

@stujones11

This comment has been minimized.

Copy link
Contributor

commented Dec 4, 2018

Targeting SDK 26 is now mandatory for any new play-store release, so yes, it is necessary but there is no real need to backport it so long as the playstore release is compiled with these changes. Saying that, it does fix some other bugs and shouldn't be hard to merge.

@nerzhul I might also suggest that you upload your release candidate to github releases first so I/we can verify it before you push to the play-store.

Also, given the circumstances, I think this should be a higher priority than code-refactors for you right now. Our current app is unplayable for many with reduced performance for everyone else.

@nerzhul

This comment has been minimized.

Copy link
Member

commented Dec 4, 2018

@stujones11 then we need to split the @MoNTE48 PR in multiple parts. First compat for play store with point release in stable-0.4 branch

@stujones11

This comment has been minimized.

Copy link
Contributor

commented Dec 4, 2018

@nerzhul AFAIK those java changes and bug-fixes should work equally well with version 0.4.x, though I did not try this yet. I don't see any point in splitting them unless there is a need to.

@MoNTE48

This comment has been minimized.

Copy link
Contributor

commented Dec 4, 2018

@rubenwardy why minetest official app public in play store on nrz dev account?
Minetest community can't one time pay $25 for official dev account?
On dev account we can download logcats, crash analytics and lots of useful statistics that nrz does not publish.

@rubenwardy

This comment has been minimized.

Copy link
Member Author

commented Dec 4, 2018

why minetest official app public in play store on nrz dev account?
Minetest community can't one time pay $25 for official dev account?

+10000

I'm sure many people would be happy to pay for it, but you need co-operation from nerzhul to actually transfer the app

@MoNTE48

This comment has been minimized.

Copy link
Contributor

commented Dec 4, 2018

but you need co-operation from nerzhul

He-he, not me, YOU! :)
I don't think this is a problem. Unless he is afraid of losing control. I think that you are much more experienced in Java than it is.

@paramat

This comment has been minimized.

Copy link
Member

commented Dec 5, 2018

Nerzhul has shared the playstore access with 1 or 2 other core devs as far as i remember. However i agree it's best to have group access to it.

@nerzhul

This comment has been minimized.

Copy link
Member

commented Dec 5, 2018

@MoNTE48 in fact i have a real android full app on the store and at work i'm hosting java applications & microservices produces by our agile development team and i help them to increase their code quality and architecture, trolling is easy, but i have more experience than you think :p

for the rights on the app on my account, @celeron55 , @sfan5 and @rubenwardy share the app ownership with me, i'm just the account owner. It was done on my account because i was the only to get one when it was published. I'm not sure if we can move it to another account, there is already a dead MT app in my account (wrong artifact name) and google refused to remove it...

@nerzhul

This comment has been minimized.

Copy link
Member

commented Dec 5, 2018

Note, looking for vitals here is the most reported crash

pid: 0, tid: 0 >>> net.minetest.minetest <<<

backtrace:
 
  #00  pc 0000000000014b24  /system/lib/libc.so (strlen+83)
 
  #01  pc 000000000035dd9b  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZNSt6__ndk111char_traitsIcE6lengthEPKc+14)
 
  #02  pc 000000000079aa77  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_Z11Align2Npot2PN3irr5video6IImageEPNS0_12IVideoDriverE+106)
 
  #03  pc 00000000004c5d8d  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN17MenuTextureSource10getTextureERKNSt6__ndk112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEEPj+424)
 
  #04  pc 000000000050c1b7  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN8GUITable10allocImageERKNSt6__ndk112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE+234)
 
  #05  pc 000000000050a87d  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN8GUITable8setTableERKNSt6__ndk16vectorINS_6OptionENS0_9allocatorIS2_EEEERKNS1_INS_11TableColumnENS3_IS8_EEEERNS1_INS0_12basic_stringIcNS0_11char_traitsIcEENS3_IcEEEENS3_ISH_EEEE+8616)
 
  #06  pc 00000000004d4c6d  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN15GUIFormSpecMenu10parseTableEPNS_10parserDataERKNSt6__ndk112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE+2852)
 
  #07  pc 00000000004e37cb  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN15GUIFormSpecMenu12parseElementEPNS_10parserDataERKNSt6__ndk112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE+4242)
 
  #08  pc 00000000004e6d63  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN15GUIFormSpecMenu13regenerateGuiEN3irr4core8vector2dIjEE+9314)
 
  #09  pc 00000000004e94d7  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN15GUIFormSpecMenu8drawMenuEv+618)
 
  #10  pc 00000000004cad2f  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN12GUIModalMenu4drawEv+158)
 
  #11  pc 0000000000a3be1b  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN3irr3gui14CGUIStaticText4drawEv+946)
 
  #12  pc 00000000004c2003  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN3irr3gui11IGUIElement4drawEv+90)
 
  #13  pc 0000000000a246a1  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN3irr3gui15CGUIEnvironment7drawAllEv+96)
 
  #14  pc 00000000004c87f5  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN9GUIEngine3runEv+1048)
 
  #15  pc 00000000004c7cc1  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN9GUIEngineC1EPN3irr14IrrlichtDeviceEP18JoystickControllerPNS0_3gui11IGUIElementEP12IMenuManagerPNS0_5scene13ISceneManagerEP12MainMenuDataRb+1468)
 
  #16  pc 00000000007933bb  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN14ClientLauncher9main_menuEP12MainMenuData+366)
 
  #17  pc 0000000000790ba9  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN14ClientLauncher11launch_gameERNSt6__ndk112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEEbR10GameParamsRK8Settings+2496)
 
  #18  pc 000000000078d627  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (_ZN14ClientLauncher3runER10GameParamsRK8Settings+3286)
 
  #19  pc 000000000055a1d1  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (main+2532)
 
  #20  pc 000000000061a79b  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so (android_main+134)
 
  #21  pc 0000000000b997e3  /data/app/net.minetest.minetest-1/lib/arm/libminetest.so
 
  #22  pc 0000000000016f23  /system/lib/libc.so (_ZL15__pthread_startPv+30)
 
  #23  pc 0000000000014f43  /system/lib/libc.so (__start_thread+6)
@nerzhul

This comment has been minimized.

Copy link
Member

commented Dec 5, 2018

We also get this on some phones

FATAL EXCEPTION: main
 
Process: net.minetest.minetest, PID: 17266
 
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "stderr" referenced by "libgmp.so"...
 
  at java.lang.Runtime.loadLibrary(Runtime.java:383)
 
  at java.lang.System.loadLibrary(System.java:998)
 
  at net.minetest.minetest.MtNativeActivity.<clinit>(MtNativeActivity.java:88)
 
  at java.lang.reflect.Constructor.newInstance(Native Method)
 
  at java.lang.Class.newInstance(Class.java:1572)
 
  at android.app.Instrumentation.newActivity(Instrumentation.java:1068)
 
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2303)
 
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2466)
 
  at android.app.ActivityThread.access$1200(ActivityThread.java:152)
 
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1341)
 
  at android.os.Handler.dispatchMessage(Handler.java:102)
 
  at android.os.Looper.loop(Looper.java:135)
 
  at android.app.ActivityThread.main(ActivityThread.java:5538)
 
  at java.lang.reflect.Method.invoke(Native Method)
 
  at java.lang.reflect.Method.invoke(Method.java:372)
 
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
 
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
@MoNTE48

This comment has been minimized.

Copy link
Contributor

commented Dec 5, 2018

I'm not sure if we can move it to another account

We can

java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "stderr" referenced by "libgmp.so"...

We can disable libgmp for Android, in MC i remove this lib and had no difficulties, no usage scenarios, when it is really needed.

@ClobberXD

This comment has been minimized.

Copy link
Contributor

commented Dec 12, 2018

I can confirm that this issue still exists in nerzhul's 0.4.17.1-3.apk.

I tried out stujones' unofficial APK, and can confirm that this issue is fixed in 5.0.0-dev. I tried both singleplayer and multiplayer just to be sure.

@rubenwardy

This comment has been minimized.

Copy link
Member Author

commented Dec 12, 2018

I tried out stujones' unofficial APK, and can confirm that this issue is fixed in 5.0.0-dev. I tried both singleplayer and multiplayer just to be sure

This will be because stujones1 is building it properly, the problem is from how it is built not the code

@nerzhul

This comment has been minimized.

Copy link
Member

commented Dec 12, 2018

I build it properly too... i will provide a 5.0.0-dev APK asap and you will see if that works properly :)

@ghost

This comment has been minimized.

Copy link

commented Jan 5, 2019

This APK: https://github.com/minetest/minetest/releases/download/0.4.17.1/Minetest-0.4.17.3.apk fixed this problem for me (I was hit by this issue before).

While I'm here: I've set up another automatically updated mirror of the Irrlicht SVN repo (updated daily) here: https://gitlab.com/pgimeno/irrlicht-mirror

@ClobberXD

This comment has been minimized.

Copy link
Contributor

commented Jan 8, 2019

I can confirm. The latest APK (0.4.17.1-3 I assume - the versioning is getting really confusing :P) fixes the GL_INVALD_ENUM error for me as well. Thanks a ton. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.