Kivy: Raspberry 3B +のセグメンテーション違反

作成日 2018年10月22日  ·  44コメント  ·  ソース: kivy/kivy

バージョン

  • Python:3.5.3
  • OS:Raspbian GNU / Linux 9.4(ストレッチ)
  • Kivy: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

最も参考になるコメント

同様の問題がありました。 何らかの理由で、バックエンドのgl代わりにsdl2が呼び出されます。 これに対する恒久的な修正があるかどうかはわかりませんが、修正を見つけようとした後、私が思いつく唯一の解決策は、Kivyをインポートする前にアプリの上に2行を追加することです。 次のようになります。

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

それが役立つことを願っています。 幸運を!

追伸Windowsでアプリを実行したい場合は、 os.environ['KIVY_GL_BACKEND'] = 'gl'にコメントすることをお勧めします。そうしないと、実行されません。

全てのコメント44件

同様の問題がありました。 何らかの理由で、バックエンドのgl代わりにsdl2が呼び出されます。 これに対する恒久的な修正があるかどうかはわかりませんが、修正を見つけようとした後、私が思いつく唯一の解決策は、Kivyをインポートする前にアプリの上に2行を追加することです。 次のようになります。

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

それが役立つことを願っています。 幸運を!

追伸Windowsでアプリを実行したい場合は、 os.environ['KIVY_GL_BACKEND'] = 'gl'にコメントすることをお勧めします。そうしないと、実行されません。

Zero Wでも同じエラーが発生します。

また、 @ goadikのソリューションが機能することを確認します! また、これは環境変数の問題であるため、次のように変数をエクスポートするだけでよいことも指摘します。

export KIVY_GL_BACKEND=gl

次に、スクリプトを実行します。

SDL2は、シンボルを動的にルックアップするために使用されます。
問題を理解して修正するために、バックトレースがあると便利です。
プラットフォームによっては、rpiのGLバックエンドへの移行を実装できますが、根本的な問題を修正したいと思います。

gdb --args python main.pyr 、クラッシュしたら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?)

OK、SDL_GL_GetProcAddressが何も見つからないように見えます:(私は今理解しています。
openglを検出してロードする方法は、使用するウィンドウプロバイダーに関連付けられています。
ただし、この場合、SDL2ではなくegl_rpiが使用されるため、SDL2関数は機能しません。

報告してくれてありがとう、修正が必要です!

ここに追加することが適切かどうかはわかりませんが、新しいバージョンのRaspbianと関係があると思います。 古いもの(画像があります)を試してみましたが、それは魅力のように機能しました。

アプリ起動時のセグメンテーション違反の問題は、環境変数で修正できますが、大量のデータを表示するグラフを読み込むたびに、同じセグメンテーション違反でクラッシュします。

GDBの問題は、 gdb --args python main.pyように使用してクラッシュを再現しようとすると、RPIがフリーズし、この時点であとは再起動するだけで済むことです。 ログを確認すると、ログは空です。

ここに追加したかった。

私は同じ問題を抱えていて、 @ goadikが言ったように、古いイメージ(Raspberry3、kivy v1.11.0.dev0、python v3.4.2)ではkivyアプリが正常に実行されているため、新しいraspbianバージョンのバグである可能性があります。 私の問題はここで説明されています: https

@krrrambambuli

私の古い画像(Raspberry3、kivy v1.11.0.dev0、python v3.4.2)では、kivyアプリは正常に実行されています

では、古い画像を使ってみませんか?

RPi Devは、あらゆる種類のものを壊している新しい「アップデート」をプッシュすることで有名です。 私はこれらについて非常に多くの不快な経験をしたので、RPi組織からのすべてのOS関連の更新を完全に無効にしました。

@ E3V3A

では、古い画像を使ってみませんか?

私はRPIを持っていたので、最新のラズビアンアップデートですでに構成されていました。 そして、以前とまったく同じことをしていたのに、なぜkivyが実行されていないのか疑問に思っていました。 今、私は古いイメージに変更しました、そしてそれはうまく動いています!

今から私は急いで更新することに気を配ります;)

おそらく完全に無関係ですが、私が間違っていない限り、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 +とkivy1.11.0.dev0を使用していますが、どのイメージを使用する必要がありますか?

@ E3V3A
すでに古い画像に切り替えました。 多分将来のために知っておくのは良いことです

私はラズビアンジェシーを使用しています。前回はアップグレードなしで11-6-18に更新されました。 Rpi3、Kivy v1.10.1、Python 3.4.2
私のログ:

[情報]ロガー:ログを/home/pi/.kivy/logs/kivy_18-11-14_11.txtに記録します
[情報] Kivy:v1.10.1
[情報] Python:v3.4.2(デフォルト、2014年10月19日、13:31:11)
[GCC 4.9.1]
[情報] KivyMD:KivyMDバージョン:0.1.2
[情報]ファクトリ:194個のシンボルがロードされました
[情報]画像:プロバイダー:img_tex、img_dds、img_sdl2、img_pil、img_gif(img_ffpyplayerは無視されます)
[情報]ウィンドウ:プロバイダー:egl_rpi
[情報] GL:「OpenGLES2」グラフィックシステムを使用
[情報] GL:バックエンドを使用
[情報] GL:OpenGLバージョン [情報] GL:OpenGLベンダー [情報] GL:OpenGLレンダラー
[情報] GL:OpenGL解析バージョン:2、0
[情報] GL:シェーディングバージョン
[情報] GL:テクスチャの最大サイズ<2048>
[情報] GL:テクスチャの最大単位<8>
[情報]ウィンドウ:仮想キーボードが許可されています、マルチユーザーモード、ドッキングされていません
[情報]テキスト:プロバイダー:sdl2
[情報] GL:NPOTテクスチャサポートが利用可能です
[情報]クリップボード:プロバイダー:xclip
[情報] CutBuffer:カットバッファのサポートが有効になっています
[情報] ProbeSysfs:デバイスの一致:/ dev / input / event0
..。

おかげで、同じ問題がありました。
エクスポートKIVY_GL_BACKEND = gl
それを修正しました。

ラズベリーパイ3b +でもまったく同じ問題があります..Ubuntuコアまたは他のラズベリーパイ3b +でサポートされているOSにkivyをインストールすることは可能ですか?

また、kivyを機能させるために、ラズベリーパイ3b +でどのラズビアンイメージを使用する必要がありますか

この問題は修正されていません
usingimport os
os.environ ['KIVY_GL_BACKEND'] = 'gl'
kivyをインポートする
一時的な解決策にすぎません

このスレッドではまだ言及されていませんが、誰かがRaspbianのLiteバージョンとPIXELバージョンのどちらを使用しているかが関係している可能性があります。

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

sdl2にはX Windowsの依存関係が含まれていますが、RaspbianLiteには明らかにこれが含まれていません。

こっそり確認できます...

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

...私のPythonスクリプトの上部にある「Hello、Button」アプリが機能します。 StretchLiteバージョンを使用しています。

この問題が発生しないようにするには、どのバージョンのraspbianを使用する必要がありますか?
OSをRaspbianJessie 8.0にドングレードしようとしましたが、同じセグメンテーション違反が発生しました...

この問題が発生しないようにするには、どのバージョンのraspbianを使用する必要がありますか?
OSをRaspbianJessie 8.0にドングレードしようとしましたが、同じセグメンテーション違反が発生しました...

ここでラズベリーパイ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
[情報] [Python] v3.5.3(デフォルト、2018年9月27日、17:25:39)
[GCC 6.3.0 20170516]
[情報] [ファクトリ] 184個のシンボルがロードされました
[情報] [画像]プロバイダー:img_tex、img_dds、img_pil、img_gif(img_sdl2、img_ffpyplayerは無視されます)
[情報] [テキスト]プロバイダー:sdl2
[情報] [ウィンドウ]プロバイダー:egl_rpi
[新しいスレッド0x747ff470(LWP 2420)]
[新しいスレッド0x73dff470(LWP 2421)]
[新しいスレッド0x735ff470(LWP 2422)]
[新しいスレッド0x72dff470(LWP 2423)]
[情報] [GL]「OpenGLES2」グラフィックシステムの使用
[INFO] [GL]バックエンドが使用されました

スレッド1「python3」がシグナルSIGSEGV、セグメンテーション違反を受信しました。
0x00000000 in ?? ()

ログ:
[情報]ロガー:ログを/home/pi/.kivy/logs/kivy_19-02-13_3.txtに記録します
[情報] Kivy:v1.11.0.dev0、git-233cdd1、20190212
[情報] Python:v3.5.3(デフォルト、2018年9月27日、17:25:39)
[GCC 6.3.0 20170516]
[情報]ファクトリ:184個のシンボルがロードされました
[情報]画像:プロバイダー:img_tex、img_dds、img_pil、img_gif(img_sdl2、img_ffpyplayerは無視されます)
[情報]テキスト:プロバイダー:sdl2
[情報]ウィンドウ:プロバイダー:egl_rpi
[情報] GL:「OpenGLES2」グラフィックシステムを使用
[情報] GL:バックエンドを使用

まだこれに対する解決策はありませんか?

os.environ ['KIVY_GL_BACKEND'] = 'gl'はv1.11.0.dev0、git-9ebad2d、20190516ではまったく役に立ちません

取得:[クリティカル] [アプリ]ウィンドウを取得できません、中止します

また、1.10.1などの古いバージョンでは、透過PNGのサポートはありません...すべての透過PNGは黒の背景で描画されます...同じコードがDebian9でも正常に機能します...

では、RPi Stretch-Liteは二度とサポートされなくなりますか?

このスレッドに関する私の最後のコメントを読み返してください。 Raspbian Stretch Lite (2018年11月)で動作し、1.10.1は、透明な背景で使用している100個ほどのPNGグラフィックスをサポートしています。

RPIに完全に最新のstretch-liteインストールで最新の安定版(1.11.0)を使用してビルドを確認すると、このセグメンテーション違反が発生します。 RPIで実行するには、stable-1.10.1をビルドする必要があります。 主要なプラットフォームで6か月以上この問題が発生した厩舎をリリースする理由がわかりません。

ラズベリー3B +、ラズビアンライトでもこの問題が発生しています

現時点での適切な回避策は、 Pillowがインストールされていることを確認してから、 KIVY_WINDOW=sdl2 kivyを実行することです。 この場合、sdl2が使用されるため、glバックエンドを設定する必要はありません。 egl_rpiウィンドウプロバイダーを使用する場合は、glバックエンドを設定する必要があります。

これは間違いなくリグレッションバグと見なされます。 RPI 3B +に次のようにインストールする

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

セグメンテーション違反でレンダリングしますが、

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

チャームのように機能します。

ポストリリースで修正する予定です。

水曜日、2019年6月12日には、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=AAMRN7T3A2SZJ5OE4QQ63NDP2EU2XA5CNFSM4F6QJQM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXJ
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AAMRN7XWDPCYLGW5QREDN3DP2EU2XANCNFSM4F6QJQMQ

https://github.com/kivy/kivy/pull/6384をテストできますか? これで修正され、手動で選択した場合は3つのバックエンド(コンパイルされている場合はegl_rpi、sdl2、x11)のいずれかを使用できるようになります。

今日または明日後でテストできます。

2019年6月13日木曜日、22:52 matham、 notifications @ github.comは次のように書いています。

#6384 https://github.com/kivy/kivy/pull/6384をテストできますか? これは
それを修正し、選択したときに3つのバックエンドのいずれかを使用できるようにします
手動(egl_rpi、sdl2、およびコンパイルされている場合はx11)。


あなたがコメントしたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/kivy/kivy/issues/6007?email_source=notifications&email_token=ACTL75LVT74IBQJQ4W5QARTP2K6RXA5CNFSM4F6QJQM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/ACTL75OGYIBPXEVW33B57KLP2K6RXANCNFSM4F6QJQMQ

6384raspbian-liteでegl_rpiを使用して修正しました。エクスポートは必要ありません。

[情報]ロガー:ログを/home/pi/.kivy/logs/kivy_19-06-14_1.txtに記録します
[情報]画像:プロバイダー:img_tex、img_dds、img_pil、img_gif(img_sdl2、img_ffpyplayerは無視されます)
[情報] Kivy:v2.0.0.dev0、git-dccba95、20190614
[情報] Kivy:「/ home / pi / Stuff / kivy-fix / kivy /__init__。py」にインストールされています
[情報] Python:v3.5.3(デフォルト、2018年9月27日、17:25:39)
[GCC 6.3.0 20170516]
[情報] Python:「/ usr / bin / python3」のインタプリタ
[情報]ファクトリ:184個のシンボルがロードされました
[情報]テキスト:プロバイダー:sdl2
[情報]ウィンドウ:プロバイダー:egl_rpi
[情報] GL:「OpenGLES2」グラフィックシステムを使用
[情報] GL:バックエンドを使用
[情報] GL:OpenGLバージョン [情報] GL:OpenGLベンダー [情報] GL:OpenGLレンダラー
[情報] GL:OpenGL解析バージョン:2、0
[情報] GL:シェーディングv

はい、動作します。
最初は問題があり、いくつかのエラーが発生しました

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

しかし、 pillow追加した後、それは機能し始めました。
pillow1.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が要求されたときに1.11.0.post0をインストールすると仮定します)。

通常は1.11.1に移動しますが、2.0.0へのジャンプと、Python 2サポートなどの次のリリースの最新機能を考えると、これはワークフローではうまく機能しません。 このリリースは間もなく行われます。

枕に関しては、何が起きているのかわかりません。 sdl2_imageは機能するはず

バグ修正が含まれていることは明らかなので、1.11.1を選択します。 しましょう
私たちが正しいことをしていることを願っています。

2019年6月14日金曜日、17:11 matham、 notifications @ github.comは次のように書いています。

これは、1.11.0.post0(#6357)のポストリリースに厳選されます。
https://github.com/kivy/kivy/pull/6357 )。 このようにターゲットとする人々
インストール時に1.11.0は自動的に修正バージョンを取得します(
pipはここで正しいことを行い、1.11.0が
要求された)。

通常、私は1.11.1に行きますが、これは私たちの
ワークフロー、2.0.0へのジャンプと次のリリースの破壊的なものを考えると
Python2サポートとして。 このリリースは間もなく行われます。

枕に関しては、何が起きているのかわかりません。 sdl2_imageは機能するはずでした
(過去に機能したと思いますか?)しかし、何らかの理由でロードできません
画像。 さらにトラブルシューティングが必要だと思います(PRは大歓迎です)。 の
いずれにせよ、依存関係として枕をリストするようにドキュメントを更新しました。


このスレッドにサブスクライブしているため、これを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/kivy/kivy/issues/6007?email_source=notifications&email_token=ACTL75LMHH3Q2FDKYW4HTUTP2O7LDA5CNFSM4F6QJQM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/ACTL75NBY6O6KBPR4QT3LPDP2O7LDANCNFSM4F6QJQMQ

1.11.0を要求した場合、pipは1.11.1インストールしない可能性がありますが、1.11.0は正確にインストールされます。 1.11を要求したらどうなるかわかりませんが、

ああ、「1.11.0」を要求すると、パッチが適用された「.post0」がインストールされることを意味しました:)

2019年6月14日金曜日、19:29 matham、 notifications @ github.comは次のように書いています。

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=ACTL75JZDOPPHORTC3LEVZTP2PPPNA5CNFSM4F6QJQM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/ACTL75KC3BTJGUQTTBMAHLDP2PPPNANCNFSM4F6QJQMQ

上で説明したように、パスにexport KIVY_GL_BACKEND=glを追加しましたが、次のような別の問題が発生しています...
create_window() takes 1 positional argument but 2 were given

このエラーから私を助けてください。
ラズベリーパイでコードを実行すると

sudo python3 main.py
[警告] [構成]古い構成バージョンが検出されました(14ではなく0)
[警告] [構成]構成のアップグレードが進行中です。
[情報] [ロガー]ログを/root/.kivy/logs/kivy_19-06-17_0.txtに記録します
[情報] [Kivy] v1.9.1
[情報] [Python] v3.5.3(デフォルト、2018年9月27日、17:25:39)
[GCC 6.3.0 20170516]
[情報] [ファクトリ] 179個のシンボルがロードされました
[情報] [画像]プロバイダー:img_tex、img_dds、img_gif、img_sdl2、img_pil(img_ffpyplayerは無視されます)
[情報] [テキスト]プロバイダー:sdl2
[INFO] [OSC]を使用ソケット用
[情報] [ウィンドウ]プロバイダー:sdl2(['window_egl_rpi']は無視されます)
エラー:XDG_RUNTIME_DIRが環境に設定されていません。
[クリティカル] [ウィンドウ]貴重なウィンドウプロバイダーがまったく見つかりません!
egl_rpi-ImportError:名前 'bcm'をインポートできません
core_select_libのファイル "/usr/lib/python3/dist-packages/kivy/core/__init__.py"、59行目
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、self).__ init __()
ファイル "/usr/lib/python3/dist-packages/kivy/core/window/__init__.py"、722行目、__ init__
self.create_window()
create_window内のファイル「/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py」、237行目
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」という名前のモジュールがありません
core_select_libのファイル "/usr/lib/python3/dist-packages/kivy/core/__init__.py"、59行目
fromlist = [モジュール名]、レベル= 0)

[クリティカル] [アプリ]ウィンドウを取得できません。中止してください。
例外は無視されます: 'kivy.properties.dpi2px'
トレースバック(最後の最後の呼び出し):
__get__のファイル "/usr/lib/python3/dist-packages/kivy/utils.py"、行513
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、ensure_window
sys.exit(1)
SystemExit:1
[クリティカル] [アプリ]ウィンドウを取得できません。中止してください。

どなたか、どうしたらいいか教えてください。

@ jayeshsingh9767マスターまたは最後のリリースで試しましたか? これはマスターで修正されていますが、修正を含む新しいリリースはまだ作成されていません。

@ harshp1301このエラーは、この問題とは関係ありません。 これもシステムの問題のようであり、気まぐれではありません。 サポートについては、不和についてお尋ねください。

@mathamありがとう、しかし、コードからWindow.size()を削除すると、問題は修正されます。
Raspberry piではkivyアプリWindowを管理できないと思います。しかし、誰かが理由を説明してもらえますか?
注: Wimdow.size()はUbuntuで完全に実行されていました...

これはこの問題とは関係がないので、おそらくこれについて新しい問題を開きます(存在しない場合)? しかし、egl_rpiウィンドウバックエンドではそれが不可能な場合があります。 sdl2バックエンドまたはx11ウィンドウバックエンドを試してみます(どちらもpiでもサイズ変更可能だと思います)。

実際のラズビアンライトOS(2020-05-27)で同様の問題が発生しました->最初のロード後にセグメンテーション違反が発生しました。 'gl'に切り替えてみたより。 その後、GUIからのコンテンツなしで画面と黒いカーソルを取得しました。
以前のラズビアンライトに戻すと、Kivy1.11.1で動作します。 実際、私は正確に何が違うのかわかりません。 この問題を引き起こすいくつかのアップデートがあるようです(ライブラリ、ファームウェア...?)。 幸運にも古いSDカードをバックアップし、実際に使用したGUI用に復元しました。
X11をインストールする必要がないという理由で、Kivyを使用することにしました。 私のGUIはコンソールで実行されています...

@AndreasPantle 1.11.1とRaspberry PI OS(Raspbianに名前が変更されました)で同じ経験をしています。 1.10.1を回転させて、何が起こるかを確認します。 kivyはMissionPinballメディアコントローラーの依存関係であるため、バージョンを反転するオプションがない場合があります。

このページは役に立ちましたか?
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.