You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OMNeT++仿真时间突跳至999999.999导致仿真终止问题求助

Cosima联合仿真仿真时间突跳问题排查求助

问题现象

使用Cosima进行联合仿真时,事件ProsumerNetExtraLarge.schedulerModule (MosaikSchedulerModule, id=3)在正常运行一段时间后,会导致仿真时间突然跳变至999999.999(即mosaik中设置的maxAdvance值),直接引发整个仿真终止。

仿真日志

Event #393411  t=3.654  0% completed (0% total) ProsumerNetExtraLarge.schedulerModule (MosaikSchedulerModule, id=3)

紧接着出现:

2024-09-18 20:04:31:974196  | DEBUG   | OMNeT++: MosaikSchedulerModule: received until event. sim time is: 999999.999
** Event #395303 t=999999.999 10% completed (10% total) ProsumerNetExtraLarge.schedulerModule (MosaikSchedulerModule, id=3)

代码关联

  • 处理「received until event」的逻辑位于CosimaSchedulerModule.cc
  • Socket数据处理逻辑位于AgentAppTcp.cc

关键问题与调试发现

  • MosaikSchedulerModule在handleMessage中接收until事件时,simTime()已返回999999,但无法追踪该时间跳变的触发点;即便拦截until事件,simTime()仍保持999999,最终仿真还是会终止。
  • 调试OMNeT++的cSimulation::executeEvent函数时发现:HEY1位置的simTime()仍处于正常数值,执行currentSimtime = event->getArrivalTime()后,HEY3位置的simTime()突变为999999,且该事件的getArrivalTime()也返回此值。
  • 故障发生前会出现大量「socket data arrived」消息,事件数量持续增加;未修改过相关.cc代码,排除内存泄漏导致过载的可能,且故障发生时间无规律。

求助需求

寻求以下问题的解决方法:

  • 排查仿真时间突跳至maxAdvance值的根本原因
  • 阻止该时间跳变问题,维持仿真正常运行

内容的提问来源于stack exchange,提问作者Lorenzo Foschi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 09:42:33