Repository: godot
Issue: GPU Particles causing constant crashes on some Android devices
Labels: bug,platform:android,topic:porting,needs testing,crash

### Godot version

4.1.1 stable

### System information

Android, GLES3

### Issue description

I have been getting constant reports of crashes coming from very specific devices.
All devices are low-end, having a Mediatek MT6769/MT6833V or some other variations of chipsets, as well as a few Samsung Exynos 850. They also have between 2GB-4GB ram.
I have thousands of players, and all the reports come from these specific devices, even clearing the app data and uninstalling does not solve it.

All stack trace look very similar
```
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 5286 >>> com.enigmadev.uploadsimulator2 <<<

backtrace:
  #00  pc 0x0000000001338530  /data/app/~~WpD4_MuKLIBBZgSvYpeh_g==/com.enigmadev.uploadsimulator2-uXGWD8zDEi4QWMncYdyZjg==/split_config.armeabi_v7a.apk!libgodot_android.so
  #01  pc 0x0000000003316480  /data/app/~~WpD4_MuKLIBBZgSvYpeh_g==/com.enigmadev.uploadsimulator2-uXGWD8zDEi4QWMncYdyZjg==/split_config.armeabi_v7a.apk!libgodot_android.so
  #02  pc 0x00000000013b7950  /data/app/~~WpD4_MuKLIBBZgSvYpeh_g==/com.enigmadev.uploadsimulator2-uXGWD8zDEi4QWMncYdyZjg==/split_config.armeabi_v7a.apk!libgodot_android.so
  #03  pc 0x00000000006e28dc  /data/app/~~WpD4_MuKLIBBZgSvYpeh_g==/com.enigmadev.uploadsimulator2-uXGWD8zDEi4QWMncYdyZjg==/split_config.armeabi_v7a.apk!libgodot_android.so
  #04  pc 0x0000000000690108  /data/app/~~WpD4_MuKLIBBZgSvYpeh_g==/com.enigmadev.uploadsimulator2-uXGWD8zDEi4QWMncYdyZjg==/split_config.armeabi_v7a.apk!libgodot_android.so
  #05  pc 0x00000000006a9284  /data/app/~~WpD4_MuKLIBBZgSvYpeh_g==/com.enigmadev.uploadsimulator2-uXGWD8zDEi4QWMncYdyZjg==/split_config.armeabi_v7a.apk!libgodot_android.so (Java_org_godotengine_godot_GodotLib_step+228)
  #06  pc 0x00000000003c1b9d  /apex/com.android.art/lib/libart.so (art_quick_generic_jni_trampoline+44)
  #07  pc 0x000000000201c3cd  /memfd:jit-cache (org.godotengine.godot.gl.GodotRenderer.onDrawFrame+100)
  #08  pc 0x00000000000f179c  /apex/com.android.art/lib/libart.so (nterp_helper+5388)
  #09  pc 0x000000000072794a  /data/app/~~WpD4_MuKLIBBZgSvYpeh_g==/com.enigmadev.uploadsimulator2-uXGWD8zDEi4QWMncYdyZjg==/oat/arm/base.vdex (org.godotengine.godot.gl.GLSurfaceView$GLThread.guardedRun+896)
  #10  pc 0x00000000000f0d80  /apex/com.android.art/lib/libart.so (nterp_helper+2800)
  #11  pc 0x0000000000727cf4  /data/app/~~WpD4_MuKLIBBZgSvYpeh_g==/com.enigmadev.uploadsimulator2-uXGWD8zDEi4QWMncYdyZjg==/oat/arm/base.vdex (org.godotengine.godot.gl.GLSurfaceView$GLThread.run+48)
  #12  pc 0x00000000003bd1d5  /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68)
  #13  pc 0x00000000003bcc77  /apex/com.android.art/lib/libart.so (void art::quick_invoke_reg_setup<false>(art::ArtMethod*, unsigned int*, unsigned int, art::Thread*, art::JValue*, char const*) (.__uniq.192663596067446536341070919852553954320.llvm.16200230356545185596)+158)
  #14  pc 0x000000000028a4c5  /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
  #15  pc 0x0000000000313969  /apex/com.android.art/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*) (.__uniq.245181933781456475607640333933569312899.llvm.2586733929373010981)+40)
  #16  pc 0x0000000000313875  /apex/com.android.art/lib/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+164)
  #17  pc 0x000000000033a3af  /apex/com.android.art/lib/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue const*)+42)
  #18  pc 0x00000000002f0625  /apex/com.android.art/lib/libart.so (art::Thread::CreateCallback(void*)+416)
  #19  pc 0x00000000000ade0b  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+40)
  #20  pc 0x0000000000063e73  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30)
```

This issue persist with 4.0.3 as well.

### Steps to reproduce

Cannot provide.

### Minimal reproduction project

Cannot provide.