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

Exception TypeError: "'NoneType' object is not callable" in 'kivent_core.rendering.fixedvbo.FixedVBO.reload' ignored #271

Open
LarsDu opened this issue Jun 22, 2018 · 9 comments

Comments

@LarsDu
Copy link

LarsDu commented Jun 22, 2018

I recently bought a new Macbook pro (2016) with an AMD Radeon Pro 450.

Despite having an identical system config to my old Macbook (which uses integrated graphics), I get the following error followed by a segfault after several seconds of running:

 Exception TypeError: "'NoneType' object is not callable" in 'kivent_core.rendering.fixedvbo.FixedVBO.reload' ignored

I believe this is actually an engine bug that has something to do with Radeon hardware or OpenGl implementation. This crash occurs on any kivent app that uses color changing shaders including example number 9 (twinkling stars). This also effects a custom shader I have wrote, and another user has encountered the same issue:
https://groups.google.com/forum/#!topic/kivent/KMhOuexQwLY

Startup info:

[INFO   ] [Logger      ] Record log in /Users/ladu/.kivy/logs/kivy_18-06-22_95.txt
[INFO   ] [Kivy        ] v1.11.0.dev0, git-Unknown, 20180622
[INFO   ] [Python      ] v2.7.15 |Anaconda, Inc.| (default, May  1 2018, 18:37:05)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_imageio, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
[INFO   ] [GL          ] Backend used <gl>
[INFO   ] [GL          ] OpenGL version <2.1 ATI-1.66.31>
[INFO   ] [GL          ] OpenGL vendor <ATI Technologies Inc.>
[INFO   ] [GL          ] OpenGL renderer <AMD Radeon Pro 450 OpenGL Engine>
[INFO   ] [GL          ] OpenGL parsed version: 2, 1
[INFO   ] [GL          ] Shading version <1.20>
[INFO   ] [GL          ] Texture max size <16384>
[INFO   ] [GL          ] Texture max units <16>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [AudioGstplayer] Using Gstreamer 1.14.1.0
[INFO   ] [Audio       ] Providers: audio_gstplayer, audio_sdl2 (audio_ffpyplayer, audio_avplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Shader      ] Read </Users/ladu/builds/kivent/examples/assets/glsl/positionshader.glsl>
@Sires0
Copy link

Sires0 commented Aug 11, 2018

I get the issue as well, I'm not using Macbook but I use integrated graphics too. I was writing a game with alot of moving entities and I wanted to delete them when they get out of the screen, and I made a loop deleting every 1 sec, and everytime the loop is called, at the last entity it gets this exception

@Sires0
Copy link

Sires0 commented Aug 11, 2018

To help, I placed a bunch of print statements at the location of the exception, and figured out it happens at line 171, "context.trigger_gl_dealloc()". So context seems to be Nonetype at this exact time

@Sires0
Copy link

Sires0 commented Aug 11, 2018

Hmm, the context isn't None, it is some internal kivy.graphics.context exception probably in trigger_gl_dealloc or gl_dealloc

@LarsDu
Copy link
Author

LarsDu commented Aug 16, 2018

Any idea on how to fix this Sires0?

@Sires0
Copy link

Sires0 commented Aug 24, 2018

I've been trying to locate the reason of the error, no sucess so far, I'll have to keep trying

@LarsDu
Copy link
Author

LarsDu commented Aug 24, 2018

Keep going at it! It would be helpful getting my silly mobile game to run on my laptop:https://www.youtube.com/watch?v=e_MNbgrjB-8

@Sires0
Copy link

Sires0 commented Sep 2, 2018

I'm somewhat busy rn, I'll work in it when I can, btw great game :P

@dotmatrixhero
Copy link

I'm getting this while running on android, too.

@dotmatrixhero
Copy link

I don't know if this is at all a stable fix, but I found that
trigger_gl_dealloc is just a one line call:
Clock.schedule_del_safe(self.gl_dealloc)

I import clock and replaced the call with

Clock.schedule_del_safe(context.gl_dealloc)

In fixedvbo and I stopped seeing the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants