Mycroft-core: pyee错误| 的异常调用回调<future at="" state="finished" raised="" keyerror=""/>

创建于 2020-09-16  ·  10评论  ·  资料来源: MycroftAI/mycroft-core

如何将问题提交到Mycroft存储库

将问题提交到Mycroft存储库时,请遵循以下准则以帮助我们为您提供帮助。

清楚您正在运行的软件,硬件和版本

例如:

  • 我正在运行Picroft
  • 使用最新版本
  • 使用标准的唤醒词

尝试提供可用于复制问题的步骤

例如:

  1. 打开mycroft cli
  2. 等待(大约每30秒出现一次)

提供日志文件或其他输出以帮助我们查看错误

20:00:14.407 | ERROR | 949 | concurrent.futures | exception calling callback for <Future at 0x737d7b10 state=finished raised KeyError>Traceback (most recent call last): File "/usr/lib/python3.7/concurrent/futures/_base.py", line 324, in _invoke_callbacks callback(self) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_executor.py", line 60, in _callback self.emit('error', exc) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 111, in emit self._emit_handle_potential_error(event, args[0] if args else None) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 83, in _emit_handle_potential_error raise error File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 121, in g self.remove_listener(event, f) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 136, in remove_listener self._events[event].pop(f)KeyError: <bound method MessageWaiter._handler of <mycroft.messagebus.client.client.MessageWaiter object at 0xb2e8fd90>> 20:00:14.408 | ERROR | 949 | concurrent.futures | exception calling callback for <Future at 0x737d79d0 state=finished raised KeyError>Traceback (most recent call last): File "/usr/lib/python3.7/concurrent/futures/_base.py", line 324, in _invoke_callbacks callback(self) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_executor.py", line 60, in _callback self.emit('error', exc) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 111, in emit self._emit_handle_potential_error(event, args[0] if args else None) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 83, in _emit_handle_potential_error raise error File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 121, in g self.remove_listener(event, f) File "/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyee/_base.py", line 136, in remove_listener self._events[event].pop(f)KeyError: <bound method MessageWaiter._handler of <mycroft.messagebus.client.client.MessageWaiter object at 0x7514b7b0>>

image

hard Bug - complex help wanted

最有用的评论

好了,对我的理论观察的修正已合并到pyee中,并发布为8.1.0。 我将在此处和Adapt上准备PR,以使版本同步,我们将看看是否可以解决问题。 否则还有其他问题:)

所有10条评论

您是否可以通过输入cli命令:log level debug来尝试设置日志级别来进行调试,以查看它是否提供了更多信息,而该错误将在此错误之前发生?

wait_for_response()wait_for_message()尝试删除已经删除的处理程序时,它看起来像是一个错误。 看看我能不能引起它的发生。

Screen Capture_deepin-terminal_20200917141521
Screen Capture_deepin-terminal_20200917141536
Screen Capture_deepin-terminal_20200917141604

天哪,如果我正确阅读了这些屏幕截图,则没有其他信息。 我昨天无法复制,但会尝试更多。

@forslund抱歉:/

这里只是一个想法。 如果用户或某种技能安装了“ mycroft-messagebus-client” pip软件包,则存在pyee版本冲突,因为messagebus-client仍在使用pyee == 5.0.1

https://github.com/MycroftAI/mycroft-messagebus-client/pull/4

我在以--user选项安装系统范围时看到了这一点。 不知道它是否也发生在静脉内。 也许与pyee有关。

如果发生这种情况,我相信(经过测试)由于ExecutorEventEmitter类不可用,因此发生的错误将是ImportErrors。

经过与Ake的更多探测和聊天之后,我认为这可能是MessageBusClient.emitter.once方法试图将回调函数从已经清除的事件中弹出。

我们仍然需要对此进行验证,如果为true,则可能要确保注册的每个功能都是唯一的。

所以我做了一些测试,每个注册的功能都是唯一的。 我认为这里的问题不是致命的,因为已捕获并报告了异常。

我的测试使我相信问题是超时(这将删除处理程序)与pyee once自动删除处理程序之间的竞争状态。 这可能是我们需要向上游报告pyee的东西。

我自己亲眼看到了该错误,并添加了一些额外的日志记录以查看是否可以精确定位在mycroft的代码中被触发的位置。 技能过程中的某个地方...

我在上游打开了一个问题。

好了,对我的理论观察的修正已合并到pyee中,并发布为8.1.0。 我将在此处和Adapt上准备PR,以使版本同步,我们将看看是否可以解决问题。 否则还有其他问题:)

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

mghoffmann picture mghoffmann  ·  6评论

AMDphreak picture AMDphreak  ·  10评论

ryanleesipes picture ryanleesipes  ·  4评论

WSLUser picture WSLUser  ·  9评论

fermulator picture fermulator  ·  6评论