Kivy: Ошибка сегментации в Raspberry 3B +

Созданный на 22 окт. 2018  ·  44Комментарии  ·  Источник: kivy/kivy

Версии

  • Python: 3.5.3
  • ОС: Raspbian GNU / Linux 9.4 (stretch)
  • Киви: v1.11.0.dev0, git-916b77b, 20181022
  • Метод установки Kivy: sudo pip3 install git + https://github.com/kivy/kivy.git@master

Описание

Я пытаюсь выполнить демонстрацию app_with_kv.py но она всегда показывает ошибку segmentation fault . Я использую экран TFT отсюда .

Код и журналы

[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_18-10-22_12.txt
[INFO   ] [Kivy        ] v1.11.0.dev0, git-916b77b, 20181022
[INFO   ] [Python      ] v3.5.3 (default, Sep 27 2018, 17:25:39) 
[GCC 6.3.0 20170516]
[INFO   ] [Factory     ] 184 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Window      ] Provider: egl_rpi
[INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
[INFO   ] [GL          ] Backend used <sdl2>
Segmentation fault
RPi High SDL2 Confirmed

Самый полезный комментарий

Была аналогичная проблема с этим. По какой-то причине sdl2 вызывается вместо gl для Backend. Я не знаю, есть ли для этого постоянное исправление, но после некоторого времени, пытающегося найти исправление, единственное решение, которое я мог придумать, - это добавить 2 строки поверх вашего приложения перед импортом Kivy. Должно выглядеть так:

import os
os.environ['KIVY_GL_BACKEND'] = 'gl'
import kivy

Надеюсь, это поможет. Удачи!

Ps. Если вы хотите запустить свое приложение в Windows, вы можете оставить комментарий os.environ['KIVY_GL_BACKEND'] = 'gl' иначе оно не запустится.

Все 44 Комментарий

Была аналогичная проблема с этим. По какой-то причине sdl2 вызывается вместо gl для Backend. Я не знаю, есть ли для этого постоянное исправление, но после некоторого времени, пытающегося найти исправление, единственное решение, которое я мог придумать, - это добавить 2 строки поверх вашего приложения перед импортом Kivy. Должно выглядеть так:

import os
os.environ['KIVY_GL_BACKEND'] = 'gl'
import kivy

Надеюсь, это поможет. Удачи!

Ps. Если вы хотите запустить свое приложение в Windows, вы можете оставить комментарий os.environ['KIVY_GL_BACKEND'] = 'gl' иначе оно не запустится.

Я получаю ту же ошибку на Zero W. Предложение @goadik исправило 3B + для меня, еще не пробовал Zero.

Я также подтверждаю, что решение @goadik работает! И я также отмечаю, что, поскольку это проблема переменной среды, вы можете просто экспортировать переменную следующим образом:

export KIVY_GL_BACKEND=gl

А затем выполните сценарий.

SDL2 используется для динамического поиска символа.
Было бы неплохо иметь обратную трассировку, чтобы понять и исправить проблему.
Переход на серверную часть GL для rpi может быть реализован в зависимости от платформы, но я бы предпочел исправить проблему, лежащую в основе.

Пожалуйста, используйте gdb --args python main.py , введите r , а затем, когда он выйдет из строя, сделайте bt all . Разместите все.

Хорошо. Это результат для gdb --args python main.py :

GNU gdb (Raspbian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from python3...(no debugging symbols found)...done.
(gdb) r
Starting program: /usr/bin/python3 main.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_18-10-27_0.txt
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Kivy        ] v1.11.0.dev0, git-916b77b, 20181022
[INFO   ] [Python      ] v3.5.3 (default, Sep 27 2018, 17:25:39) 
[GCC 6.3.0 20170516]
[INFO   ] [Factory     ] 184 symbols loaded
[DEBUG  ] [App         ] Loading kv <./main.kv>
[DEBUG  ] [App         ] kv <./main.kv> not found
[INFO   ] [Window      ] Provider: egl_rpi
[New Thread 0x74758470 (LWP 973)]
[New Thread 0x73dff470 (LWP 974)]
[New Thread 0x735ff470 (LWP 975)]
[New Thread 0x72dff470 (LWP 976)]
[DEBUG  ] [Window      ] Actual display size: 800x480
[INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
[DEBUG  ] [GL          ] glActiveTexture is not available
[DEBUG  ] [GL          ] glAttachShader is not available
[DEBUG  ] [GL          ] glBindAttribLocation is not available
[DEBUG  ] [GL          ] glBindBuffer is not available
[DEBUG  ] [GL          ] glBindFramebuffer is not available
[DEBUG  ] [GL          ] glBindRenderbuffer is not available
[DEBUG  ] [GL          ] glBindTexture is not available
[DEBUG  ] [GL          ] glBlendColor is not available
[DEBUG  ] [GL          ] glBlendEquation is not available
[DEBUG  ] [GL          ] glBlendEquationSeparate is not available
[DEBUG  ] [GL          ] glBlendFunc is not available
[DEBUG  ] [GL          ] glBlendFuncSeparate is not available
[DEBUG  ] [GL          ] glBufferData is not available
[DEBUG  ] [GL          ] glBufferSubData is not available
[DEBUG  ] [GL          ] glCheckFramebufferStatus is not available
[DEBUG  ] [GL          ] glClear is not available
[DEBUG  ] [GL          ] glClearColor is not available
[DEBUG  ] [GL          ] glClearStencil is not available
[DEBUG  ] [GL          ] glColorMask is not available
[DEBUG  ] [GL          ] glCompileShader is not available
[DEBUG  ] [GL          ] glCompressedTexImage2D is not available
[DEBUG  ] [GL          ] glCompressedTexSubImage2D is not available
[DEBUG  ] [GL          ] glCopyTexImage2D is not available
[DEBUG  ] [GL          ] glCopyTexSubImage2D is not available
[DEBUG  ] [GL          ] glCreateProgram is not available
[DEBUG  ] [GL          ] glCreateShader is not available
[DEBUG  ] [GL          ] glCullFace is not available
[DEBUG  ] [GL          ] glDeleteBuffers is not available
[DEBUG  ] [GL          ] glDeleteFramebuffers is not available
[DEBUG  ] [GL          ] glDeleteProgram is not available
[DEBUG  ] [GL          ] glDeleteRenderbuffers is not available
[DEBUG  ] [GL          ] glDeleteShader is not available
[DEBUG  ] [GL          ] glDeleteTextures is not available
[DEBUG  ] [GL          ] glDepthFunc is not available
[DEBUG  ] [GL          ] glDepthMask is not available
[DEBUG  ] [GL          ] glDetachShader is not available
[DEBUG  ] [GL          ] glDisable is not available
[DEBUG  ] [GL          ] glDisableVertexAttribArray is not available
[DEBUG  ] [GL          ] glDrawArrays is not available
[DEBUG  ] [GL          ] glDrawElements is not available
[DEBUG  ] [GL          ] glEnable is not available
[DEBUG  ] [GL          ] glEnableVertexAttribArray is not available
[DEBUG  ] [GL          ] glFinish is not available
[DEBUG  ] [GL          ] glFlush is not available
[DEBUG  ] [GL          ] glFramebufferRenderbuffer is not available
[DEBUG  ] [GL          ] glFramebufferTexture2D is not available
[DEBUG  ] [GL          ] glFrontFace is not available
[DEBUG  ] [GL          ] glGenBuffers is not available
[DEBUG  ] [GL          ] glGenerateMipmap is not available
[DEBUG  ] [GL          ] glGenFramebuffers is not available
[DEBUG  ] [GL          ] glGenRenderbuffers is not available
[DEBUG  ] [GL          ] glGenTextures is not available
[DEBUG  ] [GL          ] glGetActiveAttrib is not available
[DEBUG  ] [GL          ] glGetActiveUniform is not available
[DEBUG  ] [GL          ] glGetAttachedShaders is not available
[DEBUG  ] [GL          ] glGetAttribLocation is not available
[DEBUG  ] [GL          ] glGetBooleanv is not available
[DEBUG  ] [GL          ] glGetBufferParameteriv is not available
[DEBUG  ] [GL          ] glGetError is not available
[DEBUG  ] [GL          ] glGetFloatv is not available
[DEBUG  ] [GL          ] glGetFramebufferAttachmentParameteriv is not available
[DEBUG  ] [GL          ] glGetIntegerv is not available
[DEBUG  ] [GL          ] glGetProgramInfoLog is not available
[DEBUG  ] [GL          ] glGetProgramiv is not available
[DEBUG  ] [GL          ] glGetRenderbufferParameteriv is not available
[DEBUG  ] [GL          ] glGetShaderInfoLog is not available
[DEBUG  ] [GL          ] glGetShaderiv is not available
[DEBUG  ] [GL          ] glGetShaderSource is not available
[DEBUG  ] [GL          ] glGetString is not available
[DEBUG  ] [GL          ] glGetTexParameterfv is not available
[DEBUG  ] [GL          ] glGetTexParameteriv is not available
[DEBUG  ] [GL          ] glGetUniformfv is not available
[DEBUG  ] [GL          ] glGetUniformiv is not available
[DEBUG  ] [GL          ] glGetUniformLocation is not available
[DEBUG  ] [GL          ] glGetVertexAttribfv is not available
[DEBUG  ] [GL          ] glGetVertexAttribiv is not available
[DEBUG  ] [GL          ] glHint is not available
[DEBUG  ] [GL          ] glIsBuffer is not available
[DEBUG  ] [GL          ] glIsEnabled is not available
[DEBUG  ] [GL          ] glIsFramebuffer is not available
[DEBUG  ] [GL          ] glIsProgram is not available
[DEBUG  ] [GL          ] glIsRenderbuffer is not available
[DEBUG  ] [GL          ] glIsShader is not available
[DEBUG  ] [GL          ] glIsTexture is not available
[DEBUG  ] [GL          ] glLineWidth is not available
[DEBUG  ] [GL          ] glLinkProgram is not available
[DEBUG  ] [GL          ] glPixelStorei is not available
[DEBUG  ] [GL          ] glPolygonOffset is not available
[DEBUG  ] [GL          ] glReadPixels is not available
[DEBUG  ] [GL          ] glRenderbufferStorage is not available
[DEBUG  ] [GL          ] glSampleCoverage is not available
[DEBUG  ] [GL          ] glScissor is not available
[DEBUG  ] [GL          ] glShaderBinary is not available
[DEBUG  ] [GL          ] glShaderSource is not available
[DEBUG  ] [GL          ] glStencilFunc is not available
[DEBUG  ] [GL          ] glStencilFuncSeparate is not available
[DEBUG  ] [GL          ] glStencilMask is not available
[DEBUG  ] [GL          ] glStencilMaskSeparate is not available
[DEBUG  ] [GL          ] glStencilOp is not available
[DEBUG  ] [GL          ] glStencilOpSeparate is not available
[DEBUG  ] [GL          ] glTexImage2D is not available
[DEBUG  ] [GL          ] glTexParameterf is not available
[DEBUG  ] [GL          ] glTexParameteri is not available
[DEBUG  ] [GL          ] glTexSubImage2D is not available
[DEBUG  ] [GL          ] glUniform1f is not available
[DEBUG  ] [GL          ] glUniform1fv is not available
[DEBUG  ] [GL          ] glUniform1i is not available
[DEBUG  ] [GL          ] glUniform1iv is not available
[DEBUG  ] [GL          ] glUniform2f is not available
[DEBUG  ] [GL          ] glUniform2fv is not available
[DEBUG  ] [GL          ] glUniform2i is not available
[DEBUG  ] [GL          ] glUniform2iv is not available
[DEBUG  ] [GL          ] glUniform3f is not available
[DEBUG  ] [GL          ] glUniform3fv is not available
[DEBUG  ] [GL          ] glUniform3i is not available
[DEBUG  ] [GL          ] glUniform3iv is not available
[DEBUG  ] [GL          ] glUniform4f is not available
[DEBUG  ] [GL          ] glUniform4fv is not available
[DEBUG  ] [GL          ] glUniform4i is not available
[DEBUG  ] [GL          ] glUniform4iv is not available
[DEBUG  ] [GL          ] glUniformMatrix4fv is not available
[DEBUG  ] [GL          ] glUseProgram is not available
[DEBUG  ] [GL          ] glValidateProgram is not available
[DEBUG  ] [GL          ] glVertexAttrib1f is not available
[DEBUG  ] [GL          ] glVertexAttrib2f is not available
[DEBUG  ] [GL          ] glVertexAttrib3f is not available
[DEBUG  ] [GL          ] glVertexAttrib4f is not available
[DEBUG  ] [GL          ] glVertexAttribPointer is not available
[DEBUG  ] [GL          ] glViewport is not available
[INFO   ] [GL          ] Backend used <sdl2>

Thread 1 "python3" received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()

Кроме того, поскольку bt all выдал "Нет символа" все "в текущем контексте". сообщение, у меня есть вывод thread apply all bt , который выглядит следующим образом:

Thread 5 (Thread 0x72dff470 (LWP 976)):
#0  0x76f88014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, 
    expected=1, futex_word=0x748885ec <cecservice_notify_available_event+24>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait (sem=sem@entry=0x748885ec <cecservice_notify_available_event+24>, 
    abstime=0x0) at sem_waitcommon.c:115
#2  0x76f88158 in __new_sem_wait_slow (
    sem=0x748885ec <cecservice_notify_available_event+24>, abstime=0x0)
    at sem_waitcommon.c:282
#3  0x7486ec44 in cecservice_notify_func () from /opt/vc/lib/libbcm_host.so
#4  0x747d7cc4 in vcos_thread_entry (arg=0x74888600 <cecservice_notify_task>)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#5  0x76f7efc4 in start_thread (arg=0x72dff470) at pthread_create.c:335
#6  0x76e0cbc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 4 (Thread 0x735ff470 (LWP 975)):
#0  0x76f88014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, 
    expected=1, futex_word=0x74887864 <tvservice_notify_available_event+24>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait (sem=sem@entry=0x74887864 <tvservice_notify_available_event+24>, 
    abstime=0x0) at sem_waitcommon.c:115
#2  0x76f88158 in __new_sem_wait_slow (
    sem=0x74887864 <tvservice_notify_available_event+24>, abstime=0x0)
---Type <return> to continue, or q <return> to quit---
    at sem_waitcommon.c:282
#3  0x7486e084 in tvservice_notify_func () from /opt/vc/lib/libbcm_host.so
#4  0x747d7cc4 in vcos_thread_entry (arg=0x74887878 <tvservice_notify_task>)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#5  0x76f7efc4 in start_thread (arg=0x735ff470) at pthread_create.c:335
#6  0x76e0cbc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 3 (Thread 0x73dff470 (LWP 974)):
#0  0x76f88014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, 
    expected=1, futex_word=0x748886e8 <dispmanx_notify_available_event+24>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait (sem=sem@entry=0x748886e8 <dispmanx_notify_available_event+24>, 
    abstime=0x0) at sem_waitcommon.c:115
#2  0x76f88158 in __new_sem_wait_slow (
    sem=0x748886e8 <dispmanx_notify_available_event+24>, abstime=0x0)
    at sem_waitcommon.c:282
#3  0x74872150 in dispmanx_notify_func () from /opt/vc/lib/libbcm_host.so
#4  0x747d7cc4 in vcos_thread_entry (arg=0x74889428 <dispmanx_notify_task>)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#5  0x76f7efc4 in start_thread (arg=0x73dff470) at pthread_create.c:335
#6  0x76e0cbc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
---Type <return> to continue, or q <return> to quit---

Thread 2 (Thread 0x74758470 (LWP 973)):
#0  0x76e0580c in ioctl () at ../sysdeps/unix/syscall-template.S:84
#1  0x747f1010 in completion_thread () from /opt/vc/lib/libvchiq_arm.so
#2  0x747d7cc4 in vcos_thread_entry (arg=0x74804318 <vchiq_instance+16>)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#3  0x76f7efc4 in start_thread (arg=0x74758470) at pthread_create.c:335
#4  0x76e0cbc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 1 (Thread 0x76ff7010 (LWP 967)):
#0  0x00000000 in ?? ()

#1  0x74bb28d0 in __pyx_pf_4kivy_8graphics_6opengl_138glGetString (
    __pyx_self=<optimized out>, __pyx_v_name=<optimized out>)
    at /tmp/pip-bp1kpwjd-build/kivy/graphics/opengl.c:12436
#2  __pyx_pw_4kivy_8graphics_6opengl_139glGetString (__pyx_self=<optimized out>, 
    __pyx_arg_name=<optimized out>)
    at /tmp/pip-bp1kpwjd-build/kivy/graphics/opengl.c:12415
#3  0x000b1df8 in PyEval_EvalFrameEx ()
#4  0x000b1a7c in PyEval_EvalFrameEx ()
#5  0x000b1a7c in PyEval_EvalFrameEx ()
#6  0x001985c8 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Хорошо, похоже, SDL_GL_GetProcAddress ничего не может найти :( Теперь я понимаю.
Наш метод обнаружения и загрузки opengl привязан к используемому поставщику окон.
Но в этом случае используется egl_rpi , а не SDL2, поэтому функция SDL2 работать не будет.

Требуется исправление, спасибо за сообщение!

Не уверен, уместно ли это добавить сюда, но я думаю, что это как-то связано с новой версией Raspbian. Я попробовал старую (у меня есть изображение), и она отлично сработала.

Проблема с ошибкой сегментации при запуске приложения может быть устранена с помощью переменной среды, но также она дает сбой с той же ошибкой сегментации каждый раз, когда я загружаю график с большим количеством данных для отображения.

Проблема с GDB в том, что если я попытаюсь использовать его как gdb --args python main.py и воспроизвести сбой, RPI просто зависнет, и на этом этапе останется только перезапустить его. Когда я проверяю журналы, они пусты.

Хотел добавить сюда.

У меня была такая же проблема, и, как @goadik, сказал, что это может быть ошибка новой версии raspbian, потому что на моем старом образе (Raspberry3, kivy v1.11.0.dev0, python v3.4.2) приложение kivy работает нормально. Моя проблема описана здесь: https://stackoverflow.com/questions/53122908/kivy-opengl-segmentation-fault-on-raspberry

@krrrambambuli

на моем старом изображении (Raspberry3, kivy v1.11.0.dev0, python v3.4.2) приложение kivy работает нормально

Так почему бы вам не использовать старое изображение?

Разработчики RPi печально известны тем, что выпускают новые «обновления», ломающие самые разные вещи. У меня было так много неприятного опыта с ними, что я полностью отключил все обновления ОС, поступающие от RPi org.

@ E3V3A

Так почему бы вам не использовать старое изображение?

Потому что у меня был RPI, который уже был настроен с последним обновлением raspbian. И мне просто было интересно, почему киви не бегает, хотя я делал то же самое, что и раньше. Теперь я перешел на старый образ, и он работает нормально!

Отныне позабочусь о поспешных обновлениях;)

Возможно, это совершенно не связано, но если я не ошибаюсь: Kivy зависит от SDL2, а SDL2 зависит от cffi и / или Cairo, а cffi сложно построить независимо от архитектуры. Но я наткнулся на следующий пакет pip, возможно, попробовать?

# pip3 search cairocffi 
cairotft (0.1.2)   - UI library for small tft screens using cairocffi

@ E3V3A
Я уже перешел на старый образ. Может быть, полезно знать на будущее

Могу я спросить, какое изображение вы используете и где его найти? Я использую Rpi 3 B + и kivy 1.11.0.dev0, какой образ мне использовать?

@ E3V3A
Я уже перешел на старый образ. Может быть, полезно знать на будущее

Я использую raspbian jessie, последний раз обновлялся 11-6-18 без обновлений. Rpi3, Kivy v1.10.1 и Python 3.4.2
Мой журнал:

[ИНФОРМАЦИЯ] Регистратор: запись журнала в /home/pi/.kivy/logs/kivy_18-11-14_11.txt
[ИНФОРМАЦИЯ] Киви: v1.10.1
[ИНФОРМАЦИЯ] Python: v3.4.2 (по умолчанию, 19 октября 2014 г., 13:31:11)
[GCC 4.9.1]
[ИНФОРМАЦИЯ] KivyMD: Версия KivyMD: 0.1.2
[ИНФОРМАЦИЯ] Заводская: загружено 194 символа.
[INFO] Изображение: поставщики: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer игнорируется)
[INFO] Окно: Поставщик: egl_rpi
[ИНФОРМАЦИЯ] GL: Использование графической системы "OpenGL ES 2"
[INFO] GL: Используется серверная часть
[ИНФОРМАЦИЯ] GL: версия OpenGL [INFO] GL: поставщик OpenGL [ИНФОРМАЦИЯ] GL: средство визуализации OpenGL
[ИНФОРМАЦИЯ] GL: Версия, проанализированная OpenGL: 2, 0
[INFO] GL: Версия затенения
[ИНФОРМАЦИЯ] GL: Максимальный размер текстуры <2048>
[ИНФОРМАЦИЯ] GL: Максимальное количество единиц текстуры <8>
[ИНФОРМАЦИЯ] Окно: виртуальная клавиатура разрешена, многопользовательский режим, не закреплен
[ИНФОРМАЦИЯ] Текст: Поставщик: sdl2
[INFO] GL: Доступна поддержка текстур NPOT
[ИНФОРМАЦИЯ] Буфер обмена: Поставщик: xclip
[ИНФОРМАЦИЯ] CutBuffer: включена поддержка буфера обрезки.
[ИНФОРМАЦИЯ] ProbeSysfs: соответствие устройства: / dev / input / event0
...

Спасибо, была такая же проблема.
экспорт KIVY_GL_BACKEND = gl
починил это.

есть точно такая же проблема в raspberry pi 3b + .. можно ли установить kivy на ядро ​​Ubuntu или любую другую поддерживаемую raspberry pi 3b + ОС?

также, какой образ Raspbian я должен использовать в Raspberry Pi 3b +, чтобы заставить kivy работать

эта проблема не исправлена
с использованием импортной ОС
os.environ ['KIVY_GL_BACKEND'] = 'gl'
импортные киви
это только временное решение

Об этом еще не упоминалось в этой ветке, но может быть уместно, есть ли у кого-то версия Raspbian Lite или PIXEL.

screen shot 2018-12-17 at 8 34 11 am

sdl2 включает зависимость X windows, а Raspbian Lite явно не включает ее.

Я могу подтвердить, что крадется ...

import os
os.environ['KIVY_GL_BACKEND'] = 'gl'

... в верхней части моего скрипта Python работает приложение "Hello, Button" . Я использую версию Stretch Lite.

Какую версию raspbian мне следует использовать, чтобы не было этой проблемы?
Я попытался перевести свою ОС на Raspbian Jessie 8.0, но у меня такая же ошибка сегмента ...

Какую версию raspbian мне следует использовать, чтобы не было этой проблемы?
Я попытался перевести свою ОС на Raspbian Jessie 8.0, но у меня такая же ошибка сегмента ...

Та же проблема здесь с raspberry pi 3b +:

Стартовая программа: / usr / bin / python3 /home/pi/sorbito/main.py
[Отладка потоков с использованием libthread_db включена]
Использование библиотеки libthread_db хоста "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[ИНФОРМАЦИЯ] [Регистратор] Запись журнала в /home/pi/.kivy/logs/kivy_19-02-13_3.txt
[ИНФОРМАЦИЯ] [Kivy] v1.11.0.dev0, git-233cdd1, 20190212
[INFO] [Python] v3.5.3 (по умолчанию, 27 сентября 2018 г., 17:25:39)
[GCC 6.3.0 20170516]
[ИНФОРМАЦИЯ] [Заводские] Загружены 184 символа.
[INFO] [Image] Провайдеры: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer игнорируются)
[ИНФОРМАЦИЯ] [Текст] Поставщик: sdl2
[INFO] [Window] Провайдер: egl_rpi
[Новая тема 0x747ff470 (LWP 2420)]
[Новая тема 0x73dff470 (LWP 2421)]
[Новая тема 0x735ff470 (LWP 2422)]
[Новая тема 0x72dff470 (LWP 2423)]
[INFO] [GL] Использование графической системы "OpenGL ES 2"
[INFO] [GL] Используемый бэкэнд

Поток 1 «python3» получил сигнал SIGSEGV, ошибка сегментации.
0x00000000 в ?? ()

Бревно:
[ИНФОРМАЦИЯ] Регистратор: запись журнала в /home/pi/.kivy/logs/kivy_19-02-13_3.txt
[ИНФОРМАЦИЯ] Киви: v1.11.0.dev0, git-233cdd1, 20190212
[ИНФОРМАЦИЯ] Python: v3.5.3 (по умолчанию, 27 сентября 2018 г., 17:25:39)
[GCC 6.3.0 20170516]
[ИНФОРМАЦИЯ] Заводская: загружено 184 символа.
[INFO] Изображение: поставщики: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer игнорируются)
[ИНФОРМАЦИЯ] Текст: Поставщик: sdl2
[INFO] Окно: Поставщик: egl_rpi
[ИНФОРМАЦИЯ] GL: Использование графической системы "OpenGL ES 2"
[INFO] GL: Используется серверная часть

По-прежнему нет решения этой проблемы?

os.environ ['KIVY_GL_BACKEND'] = 'gl' вообще не помогает с v1.11.0.dev0, git-9ebad2d, 20190516

Получение: [CRITICAL] [App] Невозможно получить окно, отменить

И в более старой версии, такой как 1.10.1, у меня нет поддержки прозрачного PNG ... все прозрачные PNG рисуются на черном фоне ... тот же код отлично работает на Debian 9 ...

Так будет ли поддержка RPi Stretch-Lite больше никогда не будет?

Прочтите мой последний комментарий к этой ветке. У меня это работает на Raspbian Stretch Lite (ноябрь 2018 г.), и моя версия 1.10.1 _ поддерживает_ около сотни изображений в формате PNG, которые я использую с прозрачным фоном.

Подтверждение сборки с использованием последней стабильной версии (1.11.0) в полностью обновленной установке stretch-lite на любом RPI вызывает эту ошибку сегментации. Для работы с RPI необходимо собрать stable-1.10.1. Я не уверен, зачем вам выпускать стабильную версию, в которой эта проблема возникает на основной платформе более 6 месяцев.

Я тоже испытываю эту проблему на raspberry 3 B +, на raspbian lite

Прямо сейчас хороший обходной путь - убедиться, что Pillow установлен, а затем запустить kivy с KIVY_WINDOW=sdl2 . В этом случае нет необходимости устанавливать бэкэнд gl, поскольку будет использоваться sdl2. Если вы хотите использовать поставщика окон egl_rpi , тогда необходимо установить бэкэнд gl.

Это определенно квалифицируется как ошибка регрессии. Установка на RPI 3B + как

pip install git+https://github.com/kivy/[email protected]

отображается в ошибке сегментации, тогда как

pip install git+https://github.com/kivy/[email protected]

работает как шарм.

Планирую исправить в пост-релизе.

В среду, 12 июня 2019 г., 13:11 RafalSkolasinski [email protected]
написал:

Это определенно квалифицируется как ошибка регрессии. Установка на RPI 3B + как

pip install git + https://github.com/kivy/[email protected]

отображается в ошибке сегментации, тогда как

pip install git + https://github.com/kivy/[email protected]

работает как шарм.

-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/kivy/kivy/issues/6007?email_source=notifications&email_token=AAMRN7T3A2SZJ5OE4QQ63NDP2EU2XA5CNFSM4F6QJQM2YY3PNVWWK3TUL52HSG63LVMVREK3PNVWWK3TUL52HSG43LVMVREK3TUL52HSG63LVMVREV08
или отключить поток
https://github.com/notifications/unsubscribe-auth/AAMRN7XWDPCYLGW5QREDN3DP2EU2XANCNFSM4F6QJQMQ
.

Можете ли вы протестировать https://github.com/kivy/kivy/pull/6384 ? Это должно исправить это, а также позволить вам использовать любой из трех бэкэндов при выборе вручную (egl_rpi, sdl2 и x11, если он скомпилирован).

Я могу проверить это позже сегодня или завтра.

13 июня 2019 г., 22:52, matham, [email protected] написал:

Можете ли вы протестировать # 6384 https://github.com/kivy/kivy/pull/6384 ? Это должно
исправить это, а также позволить вам использовать любой из трех бэкэндов при выборе
вручную (egl_rpi, sdl2 и x11, если скомпилирован).

-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/kivy/kivy/issues/6007?email_source=notifications&email_token=ACTL75LVT74IBQJQ4W5QARTP2K6RXA5CNFSM4F6QJQM2YY3PNVWWK3TUL52HS4DFVREXG43V2HS4DFVREXG43V2HS4DFVREXG43V2HS4DFVREXG43V2
или отключить поток
https://github.com/notifications/unsubscribe-auth/ACTL75OGYIBPXEVW33B57KLP2K6RXANCNFSM4F6QJQMQ
.

6384 Исправляет это при использовании egl_rpi на raspbian-lite, экспорт не требуется.

[ИНФОРМАЦИЯ] Регистратор: запись журнала в /home/pi/.kivy/logs/kivy_19-06-14_1.txt
[INFO] Изображение: поставщики: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer игнорируются)
[ИНФОРМАЦИЯ] Киви: v2.0.0.dev0, git-dccba95, 20190614
[ИНФОРМАЦИЯ] Kivy: установлено в "/home/pi/Stuff/kivy-fix/kivy/__init__.py"
[ИНФОРМАЦИЯ] Python: v3.5.3 (по умолчанию, 27 сентября 2018 г., 17:25:39)
[GCC 6.3.0 20170516]
[ИНФОРМАЦИЯ] Python: интерпретатор в "/ usr / bin / python3"
[ИНФОРМАЦИЯ] Заводская: загружено 184 символа.
[ИНФОРМАЦИЯ] Текст: Поставщик: sdl2
[INFO] Окно: Поставщик: egl_rpi
[ИНФОРМАЦИЯ] GL: Использование графической системы "OpenGL ES 2"
[INFO] GL: Используется серверная часть
[ИНФОРМАЦИЯ] GL: версия OpenGL [INFO] GL: поставщик OpenGL [ИНФОРМАЦИЯ] GL: средство визуализации OpenGL
[ИНФОРМАЦИЯ] GL: Версия, проанализированная OpenGL: 2, 0
[ИНФОРМАЦИЯ] GL: Shading v

Да, это работает.
Изначально у меня была проблема и возникли ошибки

[CRITICAL] [Window      ] Unable to find any valuable Window provider.

но после добавления pillow заработало.
Я думаю, pillow - это новые зависимости, добавленные в 1.11 ?

редактировать:
Будет ли это исправление выпущено в 1.11.1 ? я понимаю

[INFO ] Kivy: v2.0.0.dev0, git-dccba95, 20190614

в логах.

Это будет выбрано в пост-выпуске 1.11.0.post0 (https://github.com/kivy/kivy/pull/6357). Таким образом, люди, которые нацелены на 1.11.0 при установке, автоматически получат фиксированную версию (при условии, что pip делает здесь правильную вещь и устанавливает 1.11.0.post0 когда запрашивается 1.11.0 ).

Обычно я бы выбрал 1.11.1, но это не очень хорошо работает с нашим рабочим процессом, учитывая, что мы перешли на 2.0.0 и следующий выпуск ломают такие вещи, как поддержка python 2. Этот релиз должен произойти очень скоро.

Что касается подушки, я не уверен, в чем дело. sdl2_image должен был сработать (я думаю, он работал раньше?), Но по какой-то причине он не может загрузить изображение. Я предполагаю, что это потребует дальнейшего устранения неполадок (PR приветствуются). В любом случае, я обновил документы, чтобы указать подушку как зависимость.

Я бы выбрал 1.11.1, так как тогда ясно, что исправление ошибки включено. Давайте
надеюсь, что пип, мы будем поступать правильно.

Пт, 14 июня 2019 г., 17:11 matham, [email protected] написал:

Это будет добавлено в пост-релиз 1.11.0.post0 (# 6357
https://github.com/kivy/kivy/pull/6357 ). Таким образом, люди, которые нацелены
1.11.0 при установке автоматически получит исправленную версию (при условии
pip делает здесь правильные вещи и устанавливает 1.11.0.post0, когда 1.11.0
запрошено).

Обычно я бы выбрал 1.11.1, но это не очень хорошо работает с нашим
рабочий процесс, учитывая наш переход на 2.0.0 и следующий выпуск, ломающий такие вещи, как
в качестве поддержки Python 2. Этот релиз должен произойти очень скоро.

Что касается подушки, я не уверен, в чем дело. sdl2_image должен был работать
(Думаю, раньше это работало?), Но по какой-то причине не удается загрузить
изображение. Я предполагаю, что это потребует дальнейшего устранения неполадок (PR приветствуются). В
в любом случае, я обновил документы, чтобы указать подушку как зависимость.

-
Вы получаете это, потому что подписаны на эту ветку.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/kivy/kivy/issues/6007?email_source=notifications&email_token=ACTL75LMHH3Q2FDKYW4HTUTP2O7LDA5CNFSM4F6QJQM2YY3PNVWWK3TUL52HS4DFMVREXG43
или отключить поток
https://github.com/notifications/unsubscribe-auth/ACTL75NBY6O6KBPR4QT3LPDP2O7LDANCNFSM4F6QJQMQ
.

Если вы запросите 1.11.0 , pip, скорее всего, установит не 1.11.1 , а именно 1.11.0. Я не уверен, что он сделает, если мы попросим 1.11 ,

О, я имел в виду, что он установит исправленный ".post0", когда мы попросим "1.11.0" :)

Пт, 14 июня 2019 г., 19:29 matham, [email protected] написал:

Если вы попросите 1.11.0, pip, скорее всего, установит не 1.11.1, а 1.11.0
точно. Я не уверен, что он сделает, если мы попросим 1.11,

-
Вы получаете это, потому что подписаны на эту ветку.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/kivy/kivy/issues/6007?email_source=notifications&email_token=ACTL75JZDOPPHORTC3LEVZTP2PPPNA5CNFSM4F6QJQM2YY3PNVWWK3TUL52HS4DFVREXWORXG63LNVMVODI
или отключить поток
https://github.com/notifications/unsubscribe-auth/ACTL75KC3BTJGUQTTBMAHLDP2PPPNANCNFSM4F6QJQMQ
.

Как обсуждалось выше, я добавил export KIVY_GL_BACKEND=gl в путь, и теперь у меня возникает еще одна проблема, в которой говорится ...
create_window() takes 1 positional argument but 2 were given

пожалуйста, помогите мне выйти из этой ошибки.
когда я запускаю свой код в Raspberry Pi

sudo python3 main.py
[ПРЕДУПРЕЖДЕНИЕ] [Config] Обнаружена более старая версия конфигурации (0 вместо 14)
[ПРЕДУПРЕЖДЕНИЕ] [Config] Выполняется обновление конфигурации.
[INFO] [Logger] Запись журнала в /root/.kivy/logs/kivy_19-06-17_0.txt
[ИНФОРМАЦИЯ] [Киви] v1.9.1
[INFO] [Python] v3.5.3 (по умолчанию, 27 сентября 2018 г., 17:25:39)
[GCC 6.3.0 20170516]
[ИНФОРМАЦИЯ] [Заводские] загружено 179 символов.
[INFO] [Image] Провайдеры: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer игнорируется)
[ИНФОРМАЦИЯ] [Текст] Поставщик: sdl2
[INFO] [OSC] с использованиемдля розетки
[INFO] [Window] Provider: sdl2 (['window_egl_rpi'] игнорируется)
ошибка: XDG_RUNTIME_DIR не установлен в среде.
[КРИТИЧНО] [Window] Невозможно найти какого-либо ценного поставщика Windows!
egl_rpi - ImportError: невозможно импортировать имя 'bcm'
Файл "/usr/lib/python3/dist-packages/kivy/core/__init__.py", строка 59, в core_select_lib
fromlist = [название модуля], уровень = 0)
Файл "/usr/lib/python3/dist-packages/kivy/core/window/window_egl_rpi.py", строка 12, в
из kivy.lib.vidcore_lite импорт bcm, egl

sdl2 - RuntimeError: b'Нет доступного видеоустройства '
Файл "/usr/lib/python3/dist-packages/kivy/core/__init__.py", строка 67, в core_select_lib
cls = cls ()
Файл "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", строка 138, в __init__
super (WindowSDL, сам) .__ init __ ()
Файл "/usr/lib/python3/dist-packages/kivy/core/window/__init__.py", строка 722, в __init__
self.create_window ()
Файл "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", строка 237, в create_window
self.fullscreen, изменяемый размер, состояние)
Файл "kivy / core / window / _window_sdl2.pyx", строка 80, в kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window (kivy / core / window / _window_sdl2.c: 1893)
Файл "kivy / core / window / _window_sdl2.pyx", строка 55, в kivy.core.window._window_sdl2._WindowSDL2Storage.die (kivy / core / window / _window_sdl2.c: 1479)

x11 - ImportError: нет модуля с именем 'kivy.core.window.window_x11'
Файл "/usr/lib/python3/dist-packages/kivy/core/__init__.py", строка 59, в core_select_lib
fromlist = [название модуля], уровень = 0)

[КРИТИЧЕСКИЙ] [Приложение] Невозможно получить окно, отменить.
Исключение игнорируется в: 'kivy.properties.dpi2px'
Отслеживание (последний вызов последний):
Файл "/usr/lib/python3/dist-packages/kivy/utils.py", строка 513, в __get__
retval = self.func (inst)
Файл "/usr/lib/python3/dist-packages/kivy/metrics.py", строка 175, в dpi.
EventLoop.ensure_window ()
Файл "/usr/lib/python3/dist-packages/kivy/base.py", строка 126, в sure_window
sys.exit (1)
SystemExit: 1
[КРИТИЧЕСКИЙ] [Приложение] Невозможно получить окно, отменить.

Кто угодно, дайте мне знать, что мне делать.

@ jayeshsingh9767 вы пробовали с мастером или с последней версией? Это было исправлено в мастере, но мы еще не выпустили новый выпуск, включающий исправление.

@ harshp1301 эта ошибка не связана с этой проблемой. Это тоже похоже на проблему с вашей системой, а не с kivy. За поддержкой обращайтесь в Discord.

@matham Спасибо, но проблема решена, когда я удалил Window.size() из своего кода.
Я думаю, что мы не можем управлять приложением kivy Window в Raspberry Pi .... Но может кто-нибудь объяснить мне, почему?
Примечание: Wimdow.size() отлично работает на Ubuntu ...

Это не связано с этой проблемой, поэтому, может быть, открыть новую проблему для этого (если таковой не существует)? Но, возможно, это невозможно с бэкэндом окна egl_rpi. Я бы попробовал с бэкэндом sdl2 или бэкэндом окна x11 (я думаю, что оба размера можно изменять даже на pi).

У меня были аналогичные проблемы с реальной операционной системой raspbian lite (2020-05-27) -> после первой загрузки у меня возникла ошибка сегментации. Затем я попробовал переключиться на gl. После этого у меня появился какой-то экран и черный курсор без какого-либо содержимого из моего графического интерфейса.
Если я вернусь к предыдущей версии raspbian lite, она будет работать с Kivy 1.11.1. Собственно не знаю, в чем именно разница. Похоже, что есть некоторые обновления, которые вызывают эту проблему (библиотеки, прошивка ...?). К счастью, я сделал резервную копию старой SD-карты и восстановил ее для своего фактически используемого графического интерфейса.
Я решил использовать Kivy по той причине, что мне не нужно устанавливать X11. Мой графический интерфейс работает в консоли ...

@AndreasPantle У меня такой же опыт работы с 1.11.1 и Raspberry PI OS (переименованной в Raspbian). Собираюсь дать 1.10.1 вихрь и посмотреть, что произойдет. kivy является зависимостью для медиа-контроллера Mission Pinball, поэтому может не иметь возможности перевернуть версию.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги
bleepcoder.com использует общественно лицензированную информацию GitHub для предоставления решений разработчикам по всему миру. Мы не аффилированы с GitHub, Inc. или любым другим разработчиком, использующим GitHub для своих проектов. Мы не размещаем видео или изображения на наших серверах. Все права принадлежат их соответствующим владельцам.
Источник для этой страницы: Источник

Популярные языки программирования
Популярные проекты GitHub
Больше проектов GitHub

© 2024 bleepcoder.com - Contact
Made with in the Dominican Republic.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.