在ad hoc网络仿真中使用src / routing  / wlan_mac_intf / wlan_mac层次的节点模型,仿真时出现如下错误:

<<< Recoverable Error >>>
  * Time:      15:12:26 ÐÇÆÚÈý ÁùÔÂ 10
  * Product:   modeler
  * Program:   op_runsim (Version 8.1.A PL8 Build 1575)
  * System:    Windows NT 5.1 Build 2600
  * Package:   process (Bestsink_wlan_mac_intf_test) at module (top.Office Network.ap_1.wlan_mac_intf)
  * Function:  Bestsink_wlan_mac_intf_test () [idle exit execs]
  * Error:     Current event is not a stream or access interrupt.
               T (0), EV (194), MOD (top.Office Network.ap_1.wlan_mac_intf)


分析:
通过debugger查看得知stream interrupt并不在EV(194)处,而是更靠后的事件,但在仿真到EV(194)处就要读取stream上的包,从而导致“Current event is not a stream or access interrupt”的错误。

查找原因:
由T(0)可知错误出现在仿真开始时,此时除了src模块外routing  / wlan_mac_intf / wlan_mac均无数据包发送的动作,所以暂定错误出现的原因是src模块在0.0s时发包,此时wlan_mac_intf模块的初始化尚未完毕,从而导致事件序列的混乱。

纠错方法:
将src模块的发包start time定为10.0s,避免其他模块未初始化完毕的尴尬局面。实验证明方法有效。

总结:
src模块的start time缺省值就是10.0s,本人擅做主张改成0.0s,结果出现错误。看来还是小心为上,不然倒霉的是自己……