开源改变世界

启动时的 OpenGL 错误消息导致错误消息 #1599

推推 grbl 3年前 (2023-01-30) 276次浏览
打开
3 个任务中的第 1 个
smoe 打开了这个问题 2022 年 2 月 13 日 · 39条评论
打开
3 个任务中的第 1 个

启动时的 OpenGL 错误消息导致错误消息#1599

smoe 打开了这个问题 2022 年 2 月 13 日 · 39条评论

注释

启动时的 OpenGL 错误消息导致错误消息 #1599
贡献者

以下是我重现该问题所遵循的步骤:

  1. 安装 Debian 靶心
  2. 运行 linuxcnc
  3. 按“确定”(取消也可以)

这是我期望发生的事情:

不知道,这是我第一次开始这个

这是发生了什么:

$ linuxcnc
LINUXCNC – 2.9.0~pre0
机器配置目录是 ‘/home/moeller/linuxcnc/configs/sim.axis-1’
机器配置文件是 ‘axis_mm.ini’
启动 LinuxCNC…
找到文件(lib):/ usr/share/linuxcnc/hallib/core_sim.hal
注意:使用POSIX non-realtime
Found file(lib): /usr/share/linuxcnc/hallib/sim_spindle_encoder.hal
Found file(lib): /usr/share/linuxcnc/hallib /axis_manualtoolchange.hal
找到文件(lib):/usr/share /linuxcnc/hallib/simulated_home.hal
PYTHON:“this”导出期间出现异常:
TypeError:“Boost.Python.class”对象不可迭代

上述异常是以下异常的直接原因:

追溯(最近一次通话):

文件“”,第 1007 行,在 _find_and_load

文件“”,第 986 行,在 _find_and_load_unlocked

文件“”,第 666 行,在 _load_unlocked

文件“”,第 565 行,在 module_from_spec

文件“”,第 763 行,在 create_module 中

SystemError: _PyEval_EvalFrameDefault 返回了带有错误集的结果

链接(更新变量文件):Datei oder Verzeichnis nicht gefunden
注意:MAXV 最大值:53.340 单位/秒 3200.400 单位/分钟
注意:LJOG 最大值:53.340 单位/秒 3200.400 单位/分钟
注意:LJOG 默认值:30.480 单位/秒 1828.800 单位/分钟
注意:jog_order=’XYZ’
注意:jog_invert=set()
PYTHON:“this”导出期间出现异常:
TypeError:没有为 C++ 类 Interp 注册的 Python 类

追溯(最近一次调用最后一次):
文件“/usr/lib/python3/dist-packages/OpenGL/latebind.py”,第 43 行,调用
返回 self._finalCall( *args, **named )
TypeError: ‘NoneType’对象不可调用

在处理上述异常的过程中,又出现了一个异常:

追溯(最近调用最后):
文件“/usr/bin/axis”,第 3979 行,在
commands.set_view_p()
文件“/usr/bin/axis”,第 2181 行,在 set_view_p
o.set_view_p()
文件“/ usr/lib/python3/dist-packages/glnav.py”,第 448 行,在 set_view_p
glRotateScene(self, 1.0, mid[0], mid[1], mid[2], 0, 0, 0, 0)
文件中“/usr/lib/python3/dist-packages/glnav.py”,第 116 行,在 glRotateScene
mat = glGetDoublev(GL_MODELVIEW_MATRIX)
文件“/usr/lib/python3/dist-packages/OpenGL/latebind.py”,第 47 行, 在call
return self._finalCall( *args, **named )
文件“/usr/lib/python3/dist-packages/OpenGL/wrapper.py”, line 668, in wrapperCall
cArgs = tuple(calculate_cArgs( pyArgs ))
文件“/usr/lib/python3/dist-packages/OpenGL/wrapper.py”,第 471 行,在 calculate_cArgs
yield converter(pyArgs, index, self)
文件“/usr/lib/python3/dist-packages/OpenGL/converters .py”,第 251 行,调用
返回 super(SizedOutputOrInput,self)。调用(pyArgs,索引,baseOperation)
文件“/usr/lib/python3/dist-packages/OpenGL/converters.py”,第196行,调用
返回self.arrayType.zeros(self.getSize(pyArgs))
文件“/ usr/lib/python3/dist-packages/OpenGL/arrays/arraydatatype.py”,第 177 行,零
返回 cls.returnHandler().zeros(dims, typeCode or cls.typeConstant)
File “/usr/lib/python3/ dist-packages/OpenGL/arrays/arraydatatype.py”,第 80 行,
self.output_handler = self.handler_by_plugin_name(首选)
文件“/usr/lib/python3/dist-packages/OpenGL/arrays/arraydatatype.py”,第 67 行,在 handler_by_plugin_name
返回 plugin.load()
文件“/usr/lib/ python3/dist-packages/OpenGL/plugins.py”,第 16 行,在加载
返回 importByName(self.import_path)
文件“/usr/lib/python3/dist-packages/OpenGL/plugins.py”,第 38 行,在 importByName
module = import ( “..join(moduleName), {}, {}, moduleName)
文件 “/usr/lib/python3/dist-packages/OpenGL/arrays/numpymodule.py”, 第 12 行,在
import numpy
文件中“/usr/lib/python3/dist-packages/numpy/ init .py”,第 150 行,
来自 . 进口核心
文件“ /usr/lib/python3/dist-packages/numpy/core/init.py ”,第 22 行,在
from. 导入多阵列
文件“/usr/lib/python3/dist-packages/numpy/core/multiarray.py”,第 12 行,
从 . 导入覆盖
文件“/usr/lib/python3/dist-packages/numpy/core/overrides.py”,第 7 行,在
from numpy.core._multiarray_umath import (
TypeError: (“‘Boost.Python.class’ object is not iterable”, ‘failure in cConverter <OpenGL.converters.SizedOutputOrInput object at 0x7fda4a4b9cc0>’, (GL_MODELVIEW_MATRIX, <object object at 0x7fda4afecd40>), 1, <OpenGL.platform.baseplatform.glGetDoublev object at 0x7fda4a48c280>)
关闭并清理Linux数控…
task: 1763 cycles, min=0.000007, max=0.005435, avg=0.001065, 0 latency excursions (> 10x expected cycle time of 0.001000s)
注意:使用 POSIX 非实时

有关我的硬件和软件的信息:

  • 我正在使用这个 Linux 发行版和版本(通常用 表示lsb_release -a):

没有可用的 LSB 模块。
发行商 ID:Debian
描述:Debian GNU/Linux bookworm/sid
发行版:不稳定
代号:sid

  • 我正在使用这个内核版本(由 显示uname -a):

Linux x230 5.15.0-3-amd64 #1 SMP Debian 5.15.15-2 (2022-01-30) x86_64 GNU/Linux

  • 我在跑步 …

    • 来自 linuxcnc.org 的二进制版本(包括 buildbot.linuxcnc.org)
    • 我自己构建的二进制文件
    • 来自 linuxcnc.org 之外的其他来源的二进制版本
  • 我正在使用这个 LinuxCNC 版本(显示在包管理器中,或者对于 git 版本,scripts/get-version-from-git):

最近的一位大师,该错误也已报告给 RPi。

  • 我正在使用此用户界面 (GUI)(例如 AXIS、Touchy、gmoccapy 等):

只是 linuxcnc 应用程序从主目录 – KDE 启动。

  • 我正在使用这个接口硬件供应商和芯片组(例如,并行端口、以太网端口、FPGA 卡):

什么都没有附上。只是一台空白的笔记本电脑,甚至没有运行实时模块。

  • 其他可能有用的信息:
$ cat /home/moeller/linuxcnc_debug.txt
508317
508359
Stopping realtime threads
Unloading hal components
$ cat /home/moeller/linuxcnc_print.txt
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/lib/linuxcnc/modules
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.6
INIFILE=/home/moeller/linuxcnc/configs/sim.axis-1/axis_mm.ini
VERSION=1.1
PARAMETER_FILE=sim_mm.var
TASK=milltask
HALUI=halui
DISPLAY=axis
COORDINATES=X Y Z
KINEMATICS=trivkins
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Starting HAL User Interface program: halui
Starting TASK program: milltask
Starting DISPLAY program: axis
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
启动时的 OpenGL 错误消息导致错误消息 #1599
合作者
塞布·库兹明斯基 评论了 2022 年 2 月 13 日  

您包含的 linuxcnc 日志表明此错误存在于 Axis GUI 中。

您是在运行 bullseye(如顶部所说)还是 bookworm/sid(如lsb_release输出中所说)?从你的内核我猜 bookworm/sid。

我无法在我的靶心机器上重现这个。

我有 libboost-python1.74.0 (1.74.0-9) 和 python3.9 (3.9.2-1),以防相关…

启动时的 OpenGL 错误消息导致错误消息 #1599
贡献者作者
烟雾 评论了 2022 年 2 月 13 日  

你是对的。我的笔记本电脑运行不稳定。这是一个有趣的观察。它是 libboost-python1.74-dev,对我来说是 python 3.9 和 python 3.10。一旦我们继续上传到 Debian 的过程,那么任何此类失败都将是不稳定的人的第一印象(如果我们允许包迁移到那里,也可能是书呆子)。

启动时的 OpenGL 错误消息导致错误消息 #1599
贡献者作者

包在 unstable 中的驻留时间不应超过 5 天,所以除了最新上传的 bookworm(==testing)和 sid(==unstable)是一样的。bullseye 的发布确实是六个月前的事了,但我们只有在测试完成后才会将任何东西移植到 bullseye。如果您碰巧立即想到我可以做些什么来帮助找出问题所在 – 请告诉我。

启动时的 OpenGL 错误消息导致错误消息 #1599

我在调试 Boost C++ 库时碰巧遇到了这个问题。我能够为我的应用程序重现这一点——当我导入一个python3.9使用libboostpython310. 因此,它与python3.10. 我使用重建了模块libboostpython39,现在它在 3.9 和 3.10 上都能正常工作。

启动时的 OpenGL 错误消息导致错误消息 #1599
贡献者作者

@anubhav-cs感谢您的侦探工作和传播消息。我还不知道 LinuxCNC 的后果应该是什么。

启动时的 OpenGL 错误消息导致错误消息 #1599
贡献者作者

我仍然无法让它运行。

smoe 向 smoe/linuxcnc 添加了引用此问题的提交 2022 年 2 月 21 日

启动时的 OpenGL 错误消息导致错误消息 #1599
贡献者作者

上面的公关得到了很好的评论@dwrobel仅指向 Python 3.10 没有问题的系统。