shong99

Results 6 comments of shong99

因为我们在很多生产环境部署的drogon都是这个版本的,要升级的话需要一些流程。 目前我想问的是之前有没有在高负载环境下出现这种回调函数地址为非法的情况,这个问题在一个现场出现3次了

是server端 这问题还能分析吗,回调函数这块我看的有点头大...

本地没复现出来,只在现场出现过

通过修改源码,我已经复现出问题了,主要修改的地方是两个,一个是socket的析构函数中屏蔽释放socket,另一个是epoll_ctl屏蔽对tcp的channel的取消注册,通过这种模拟可以复现出问题。 另外,现场环境替换了添加日志的drogon库trantor,通过日志也可以发现channel指针理论上应该被释放了,但是仍在调用read回调函数,所以应该是epoll删除这个指针失败,同时socket应该也没释放成功且还在接受消息 ```txt 2024-08-28 18:03:03.672 - INFO - 139939166525184 - [drogon Info] connectDestroyed 2024-08-28 18:03:03.672 - INFO - 139939166525184 - [drogon Info] Channel: remove, chn ptr=0x5573D118F890 owner:0x5573D14C93D0 TcpConnectionImpl 2024-08-28 18:03:03.672...

是的,目前猜测是这样的

The query steps were the same. Are there compatibility problems when upgrading from v1.87.6 to v1.130.0?