【发布时间】:2021-11-14 00:37:36
【问题描述】:
我正在开发一个更大的模拟器 (Mocasin),它使用 simpy 离散事件模拟框架。模拟器大部分工作正常,但对于一些较大的问题,我会收到如下错误:
Traceback (most recent call last):
File "~/virtualenvs/mocasin/lib/python3.9/site-packages/simpy/core.py", line 190, in step
self._now, _, _, event = heappop(self._queue)
IndexError: index out of range
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "~/virtualenvs/mocasin/lib/python3.9/site-packages/simpy/core.py", line 254, in run
self.step()
File "~/virtualenvs/mocasin/lib/python3.9/site-packages/simpy/core.py", line 192, in step
raise EmptySchedule()
simpy.core.EmptySchedule
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "~/projects/mocasin/mocasin/mocasin/tasks/__init__.py", line 45, in generate_mapping
generate_mapping(cfg)
File "~/projects/mocasin/mocasin/mocasin/tasks/generate_mapping.py", line 74, in generate_mapping
s.run()
File "~/projects/mocasin/mocasin/mocasin/simulate/__init__.py", line 201, in _run
self.env.run(finished)
File "~/virtualenvs/mocasin/lib/python3.9/site-packages/simpy/core.py", line 260, in run
raise RuntimeError(
RuntimeError: No scheduled events left but "until" event was not triggered: <Process(run) object at 0x7f129039d790>
我对这个错误消息的确切含义几乎一无所知,但似乎这是 simpy 中的一个内部错误。是否有人对可能触发此错误的条件有更多见解?
我不知道这个错误是否表示 simpy 中的错误,或者更确切地说是我们的 Mocasin 模拟器中的错误。为了对此进行调查,我试图找到一个触发错误的最小示例,但我一直找不到。似乎只有在具有大量事件的非常大的问题上才会触发该错误。然而,这使得很难找到根本原因。任何有关如何调试问题的指针将不胜感激。
【问题讨论】:
-
您是否有机会发布一些重现错误的代码?
标签: python simulation simpy