Seite 1 von 1
Kivy atlas für zu Speicherzugriffsfehler
Verfasst: Mittwoch 27. November 2019, 18:18
von mothome
Hallo zusammen,
ich versuche wie im Tutorial von
http://radar.oreilly.com/2014/05/theming-in-kivy.html das Theme unter Kivy anzupassen.
leider bekomme ich bei:
immer einen Speicherzugriffsfehler. Ohne weiteren Kommentare
Das System: Raspbian Buster mit Python 3.7
Re: Kivy atlas für zu Speicherzugriffsfehler
Verfasst: Mittwoch 27. November 2019, 18:34
von __deets__
Ich waere ja immer skeptisch bei relativen Pfadnamen, die muessen dann schon mit dem working-directory zusammenpassen. Das wuerde ich also testweise mal absolut angeben. Ansonsten kannst du mal sowas in der Art machen:
Code: Alles auswählen
$ gdb python
(gdb) set args /pfad/zum/skript.py
(gdb) run
... Absturz
(gdb) bt
Da kommt ein Stacktrace bei rum. Der wird nicht so besonders super sein, weil du keine Debug-Symbole fuer die diversen Executables hast - aber poste den trotzdem mal, da kann man ggf. etwas draus ablesen.
Und zur Erinnerung, bevor es wieder Entaeuschungen gibt: Kivy hat Entwickler und Bug-Tracker etc, mit denen man Kontakt aufnehmen kann. Und nicht jeder Forist hier hat jedes erdenkliche Stueck Software das jemals fuer Python geschrieben wurde auf jedem im Universum denkbaren System ausprobiert und ist damit intim geworden. Es kann also sein, das wir nicht helfen koennen, und du da wieder "falsch gedacht" hast. Und das wollen wir ja nicht.
Re: Kivy atlas für zu Speicherzugriffsfehler
Verfasst: Donnerstag 28. November 2019, 18:14
von mothome
So, debugger laufen lassen:
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0 0x00000000 in ?? ()
#1 0xb65924f4 in __pyx_f_4kivy_8graphics_12opengl_utils_gl_get_version (__pyx_skip_dispatch=__pyx_skip_dispatch@entry=0)
at /tmp/pip-wheel-dcud3qs9/Kivy/kivy/graphics/opengl_utils.c:5179
#2 0xb6594458 in __pyx_f_4kivy_8graphics_12opengl_utils_gl_get_version_major (__pyx_skip_dispatch=<optimized out>)
at /tmp/pip-wheel-dcud3qs9/Kivy/kivy/graphics/opengl_utils.c:5672
#3 0xb5d73a8c in __pyx_pf_4kivy_8graphics_7texture_2texture_create_from_data (__pyx_self=<optimized out>,
__pyx_v_mipmap=0x3b7518 <_Py_FalseStruct>,
__pyx_v_im=<optimized out>)
at /tmp/pip-wheel-dcud3qs9/Kivy/kivy/graphics/texture.c:10124
#4 __pyx_pw_4kivy_8graphics_7texture_3texture_create_from_data (
__pyx_self=<optimized out>, __pyx_args=<optimized out>,
__pyx_kwds=<optimized out>)
at /tmp/pip-wheel-dcud3qs9/Kivy/kivy/graphics/texture.c:9941
#5 0x001bebf8 in _PyMethodDef_RawFastCallKeywords ()
#6 0x0011c0a4 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Und ich bin nicht enttäuscht, wenn mir keiner helfen kann. (Na vielleicht ein bisschen). Ist halt dann so.
Aber von der Seite anmachen wegen einer Frage lass ich mich dann doch nicht....

Hat aber nis mit diesem Thema zu tun, sondern mit meinem letzte Kivy-Threat
Re: Kivy atlas für zu Speicherzugriffsfehler
Verfasst: Donnerstag 28. November 2019, 18:25
von __deets__
Der Frame des Absturz ist #1 (#0 sieht nicht so sinnvoll aus). Es sieht also so aus, als ob da etwas mit dem OpenGL-Setup (noch) nicht korrekt ist. Kommt die in
https://github.com/kivy/kivy/blob/fbc4d ... s.pyx#L273
beschriebene Fehlermeldung irgendwo in einem Log-Output vor? Wenn nicht, dann ist das ein Zeichen dafuer, dass cgl.glGetString(GL_VERSION) schon kracht. Das hat dann wie gesagt was mit OpenGL zu tun. Ggf. muss dieser Atlas zu einem spaeteren Zeitpunkt angelegt werden. Ich wuerde mir mal Beispiele die das auch machen anschauen, und das mit deinem eigenen Vorgehen abgleichen.
Re: Kivy atlas für zu Speicherzugriffsfehler
Verfasst: Freitag 29. November 2019, 08:56
von mothome
Ich hab mal entgegen dem Beispiel von O'Reilly den
super Aufruf vor die
atlas Zuweisung gesetzt. Fehler weg!
Hätte ich auch selbst drauf kommen können
Wobei ich nicht verstehe, was Atlas mit OpenGL zu tun hat
Danach musste ich feststellen, dass der
append nicht funktionieren wird, da ich Keys dann doppelt habe. Auch da hätte ich vorher darauf kommen können
Again what learned!
Re: Kivy atlas für zu Speicherzugriffsfehler
Verfasst: Freitag 29. November 2019, 09:13
von __blackjack__
@mothome: Kivy nutzt OpenGL zum zeichnen der GUI, da hat also *alles* was mit OpenGL zu tun.
