293 Star 1.6K Fork 379

GVP合宙Luat / LuatOS

 / 详情

[🐛Bug]: libnet.close()当连接被动关闭时,会一直阻塞不返回,设置的timeout无效.

已完成
创建于  
2024-03-13 18:44

描述一下这个bug / Describe the bug

使用libnet库,需要在连接断开后自动重连,当服务端主动关闭连接时,跳出循环调用libnet.close(d1name,5000,netc)方法会无限阻塞,并未按预期5000ms后超时返回,结果时task无限挂起;传入timeout参数未生效.

复现步骤 / To Reproduce

创建任务,在while true do 循环中使用libnet库建立连接
服务端主动关闭连接
设备端调用libnet.close(d1name,5000,netc)关闭连接
任务被阻塞无法继续

如果正常,应该是什么样 / Expected behavior

正常应该超时退出libnet.close,并重新建立连接

截图 / Screenshots

close连接打印正常,close ok未打印

日志 / Logs

[2024-03-13 18:13:04.106][000000031.998] network_default_socket_callback 1090:socket 3,event:对端关闭,state:在线,wait:等待任意网络变化
[2024-03-13 18:13:04.110][000000031.999] network_default_socket_callback 1094:socket 3,state:在线,wait:无等待
[2024-03-13 18:13:04.110][000000032.004] I/DNS dns all done ,now stop
[2024-03-13 18:13:04.169][000000032.067] I/user.接收数据失败 false 0
[2024-03-13 18:13:04.172][000000032.068] I/user.服务器断开了 121.xxx.xx.xxx 55021
[2024-03-13 18:13:04.185][000000032.069] I/user.close连接
[2024-03-13 18:13:04.201][000000032.071] network_default_socket_callback 1090:socket 3,event:断开成功,state:正在离线,wait:等待离线完成
[2024-03-13 18:13:04.203][000000032.073] network_default_socket_callback 1094:socket -1,state:离线,wait:无等待
[2024-03-13 18:13:04.217][000000032.114] I/user.未处理消息 33554452 0 nil nil
[2024-03-13 18:13:04.217][000000032.119] I/user.Light.SOCKET_ACTIVE false
[2024-03-13 18:13:04.217][000000032.121] I/user.未处理消息 33554452 -1 nil nil
[2024-03-13 18:13:05.929][000000033.824] I/gnss Fixed 224072157 1140366688
[2024-03-13 18:13:06.071][000000033.969] I/user.平台应答: 200 tm:240313181303;tid:18938993756;type:null;
[2024-03-13 18:13:07.930][000000035.837] I/user.paraCtrl.totalMileage 190
[2024-03-13 18:13:07.962][000000035.863] I/user.crc:102
[2024-03-13 18:13:07.962][000000035.865] I/user. 打包后的字符串和流水号LocRpt 7E020040430100000000018938993756000800000000004C0003015A0C6206CC6F1000A8000A00002403131813043001133101200104000000BEF2190200001A0000001B5A002D017D0201CC0000249F02C73901099B667E 8
[2024-03-13 18:13:07.962][000000035.868] I/user.blindAreaDataWrite 00000000004C0003015A0C6206CC6F1000A8000A00002403131813043001133101200104000000BEF2190200001A0000001B5A002D017D0201CC0000249F02C73901 132
[2024-03-13 18:13:09.221][000000037.118] I/user.未处理消息 33554452 0 nil nil
[2024-03-13 18:13:13.180][000000041.084] I/user.can_uart_main.canframecounter 0
[2024-03-13 18:13:13.180][000000041.085] I/user.284504 63900 153432
[2024-03-13 18:13:23.187][000000051.084] I/user.can_uart_main.canframecounter 0
[2024-03-13 18:13:23.187][000000051.085] I/user.284504 63856 153432
[2024-03-13 18:13:27.986][000000055.888] I/user.paraCtrl.totalMileage 190
[2024-03-13 18:13:28.018][000000055.914] I/user.crc:248
[2024-03-13 18:13:28.018][000000055.917] I/user. 打包后的字符串和流水号LocRpt 7E020040430100000000018938993756000900000000004C0003015A085606CC6CF80128000D00002403131813243001133101200104000000BEF2190200001A0000001B580032018101CC0000249F02C73901099BF87E 9
[2024-03-13 18:13:28.034][000000055.920] I/user.blindAreaDataWrite 00000000004C0003015A085606CC6CF80128000D00002403131813243001133101200104000000BEF2190200001A0000001B580032018101CC0000249F02C73901 130
[2024-03-13 18:13:33.056][000000060.949] I/user.w25q.dailyWorkingTimeWrite 546 72 2024031300000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000008200000000000000001F 146
[2024-03-13 18:13:33.182][000000061.084] I/user.can_uart_main.canframecounter 0
[2024-03-13 18:13:33.182][000000061.085] I/user.284504 63908 153432
[2024-03-13 18:13:43.181][000000071.084] I/user.can_uart_main.canframecounter 0
[2024-03-13 18:13:43.181][000000071.085] I/user.284504 63948 153432
[2024-03-13 18:13:48.033][000000075.929] I/user.paraCtrl.totalMileage 190
[2024-03-13 18:13:48.065][000000075.955] I/user.crc:18

PACK包版本 / Version

V1108

验证

  • 检查过该问题,之前没有人提过 / Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
  • 提供了最小可复现工程或详细的复现步骤,确保开发者可以复现 / The provided reproduction is a minimal reproducible example of the bug.
  • 已经提供了完整的报错信息、日志、截图,没有经过删减。

评论 (2)

袁钊 创建了任务

完整的脚本发出来

alien2017 计划截止日期设置为2024-03-20

云编译V1110版本验证一下

alien2017 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
Lua
1
https://gitee.com/openLuat/LuatOS.git
git@gitee.com:openLuat/LuatOS.git
openLuat
LuatOS
LuatOS

搜索帮助