CORE Mobility Errorr的调试

在运行CORE tutorial 3中的mobility示例时,出现如下错误:

当看到这个问题的时候,并没有仔细去分析日志和现象,在core-daemon的进程打印界面只看了一下最后的出错堆栈:

2024-06-27 10:43:48,614 - ERROR - _server:_call_behavior - Exception calling application: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'

Traceback (most recent call last):

File "/opt/core/venv/lib/python3.10/site-packages/grpc/_server.py", line 494, in _call_behavior

response_or_iterator = behavior(argument, context)

File "/opt/core/venv/lib/python3.10/site-packages/core/api/grpc/server.py", line 916, in MobilityAction

node.mobility.stop(move_initial=True)

File "/opt/core/venv/lib/python3.10/site-packages/core/location/mobility.py", line 1095, in stop

super().stop(move_initial=move_initial)

File "/opt/core/venv/lib/python3.10/site-packages/core/location/mobility.py", line 839, in stop

self.session.mobility.sendevent(self)

File "/opt/core/venv/lib/python3.10/site-packages/core/location/mobility.py", line 209, in sendevent

end_time = int(model.endtime)

TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'

然而,从这里很难看出什么问题。在网上各种搜索关键字也是毫无收获。还怀疑是python3.10的版本问题,准备退回python3.9再试试。最后都是无劳而返。

偶然又留意了一下core-daemon最开始出错的打印,才发现如下日志:

2024-06-27 10:42:13,978 - INFO - mobility:update_config - ns-2 scripted mobility configured for WLAN 3 using file: /usr/share/core/examples/tutorials/tutorial3/movements1.txt

2024-06-27 10:42:13,979 - ERROR - mobility:startup - mobility startup error

Traceback (most recent call last):

File "/opt/core/venv/lib/python3.10/site-packages/core/location/mobility.py", line 136, in startup

self.set_model(node, model, config)

File "/opt/core/venv/lib/python3.10/site-packages/core/config.py", line 360, in set_model

node.setmodel(model_class, config)

File "/opt/core/venv/lib/python3.10/site-packages/core/nodes/network.py", line 754, in setmodel

self.mobility.update_config(config)

File "/opt/core/venv/lib/python3.10/site-packages/core/location/mobility.py", line 904, in update_config

self.readscriptfile()

File "/opt/core/venv/lib/python3.10/site-packages/core/location/mobility.py", line 916, in readscriptfile

file_path = self.findfile(self.file)

File "/opt/core/venv/lib/python3.10/site-packages/core/location/mobility.py", line 998, in findfile

raise CoreError(f"invalid file: {file_path}")

core.errors.CoreError: invalid file: /usr/share/core/examples/tutorials/tutorial3/movements1.txt

原来这一段才是出错的根本原因。而且在日志中的原因也说明非常明白:movements1.txt有问题。我检查了一下,原因是我的系统对应路径不存在这个文件。于是重新修改了一下此文件对应的路径,可以顺利运行此示例程序了。

现在在回头看这个问题出现时的现象,在wlan3 mobility player这个窗口上也显示了movements1.txt的路径信息,只是自己没有留意或者在意,导致问题的根本原因未被及时发现。

总结此次教训,产生的原因是未仔细查看所有的日志,未仔细观察所有的现象和界面信息,太过于浮躁。

相关推荐
Ruiery7 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
欧米欧8 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery8 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
qetfw9 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
逆风的蚂蚁10 小时前
linux服务器性能调整怎么落地?我把 CPU 调度、I/O 优先级和内核参数这几个旋钮都拧了一遍
linux·运维·服务器
沫璃染墨14 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
AI_Lab0116 小时前
宝塔用了两年,有没有必要换成轻量方案?
linux·运维·服务器
by2099916 小时前
Linux GDB 调试与 CGDB 使用
linux·运维·服务器·经验分享
星恒随风16 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
feng_you_ying_li19 小时前
linux之网络层
linux·运维·网络