递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 4736|回复: 7
打印 上一主题 下一主题

[视窗] 严重性5星的bug。不知道你们有没有发现。

[复制链接]

347

主题

1605

帖子

6556

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6556
QQ
跳转到指定楼层
楼主
发表于 2023-4-10 15:02:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
火山hp client组件。很奇怪。
在接收事件阻塞(未处理完前),如果触发了客户离开事件,离开事件不受接收事件约束。任会执行。

在正常的sock通讯过程中,我们往往会申请一块内存将指针临时存于  附加数据。
如果 离开事件 提前被触发,那么,必然会在离开事件内释放该段内存。
而接收事件任在继续处理,这就必然会导致读写野指针。

如果你不了解这件事,你代码写的再怎么漂亮,报错时,你也摸不着头脑。直拍大腿。直呼不应该啊。
就是不清楚最新版hp组件有没有处理这个问题。
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

23

主题

317

帖子

1471

积分

金牌会员

Rank: 6Rank: 6

积分
1471
沙发
发表于 2023-4-10 18:00:37 | 只看该作者
那有没有一种可能 他俩不是在一个线程中运行的
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40595
板凳
发表于 2023-4-10 18:32:27 | 只看该作者
你能想到的,hp作者应该也能想到。。所以应该不算bug吧。估计处理过了。

当然具体有没有处理过,除非你能看懂hp源码里面是怎么处理的。

安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

347

主题

1605

帖子

6556

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6556
QQ
地板
 楼主| 发表于 2023-4-10 18:53:44 | 只看该作者
wangvoldp 发表于 2023-4-10 18:00
那有没有一种可能 他俩不是在一个线程中运行的

hp内部应该是有线程池的,每一个sock都应具备独立的临界许可。至少 server组件时这样的
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

347

主题

1605

帖子

6556

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6556
QQ
5#
 楼主| 发表于 2023-4-10 18:57:20 | 只看该作者
创世魂 发表于 2023-4-10 18:32
你能想到的,hp作者应该也能想到。。所以应该不算bug吧。估计处理过了。

当然具体有没有处理过,除非你能 ...

我猜测,因为server是一对多,故:需要存在一些指针,所以给每个套接字配备独立临界区。
因为client就是1对1,故:如需存在指针类信息,自信建立变量存储。

但我觉得没必要这样区分////
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

347

主题

1605

帖子

6556

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6556
QQ
6#
 楼主| 发表于 2023-4-10 19:03:20 | 只看该作者
现在的情况是,即使你得到了客户 断开连接 事件,你也不能直接释放 附加指针。必须确保 recv不在访问。

我的解决方案是:手动给client组件 创建个临界类,
数据进入  临界开始 临界结束
客户离开  临界开始 临界结束
虽然说,非必要不使用临界区,但问题是你必须得让离开事件受到接收事件的约束。
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

0

主题

62

帖子

1235

积分

金牌会员

Rank: 6Rank: 6

积分
1235
7#
发表于 2023-4-11 12:57:23 | 只看该作者
HP用了两年多了  从来没有出过问题  所以不负责任的说人家肯定处理过了
回复

使用道具 举报

347

主题

1605

帖子

6556

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6556
QQ
8#
 楼主| 发表于 2023-4-11 14:17:08 | 只看该作者
quary888 发表于 2023-4-11 12:57
HP用了两年多了  从来没有出过问题  所以不负责任的说人家肯定处理过了

实践是检验真理的唯一标准。
你的使用方法可能不同而已。
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-28 04:33 , Processed in 0.089429 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表