community icon indicating copy to clipboard operation
community copied to clipboard

Unable to run 3Drendering example on Android

Open kdheepak opened this issue 8 years ago • 12 comments

Versions

  • Python: 2.7.13

  • OS: Android

  • Kivy: 1.10.0

  • Kivy installation method:

USE_OSX_FRAMEWORKS=0 pip install -I --no-cache-dir --no-binary all kivy

Description

3Drendering example works on my Mac but does not work on Android device (Pixel XL). It crashes on application boot. #4393 seems to have gotten it working but not correctly. Any thoughts on what is going on here?

Code and Logs

buildozer android logcat > log.log

log.log file contents

gist.log

Download log.log

kdheepak avatar Sep 25 '17 11:09 kdheepak

Does building other applications (such as touchtracer) work? These errors do not seem immediately related to the 3d rendering example, I could be wrong here though..

Are you running buildozer on OSX? I'm not up to date, but in the old days a linux VM was significantly easier than getting it working correctly... maybe someone can chime in with more up to date info here..

ghost avatar Sep 25 '17 12:09 ghost

Other applications work, I'm able to build a app using the vibration sensor for example. I haven't specifically tried touchtracer, but I can and will report back.

kdheepak avatar Sep 25 '17 15:09 kdheepak

Okay, I tried same 3Drendering example with the Linux VM and I get same issue, it crashes on boot.

09-25 12:23:30.799  2529  2529 V PythonActivity: My oncreate running
09-25 12:23:30.800  2529  2529 V PythonActivity: About to do super onCreate
09-25 12:23:30.800  2529  2529 V SDL     : Device: marlin
09-25 12:23:30.800  2529  2529 V SDL     : Model: Pixel XL
09-25 12:23:30.800  2529  2529 V SDL     : onCreate():null
09-25 12:23:30.800  2529  2529 V PythonActivity: Did super onCreate
09-25 12:23:30.800  2529  2529 V SDL     : getting identifier
09-25 12:23:30.801  2529  2529 V SDL     : kind is drawable and name presplash
09-25 12:23:30.802  2529  2529 V SDL     : result is 2130837506
09-25 12:23:30.807  2529  2529 V SDL     : asked to get string presplash_color
09-25 12:23:30.807  2529  2529 V SDL     : getting identifier
09-25 12:23:30.808  2529  2529 V SDL     : kind is string and name presplash_color
09-25 12:23:30.808  2529  2529 V SDL     : result is 2130968578
09-25 12:23:30.828  2529  2548 V PythonActivity: Ready to unpack
09-25 12:23:30.829  2529  2548 V PythonActivity: UNPACKING!!! private app
09-25 12:23:30.829  2529  2548 V SDL     : asked to get string private_version
09-25 12:23:30.830  2529  2548 V SDL     : getting identifier
09-25 12:23:30.831  2529  2548 V SDL     : kind is string and name private_version
09-25 12:23:30.831  2529  2548 V SDL     : result is 2130968577
09-25 12:23:30.831  2529  2529 V PythonActivity: onResume()
09-25 12:23:30.831  2529  2529 V SDL     : onResume()
09-25 12:23:30.832  2529  2548 V PythonActivity: Data version is 1506357641.8
09-25 12:23:30.844  2529  2549 D OpenGLRenderer: HWUI GL Pipeline
09-25 12:23:30.946  2529  2529 W linker  : /data/app/org.test.myapp-PNJc5QzufNuInVizaoG7xg==/lib/arm/libpython2.7.so: is missing DT_SONAME will use basename as a replacement: "libpython2.7.so"
09-25 12:23:30.960  2529  2529 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/lib-dynload/_io.so: is missing DT_SONAME will use basename as a replacement: "_io.so"
09-25 12:23:30.963  2529  2529 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/lib-dynload/unicodedata.so: is missing DT_SONAME will use basename as a replacement: "unicodedata.so"
09-25 12:23:30.965  2529  2529 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/lib-dynload/_ctypes.so: is missing DT_SONAME will use basename as a replacement: "_ctypes.so"
09-25 12:23:30.966  2529  2529 V PythonUtil: Loaded everything!
09-25 12:23:30.981  2529  2529 V PythonActivity: Setting env vars for start.c and Python to use
09-25 12:23:30.981  2529  2529 V PythonActivity: Access to our meta-data...
09-25 12:23:30.987  2529  2529 I PythonActivity: Surface will NOT be transparent
09-25 12:23:31.008  2529  2549 I Adreno  : QUALCOMM build                   : 7142022, Ib5823dd10c
09-25 12:23:31.008  2529  2549 I Adreno  : Build Date                       : 06/23/17
09-25 12:23:31.008  2529  2549 I Adreno  : OpenGL ES Shader Compiler Version: EV031.18.00.00
09-25 12:23:31.008  2529  2549 I Adreno  : Local Branch                     : O11A
09-25 12:23:31.008  2529  2549 I Adreno  : Remote Branch                    :
09-25 12:23:31.008  2529  2549 I Adreno  : Remote Branch                    :
09-25 12:23:31.008  2529  2549 I Adreno  : Reconstruct Branch               :
09-25 12:23:31.035  2529  2549 I Adreno  : PFP: 0x005ff087, ME: 0x005ff063
09-25 12:23:31.049  2529  2529 V SDL     : surfaceCreated()
09-25 12:23:31.049  2529  2529 V SDL     : surfaceChanged()
09-25 12:23:31.049  2529  2529 V SDL     : pixel format RGB_565
09-25 12:23:31.050  2529  2529 V SDL     : Window size:1440x2308
09-25 12:23:31.055  2529  2549 I OpenGLRenderer: Initialized EGL, version 1.4
09-25 12:23:31.055  2529  2549 D OpenGLRenderer: Swap behavior 2
09-25 12:23:31.059  2529  2551 I SDL     : SDL_Android_Init()
09-25 12:23:31.059  2529  2551 I SDL     : SDL_Android_Init() finished!
09-25 12:23:31.059  2529  2551 I python  : Initialize Python for Android
09-25 12:23:31.059  2529  2551 I python  : Changing directory to the one provided by ANDROID_ARGUMENT
09-25 12:23:31.059  2529  2551 I python  : /data/user/0/org.test.myapp/files/app
09-25 12:23:31.059  2529  2551 I python  : Preparing to initialize python
09-25 12:23:31.059  2529  2551 I python  : crystax_python does not exist
09-25 12:23:31.065  2529  2551 I python  : Initialized python
09-25 12:23:31.065  2529  2551 I python  : AND: Init threads
09-25 12:23:31.066  2529  2551 I python  : testing python print redirection
09-25 12:23:31.066  2529  2529 V SDL     : onWindowFocusChanged(): true
09-25 12:23:31.066  2529  2551 I python  : Setting up python from ANDROID_PRIVATE
09-25 12:23:31.068  2529  2551 I python  : ('Android path', ['/data/user/0/org.test.myapp/files/app/lib/python27.zip', '/data/user/0/org.test.myapp/files/app/lib/python2.7/', '/data/user/0/org.test.myapp/files/app/lib/python2.7/lib-dynload/', '/data/user/0/org.test.myapp/files/app/lib/python2.7/site-packages/', '/data/user/0/org.test.myapp/files/app'])
09-25 12:23:31.094  2529  2551 I python  : ('os.environ is', {'DOWNLOAD_CACHE': '/data/cache', 'ANDROID_UNPACK': '/data/user/0/org.test.myapp/files/app', 'EXTERNAL_STORAGE': '/sdcard', 'ANDROID_ENTRYPOINT': 'main.pyo', 'ANDROID_ASSETS': '/system/app', 'PYTHONPATH': '/data/user/0/org.test.myapp/files/app:/data/user/0/org.test.myapp/files/app/lib', 'ANDROID_APP_PATH': '/data/user/0/org.test.myapp/files/app', 'ANDROID_ROOT': '/system', 'SYSTEMSERVERCLASSPATH': '/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/wifi-service.jar', 'PYTHONOPTIMIZE': '2', 'ANDROID_DATA': '/data', 'PYTHONHOME': '/data/user/0/org.test.myapp/files/app', 'ANDROID_ARGUMENT': '/data/user/0/org.test.myapp/files/app', 'BOOTCLASSPATH': '/system/framework/core-oj.jar:/system/framework/core-libart.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/legacy-test.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/apache-xml.jar:/system/framework/org.apache.http.legacy.boot.jar:/system/framework/android.hidl.base-V1.0-java.jar:/system/framework/android.hidl.manager-V1.0-java.jar', 'ANDROID_SOCKET_zygote_secondary': '9', 'ASEC_MOUNTPOINT': '/mnt/asec', 'PATH': '/sbin:/system/sbin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin', 'ANDROID_STORAGE': '/storage', 'ANDROID_BOOTLOGO': '1', 'ANDROID_PRIVATE': '/data/user/0/org.test.myapp/files', 'PYTHON_NAME': 'python'})
09-25 12:23:31.094  2529  2551 I python  : ('Android kivy bootstrap done. __name__ is', '__main__')
09-25 12:23:31.124   906   990 I ActivityManager: Displayed org.test.myapp/org.kivy.android.PythonActivity: +518ms
09-25 12:23:31.128  2529  2551 I python  : ['/data/user/0/org.test.myapp/files/app/lib/python2.7/site-packages', '/data/user/0/org.test.myapp/files/app/lib/site-python']
09-25 12:23:31.128  2529  2551 I python  : AND: Ran string
09-25 12:23:31.128  2529  2551 I python  : Run user program, change dir and execute entrypoint
09-25 12:23:31.219  2529  2551 I python  : [INFO   ] [Logger      ] Record log in /data/user/0/org.test.myapp/files/app/.kivy/logs/kivy_17-09-25_2.txt
09-25 12:23:31.219  2529  2551 I python  : [INFO   ] [Kivy        ] v1.10.0
09-25 12:23:31.219  2529  2551 I python  : [INFO   ] [Python      ] v2.7.2 (default, Sep 25 2017, 16:33:51)
09-25 12:23:31.219  2529  2551 I python  : [GCC 4.8]
09-25 12:23:31.225  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/_clock.so: is missing DT_SONAME will use basename as a replacement: "_clock.so"
09-25 12:23:31.243  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/_event.so: is missing DT_SONAME will use basename as a replacement: "_event.so"
09-25 12:23:31.246  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/properties.so: is missing DT_SONAME will use basename as a replacement: "properties.so"
09-25 12:23:31.253  2529  2551 I python  : [INFO   ] [Factory     ] 194 symbols loaded
09-25 12:23:31.473  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/instructions.so: is missing DT_SONAME will use basename as a replacement: "instructions.so"
09-25 12:23:31.475  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/buffer.so: is missing DT_SONAME will use basename as a replacement: "buffer.so"
09-25 12:23:31.478  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/vertex.so: is missing DT_SONAME will use basename as a replacement: "vertex.so"
09-25 12:23:31.480  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/cgl.so: is missing DT_SONAME will use basename as a replacement: "cgl.so"
09-25 12:23:31.483  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/vbo.so: is missing DT_SONAME will use basename as a replacement: "vbo.so"
09-25 12:23:31.485  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/compiler.so: is missing DT_SONAME will use basename as a replacement: "compiler.so"
09-25 12:23:31.487  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/transformation.so: is missing DT_SONAME will use basename as a replacement: "transformation.so"
09-25 12:23:31.490  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/shader.so: is missing DT_SONAME will use basename as a replacement: "shader.so"
09-25 12:23:31.493  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/texture.so: is missing DT_SONAME will use basename as a replacement: "texture.so"
09-25 12:23:31.496  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/context_instructions.so: is missing DT_SONAME will use basename as a replacement: "context_instructions.so"
09-25 12:23:31.525  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/core/image/_img_sdl2.so: is missing DT_SONAME will use basename as a replacement: "_img_sdl2.so"
09-25 12:23:31.531  2529  2551 I python  : [INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored)
09-25 12:23:31.533  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/fbo.so: is missing DT_SONAME will use basename as a replacement: "fbo.so"
09-25 12:23:31.536  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/context.so: is missing DT_SONAME will use basename as a replacement: "context.so"
09-25 12:23:31.539  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/opengl.so: is missing DT_SONAME will use basename as a replacement: "opengl.so"
09-25 12:23:31.542  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/opengl_utils.so: is missing DT_SONAME will use basename as a replacement: "opengl_utils.so"
09-25 12:23:31.552  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/vertex_instructions.so: is missing DT_SONAME will use basename as a replacement: "vertex_instructions.so"
09-25 12:23:31.555  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/stencil_instructions.so: is missing DT_SONAME will use basename as a replacement: "stencil_instructions.so"
09-25 12:23:31.557  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/gl_instructions.so: is missing DT_SONAME will use basename as a replacement: "gl_instructions.so"
09-25 12:23:31.560  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/scissor_instructions.so: is missing DT_SONAME will use basename as a replacement: "scissor_instructions.so"
09-25 12:23:31.562  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/weakproxy.so: is missing DT_SONAME will use basename as a replacement: "weakproxy.so"
09-25 12:23:31.595  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/core/window/_window_sdl2.so: is missing DT_SONAME will use basename as a replacement: "_window_sdl2.so"
09-25 12:23:31.616  2529  2551 I python  : [INFO   ] [OSC         ] using <thread> for socket
09-25 12:23:31.620  2529  2551 I python  : [INFO   ] [Window      ] Provider: sdl2
09-25 12:23:31.634  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/cgl_backend/cgl_glew.so: is missing DT_SONAME will use basename as a replacement: "cgl_glew.so"
09-25 12:23:31.637  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/cgl_backend/cgl_gl.so: is missing DT_SONAME will use basename as a replacement: "cgl_gl.so"
09-25 12:23:31.643  2529  2551 I python  : [INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
09-25 12:23:31.644  2529  2551 I python  : [INFO   ] [GL          ] Backend used <gl>
09-25 12:23:31.644  2529  2551 I python  : [INFO   ] [GL          ] OpenGL version <OpenGL ES 3.2 [email protected] (GIT@7142022, Ib5823dd10c) (Date:06/23/17)>
09-25 12:23:31.644  2529  2551 I python  : [INFO   ] [GL          ] OpenGL vendor <Qualcomm>
09-25 12:23:31.644  2529  2551 I python  : [INFO   ] [GL          ] OpenGL renderer <Adreno (TM) 530>
09-25 12:23:31.645  2529  2551 I python  : [INFO   ] [GL          ] OpenGL parsed version: 3, 2
09-25 12:23:31.645  2529  2551 I python  : [INFO   ] [GL          ] Texture max size <16384>
09-25 12:23:31.645  2529  2551 I python  : [INFO   ] [GL          ] Texture max units <16>
09-25 12:23:31.660  2529  2551 I python  : [INFO   ] [Window      ] auto add sdl2 input provider
09-25 12:23:31.662  2529  2551 I python  : [INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
09-25 12:23:31.666  2529  2551 I python  : [INFO   ] [Shader      ] Read </data/data/org.test.myapp/files/app/simple.glsl>
09-25 12:23:31.826  2529  2551 I python  : [WARNING] [Base        ] Unknown <android> provider
09-25 12:23:31.826  2529  2551 I python  : [INFO   ] [Base        ] Start application main loop
09-25 12:23:31.836  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/android/_android.so: is missing DT_SONAME will use basename as a replacement: "_android.so"
09-25 12:23:31.841  2529  2551 W linker  : /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/jnius/jnius.so: is missing DT_SONAME will use basename as a replacement: "jnius.so"
09-25 12:23:32.148  2529  2551 F libc    : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x34 in tid 2551 (SDLThread)
09-25 12:23:32.186  2560  2560 W crash_dump32: type=1400 audit(0.0:1923): avc: denied { search } for name="org.test.myapp" dev="sda35" ino=2376485 scontext=u:r:crash_dump:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
09-25 12:23:32.189  2560  2560 I chatty  : uid=10191(u0_a191) crash_dump32 identical 18 lines
09-25 12:23:32.189  2560  2560 W crash_dump32: type=1400 audit(0.0:1942): avc: denied { search } for name="org.test.myapp" dev="sda35" ino=2376485 scontext=u:r:crash_dump:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
09-25 12:23:32.230  2560  2560 I crash_dump32: obtaining output fd from tombstoned
09-25 12:23:32.230   731   731 I /system/bin/tombstoned: received crash request for pid 2529
09-25 12:23:32.232  2560  2560 I crash_dump32: performing dump of process 2529 (target tid = 2551)
09-25 12:23:32.233  2560  2560 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-25 12:23:32.233  2560  2560 F DEBUG   : Build fingerprint: 'google/marlin/marlin:8.0.0/OPR1.170623.026/4286349:user/release-keys'
09-25 12:23:32.233  2560  2560 F DEBUG   : Revision: '0'
09-25 12:23:32.233  2560  2560 F DEBUG   : ABI: 'arm'
09-25 12:23:32.233  2560  2560 F DEBUG   : pid: 2529, tid: 2551, name: SDLThread  >>> org.test.myapp <<<
09-25 12:23:32.233  2560  2560 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x34
09-25 12:23:32.233  2560  2560 F DEBUG   : Cause: null pointer dereference
09-25 12:23:32.233  2560  2560 F DEBUG   :     r0 00000000  r1 00000001  r2 dca465cc  r3 00000001
09-25 12:23:32.233  2560  2560 F DEBUG   :     r4 00000000  r5 cee73a54  r6 00008be7  r7 00000001
09-25 12:23:32.233  2560  2560 F DEBUG   :     r8 cedd2f80  r9 cee73a54  sl 00000000  fp cedcb400
09-25 12:23:32.233  2560  2560 F DEBUG   :     ip cee73a54  sp cf9fdf28  lr dc8ff2f9  pc dc8ff2fc  cpsr 800f0030
09-25 12:23:32.255  2560  2560 F DEBUG   :
09-25 12:23:32.255  2560  2560 F DEBUG   : backtrace:
09-25 12:23:32.255  2560  2560 F DEBUG   :     #00 pc 000eb2fc  /vendor/lib/egl/libGLESv2_adreno.so (_ZN10EsxContext17DrawParamValidateEjiiii+571)
09-25 12:23:32.255  2560  2560 F DEBUG   :     #01 pc 000f01af  /vendor/lib/egl/libGLESv2_adreno.so (_ZN21EsxGlApiParamValidate14GlDrawElementsEP11EsxDispatchjijPKv+142)
09-25 12:23:32.255  2560  2560 F DEBUG   :     #02 pc 000a59cd  /vendor/lib/egl/libGLESv2_adreno.so (glDrawElements+44)
09-25 12:23:32.255  2560  2560 F DEBUG   :     #03 pc 00002b17  /data/data/org.test.myapp/files/app/lib/python2.7/site-packages/kivy/graphics/vbo.so
09-25 12:23:33.123   731   731 E /system/bin/tombstoned: Tombstone written to: /data/tombstones//tombstone_07
09-25 12:23:33.126   906  2561 W ActivityManager:   Force finishing activity org.test.myapp/org.kivy.android.PythonActivity
09-25 12:23:33.132   906   979 I BootReceiver: Copying /data/tombstones/tombstone_07 to DropBox (SYSTEM_TOMBSTONE)
09-25 12:23:33.134   906   938 I ActivityManager: Showing crash dialog for package org.test.myapp u0
09-25 12:23:33.139   651   651 E lowmemorykiller: Error writing /proc/2529/oom_score_adj; errno=22
09-25 12:23:33.149   486  1223 E SurfaceFlinger: Failed to find layer (SurfaceView - org.test.myapp/org.kivy.android.PythonActivity#0) in layer parent (no-parent).
09-25 12:23:33.149   486  1223 E SurfaceFlinger: Failed to find layer (Background for - SurfaceView - org.test.myapp/org.kivy.android.PythonActivity#0) in layer parent (no-parent).
09-25 12:23:33.150   906  1148 W InputDispatcher: channel '8582c55 org.test.myapp/org.kivy.android.PythonActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
09-25 12:23:33.150   906  1148 E InputDispatcher: channel '8582c55 org.test.myapp/org.kivy.android.PythonActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
09-25 12:23:33.151   906  8675 I WindowManager: WIN DEATH: Window{8582c55 u0 org.test.myapp/org.kivy.android.PythonActivity}
09-25 12:23:33.151   906  8675 W InputDispatcher: Attempted to unregister already unregistered input channel '8582c55 org.test.myapp/org.kivy.android.PythonActivity (server)'
09-25 12:23:33.157   906 12306 I ActivityManager: Process org.test.myapp (pid 2529) has died: vis  +99TOP
09-25 12:23:33.172   906   990 W ActivityManager: setHasOverlayUi called on unknown pid: 2529
09-25 12:23:33.188   614   614 I Zygote  : Process 2529 exited due to signal (11)
09-25 12:23:33.224   906  2477 I OpenGLRenderer: Initialized EGL, version 1.4
09-25 12:23:33.224   906  2477 D OpenGLRenderer: Swap behavior 2
09-25 12:23:33.355  9682  9854 W MessageQueue: Handler (loc) {c525} sending message to a Handler on a dead thread
09-25 12:23:33.355  9682  9854 W MessageQueue: java.lang.IllegalStateException: Handler (loc) {c525} sending message to a Handler on a dead thread
09-25 12:23:33.355  9682  9854 W MessageQueue: 	at android.os.MessageQueue.enqueueMessage(MessageQueue.java:545)
09-25 12:23:33.355  9682  9854 W MessageQueue: 	at android.os.Handler.enqueueMessage(Handler.java:661)
09-25 12:23:33.355  9682  9854 W MessageQueue: 	at android.os.Handler.sendMessageAtTime(Handler.java:630)
09-25 12:23:33.355  9682  9854 W MessageQueue: 	at android.os.Handler.sendMessageDelayed(Handler.java:600)
09-25 12:23:33.355  9682  9854 W MessageQueue: 	at android.os.Handler.sendMessage(Handler.java:537)
09-25 12:23:33.355  9682  9854 W MessageQueue: 	at loc.a(Unknown Source:10)
09-25 12:23:33.355  9682  9854 W MessageQueue: 	at loa.c(:com.google.android.gms@11509940:10)
09-25 12:23:33.355  9682  9854 W MessageQueue: 	at loa.a(:com.google.android.gms@11509940:25)
09-25 12:23:33.355  9682  9854 W MessageQueue: 	at koo.a(Unknown Source:2)
09-25 12:23:33.355  9682  9854 W MessageQueue: 	at koy.onTransact(:com.google.android.gms@11509940:3)
09-25 12:23:33.355  9682  9854 W MessageQueue: 	at android.os.Binder.execTransact(Binder.java:674)
09-25 12:23:33.812   630  1193 D audio_hw_primary: disable_audio_route: usecase(1) reset and update mixer path: low-latency-playback speaker
09-25 12:23:33.815   630  1193 D hardware_info: hw_info_append_hw_type : device_name = speaker
09-25 12:23:33.815   630  1193 D audio_hw_primary: disable_snd_device: snd_device(2: speaker)
09-25 12:23:35.792 10116  2566 I EventLogSendingHelper: Sending log events.
09-25 12:23:35.930 19498 19498 I clatd   : Detecting NAT64 prefix from DNS...
09-25 12:23:35.933 19498 19498 E clatd   : plat_prefix/dns(ipv4only.arpa) status = 7/No address associated with hostname
09-25 12:23:35.933 19498 19498 W clatd   : dns64_detection -- error, sleeping for 120 seconds

kdheepak avatar Sep 25 '17 18:09 kdheepak

Not sure what's happening, but it seems it doesn't like a glDrawElements call in the VBO module.

which of there is only one: https://github.com/kivy/kivy/blob/master/kivy/graphics/vbo.pyx#L232 so it could be a good starting point to look at what's causing it.

Last time i checked, 3D model loading in kivy on android worked, although i didn't check this particular example.

tshirtman avatar Sep 26 '17 17:09 tshirtman

Tried with master through manually built Kivy Launcher on Android 4.4.1 and it works just fine. Just a wild guess, but shouldn't it use GLES 2 instead?

[INFO ] [GL ] OpenGL version <OpenGL ES 3.2 [email protected] (GIT@7142022, Ib5823dd10c) (Date:06/23/17)>

KeyWeeUsr avatar Sep 30 '17 18:09 KeyWeeUsr

If I'm manually compiling, how could I specify the gles version? I'm hitting this issue on Nexus 6, Android 7.1 with py3 with Crystax NDK.

bit-garden avatar Oct 25 '17 05:10 bit-garden

I recently hit the issue with kivy3dgui. I'm still trying to dig the issue, but i saw some error about vertex attribute not declared in the shader, therefore any attempts to bind them will fail with GL error. However, after fixing thoses in the Kivy source code, i still get the crash. Didn't find the real deal here yet.

tito avatar Oct 18 '18 09:10 tito

I haven't found the root of the segfault. It happen directly after the next glDrawElements when the vertex format change (aka when switching to other glAttribVertexPointer). Everything is correctly disabled before enabling the new vertex format. The shader is correctly bound.

I got an OnePlus 3T, Android 8.0.0. Maybe be an issue with the driver then.

tito avatar Oct 19 '18 16:10 tito

Get the same error on Redmi 5 Plus, and any other apk with shaders get this error! Python 3.5, Kivy 1.11.1

yevgeniyclaudio avatar Dec 02 '19 14:12 yevgeniyclaudio

hello, I had a very similar problem on a xiaomi redmi note 9s, my shader worked perfectly on the huawei p30 pro but not on the xiaomi. The solution is to use texture2D (texture0, tex_coord0) when assigning the values ​​to the gl_FragColor, I think it is due to the close relationship between the vertex shader and the fragment, this is an example of my shader taken from shadertoy with adaptation of my part.

clouds (change to extencion glsl).txt

moonpyx avatar Aug 01 '20 22:08 moonpyx

Hello, doing some tests at the end I managed to get Suzzane's example working using pydroid on a motorola, the adjustment I made to the code was in the simple.glsl and it is the following, I hope it will be useful for you in the future

/* simple.glsl

simple diffuse lighting based on laberts cosine law; see e.g.:
    http://en.wikipedia.org/wiki/Lambertian_reflectance
    http://en.wikipedia.org/wiki/Lambert%27s_cosine_law
*/
---VERTEX SHADER-------------------------------------------------------
$HEADER$

attribute vec3  v_pos;
attribute vec3  v_normal;

//uniform mat4 modelview_mat;
//uniform mat4 projection_mat;

varying vec4 normal_vec;
varying vec4 vertex_pos;

void main (void) {
    //compute vertex position in eye_space and normalize normal vector
    vec4 pos = modelview_mat * vec4(v_pos,1.0);
    vertex_pos = pos;
    normal_vec = vec4(v_normal,0.0);
    gl_Position = projection_mat * pos;
}


---FRAGMENT SHADER-----------------------------------------------------
$HEADER$

varying vec4 normal_vec;
varying vec4 vertex_pos;

uniform mat4 normal_mat;

void main (void){
    //correct normal, and compute light vector (assume light at the eye)
    vec4 v_normal = normalize( normal_mat * normal_vec ) ;
    vec4 v_light = normalize( vec4(0,0,0,1) - vertex_pos );
    //reflectance based on lamberts law of cosine
    float theta = clamp(dot(v_normal, v_light), 0.0, 1.0);
    gl_FragColor = vec4(theta, theta, theta, 1.0)*texture2D(texture0, tex_coord0);
}

moonpyx avatar Mar 19 '21 15:03 moonpyx

I recently ran into a similar bug with a custom shader on Adreno GPUs.

I think the reason is this -> https://kivy.org/doc/stable/api-kivy.graphics.shader.html#header-inclusion

Kivy will always include default parameters.

After taking a look at the default shaders and adopt some naming, my shader worked as expected. It looks like Adreno (and probably other GPUs) don't like receiving parameters which are not declared or declared multiple times in the shader file, although other GPUs are less picky.

Maybe someone is motivated to double check, so this issue finally can be closed.

rnixx avatar Jul 14 '22 11:07 rnixx