LiYimeng
|
b6b549003f
|
issue2654
Signed-off-by: LiYimeng <liyimeng2@huawei.com>
Co-Authored-By: Agent
|
2026-08-19 16:49:04 +08:00 |
|
openharmony_ci
|
75cb61e9cf
|
!3326 merge security-fix-lyc into master
修复avsession模块多项并发安全问题(issue #2578部分项)
Created-by: devil_red
Commit-by: 红袍小恶魔
Merged-by: openharmony_ci
Description: ## 关联 Issue
fix #2728
本 PR 修复 issue #2728 所列全部 13 个并发缺陷项(含第 7 项既有 ABBA 死锁),合并后请关闭该 issue。
## 修改内容
**services/session/server/ 服务核心层**
- **AVRouterImpl**:`castHandleToInfoMap_`/`providerManagerMap_` 全路径加锁;抽取 `GetCastProvider`/`GetHwProvider` 两个私有帮助函数,统一"锁内取 shared_ptr 快照、锁外调用"(14+3 处调用点收敛);`Init`/`Release` 的 SDK 调用全部移出锁外,仅赋值/置空在锁内;listener 回调锁外或 EventHandler 异步执行,消除锁序反转;修复 `OnCastStateChange` 持 `servicePtrLock_` 调 `checkEnableCast` 的 ABBA 死锁(快照后锁外调用)
- **HwCastProvider**:监听器列表遍历改"锁内取快照、锁外回调";`QueryCastSessionId` 补 `mutexLock_`
- **SoftbusSessionManager**:`ObtainPeerDeviceId` 补 `socketLock_`,`operator[]` 改 `find`(避免隐式插入默认项)
- **AVSessionUsersManager**:`GetContainerFromAll` 补 `userLock_`,消除惰性初始化竞争导致的会话丢失
- **AVSessionService**:`UpdateTopSession` 锁内取 `topSession_` 的 sptr 副本,消除锁外读 UAF
- **MigrateAVSessionProxy**:心跳/检查 worker 锁内取 `deviceId_` 快照
**services/session/adapter/**
- **AppManagerAdapter**:新增 `appStateChangeObserverLock_`,observer 快照后锁外调用
**frameworks/js/napi(ArkTS 绑定)**
- **NapiAVSession(握手按调用私有化)**:`SetAVPlaybackState` 改用 `PlaybackStateSyncContext{mtx,cv,ready,ret}`,删除 5 个进程级 static,根治跨会话返回码串扰;原生调用保持锁内执行(慢 IPC 不误超时),async 侧谓词等待 1s 有界预算;postTask 失败立即定死结果
- **NapiAVSession(静态暂存指针)**:新增 `napiAVSessionLock_` 保护 `napiAVSession_`,`NewInstance`/`ReCreateInstance` 锁内仅做指针赋值/快照,JS/IPC 调用全部锁外,无死锁风险
**interfaces + frameworks/common**
- **AVSessionPixelMap**:`bufferLock_` 改 `mutable`,`Marshalling` 加锁
**utils/**
- **HashCalculator**:全局 `g_context` 改 `static thread_local`,消除跨线程摘要互相破坏
- **AVSessionRadar**:新增 `deviceInfoLock_` 保护设备 id 惰性初始化与清空
## 自测
- 全部修改均为锁保护/快照/发布顺序类小步改动,已逐文件复查 diff 并做锁序审计(与现状代码组合无死锁)
- 建议在构建环境执行:avsession 相关 UT/FUZZ,以及 `CASTPLUS_CAST_ENGINE_ENABLE`、`DSOFTBUS_ENABLE` 两种开关组合编译
See merge request: openharmony/multimedia_av_session!3326
|
2026-08-07 18:20:25 +08:00 |
|
openharmony_ci
|
a3e78c446a
|
!3325 merge 代码检视 into master
fix 0802告警处理
Created-by: xiyingxin
Commit-by: xiyingxin
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)
### 二、建议测试周期和提测地址
建议测试完成时间:xxxx.xx.xx
投产上线时间:xxxx.xx.xx
提测地址:CI环境/压测环境
测试账号:
### 三、变更内容
* 3.1 关联PR列表
* 3.2 数据库和部署说明
1. 常规更新
2. 重启unicorn
3. 重启sidekiq
4. 迁移任务:是否有迁移任务,没有写 "无"
5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"
* 3.4 其他技术优化内容(做了什么,变更了什么)
- 重构了 xxxx 代码
- xxxx 算法优化
* 3.5 废弃通知(什么字段、方法弃用?)
* 3.6 后向不兼容变更(是否有无法向后兼容的变更?)
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
自测测试结论:
### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
检查点:
| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx | 否 | 需要 | 不需要 |
| | | | |
接口测试:
性能测试:
并发测试:
其他:
See merge request: openharmony/multimedia_av_session!3325
|
2026-08-06 20:19:48 +08:00 |
|
xiyingxin
|
eb86cf6964
|
fix 0802告警
Co-Authored-By: Agent
Signed-off-by: xiyingxin <xiyingxin@h-partners.com>
|
2026-08-02 20:21:17 +08:00 |
|
红袍小恶魔
|
e734c1722b
|
修复HwCastProvider会话创建回调监听器判空缺失
NotifyCastSessionCreated/OnSessionCreated中listenersSnapshot的
OnSessionNeedDestroy/OnSessionCreated四处遍历补充listener判空,
与OnDeviceFound/OnLogEvent/OnDeviceOffline/OnServiceDied等
其他回调的防御风格保持一致
Co-Authored-By: Agent
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-08-02 19:44:15 +08:00 |
|
红袍小恶魔
|
c43e48f721
|
修复avsession模块多项并发安全问题(issue #2578部分项)
针对issue #2578中services/napi/interfaces/utils层的并发缺陷进行修复:
- No.07/08 AVRouterImpl: castHandleToInfoMap_/providerManagerMap_全路径加锁,抽取
GetCastProvider/GetHwProvider统一锁内取shared_ptr快照;Init/Release的SDK调用
全部移出锁外,仅赋值/置空在锁内;修复OnCastStateChange持servicePtrLock_调用
checkEnableCast形成的既有ABBA死锁(快照后锁外调用)
- No.09 HwCastProvider: 监听器遍历改锁内取快照+锁外回调,QueryCastSessionId加锁
- No.10 SoftbusSessionManager: ObtainPeerDeviceId加socketLock_,operator[]改find
- No.11 AVSessionUsersManager::GetContainerFromAll补userLock_,消除惰性初始化竞争
- No.13 UpdateTopSession锁内取topSession_的sptr副本,消除锁外读UAF
- No.16 MigrateAVSessionProxy心跳worker锁内取deviceId_快照
- No.17 AppManagerAdapter新增appStateChangeObserverLock_,快照+锁外调用
- No.20 NapiAVSession的SetAVPlaybackState握手按调用私有化(PlaybackStateSyncContext
含mtx/cv/ready/ret),删除5个进程级static,消除跨会话返回码串扰;原生调用保持锁内
执行,async侧谓词等待1s有界预算;postTask失败立即定死结果
- No.21 新增napiAVSessionLock_保护napiAVSession_,NewInstance/ReCreateInstance
锁内仅做指针赋值/快照,JS/IPC调用全部锁外
- No.24 AVSessionPixelMap::Marshalling加锁(bufferLock_改mutable)
- No.25 HashCalculator全局g_context改static thread_local,消除跨线程摘要破坏
- No.26 AVSessionRadar新增deviceInfoLock_保护设备id惰性初始化与清空
注: issue中No.01-06(PcmCastSession castLock_组)及pcmCastSession_附加项不在本次
提交范围,将后续单独提交;No.12/14/15/18/19/22/23经核实当前代码已修复,无需变更。
Co-Authored-By: Agent
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-08-02 18:39:28 +08:00 |
|
xuhy
|
fe15fc6035
|
revised
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
|
2026-07-30 20:46:35 +08:00 |
|
xuhy
|
efd2fef719
|
test: add nullptr test cases and fix low-risk issue
1. Add nullptr test cases:
- ProcessLongPauseNotifyWithNullService003: Test servicePtr_ nullptr scenario
- ObserveControllerChangedWithNullService001: Test servicePtr_ nullptr scenario
2. Fix low-risk issue:
- RegisterAudioCallbackAndTrigger: Add return value checks for AudioAdapter calls
This improves test coverage and enhances code robustness.
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
|
2026-07-30 20:06:32 +08:00 |
|
xuhy
|
85b70fa85a
|
fix: null pointer dereference and sensitive log issues
1. Add null pointer checks:
- ProcessLongPauseNotify: servicePtr_ check
- ObserveControllerChanged: servicePtr_ check
2. Remove sensitive information from logs:
- Delete GetAnonyTitle usage in error logs (3 places)
- Prevent potential information leakage
3. Update test cases to properly initialize servicePtr_:
- migrate_avsession_test.cpp: call Init(avservice_)
- migrate_avsession_server_for_next_test.cpp: call Init(g_AVSessionService.get())
This fixes alerts:
- ALT-0cd765eb403a (null pointer in ProcessLongPauseNotify)
- ALT-e93c5edae190 (null pointer in ObserveControllerChanged)
- ALT-b14971985d9f (sensitive information leakage in logs)
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
|
2026-07-30 17:57:07 +08:00 |
|
xuhy
|
4c9a0e950f
|
add ut for zhengshuyichu
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
|
2026-07-23 22:19:16 +08:00 |
|
张敏敏
|
81a5cef305
|
add userId for super laucher proxy
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2026-07-10 15:22:38 +08:00 |
|
张敏敏
|
b616df6143
|
add migrate proxy for super 0625
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2026-06-30 19:10:41 +08:00 |
|
张敏敏
|
19b4d1bd6f
|
fix migrateserver not sync sessioninfo when no need
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2026-05-29 09:30:00 +08:00 |
|
z18629635620
|
1b13549e94
|
手表和手机播控数据同步的功耗优化
Signed-off-by: z18629635620 <zhangshijia10@h-partners.com>
|
2026-04-25 16:35:24 +08:00 |
|
z18629635620
|
985d08b6aa
|
手表和手机播控数据同步的功耗优化
Signed-off-by: z18629635620 <zhangshijia10@h-partners.com>
|
2026-04-25 15:49:44 +08:00 |
|
z18629635620
|
c93776c2df
|
手表和手机播控数据同步的功耗优化
Signed-off-by: z18629635620 <zhangshijia10@h-partners.com>
|
2026-04-25 15:47:00 +08:00 |
|
openharmony_ci
|
ffdf29a228
|
!2882 merge 0306check into master
fix migrate sessioninfo refresh block
Created-by: zhang-minmin-jason
Commit-by: zhang-minmin-jason
Merged-by: openharmony_ci
Description: ### 一、内容说明(相关的Issue)
### 二、建议测试周期和提测地址
建议测试完成时间:xxxx.xx.xx
投产上线时间:xxxx.xx.xx
提测地址:CI环境/压测环境
测试账号:
### 三、变更内容
* 3.1 关联PR列表
* 3.2 数据库和部署说明
1. 常规更新
2. 重启unicorn
3. 重启sidekiq
4. 迁移任务:是否有迁移任务,没有写 "无"
5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"
* 3.4 其他技术优化内容(做了什么,变更了什么)
- 重构了 xxxx 代码
- xxxx 算法优化
* 3.5 废弃通知(什么字段、方法弃用?)
* 3.6 后向不兼容变更(是否有无法向后兼容的变更?)
### 四、研发自测点(自测哪些?冒烟用例全部自测?)
自测测试结论:
### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
检查点:
| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
|------|------------|----------|---------------|
| xxx | 否 | 需要 | 不需要 |
| | | | |
接口测试:
性能测试:
并发测试:
其他:
See merge request: openharmony/multimedia_av_session!2882
|
2026-03-24 21:21:50 +08:00 |
|
红袍小恶魔
|
2c4a4b7990
|
MigrateAVSessionProxy添加线程安全锁保护remoteSession_
问题:ProcessSessionInfo使用remoteSession_时,被另一线程的ReleaseSessionFromRemote将remoteSession_置空导致崩溃
解决方案:
1. 新增migrateProxyRemoteSessionLock_递归锁保护remoteSession_
2. 在8个函数中使用最小颗粒度锁策略:加锁获取sptr副本后立即解锁,后续使用副本操作
3. 合并ProcessSessionInfo中重复的if判断块
4. 优化空判断:imgVec.size() <= 0 改为 imgVec.empty()
Co-Authored-By: Agent
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-03-16 16:07:26 +08:00 |
|
zhang-minmin-jason
|
16512ab886
|
fix migrate sessioninfo refresh block
Signed-off-by: zhang-minmin-jason <zhangminmin9@h-partners.com>
|
2026-03-12 12:11:08 +08:00 |
|
zhang-minmin-jason
|
e11328ebe6
|
fix bundleName lost for migrate SuperLaunch
Signed-off-by: zhang-minmin-jason <zhangminmin9@h-partners.com>
|
2026-03-04 09:25:37 +08:00 |
|
zhang-minmin-jason
|
182ca8271f
|
add migrate proxy for superLaunch
Signed-off-by: zhang-minmin-jason <zhangminmin9@h-partners.com>
|
2026-02-14 11:26:30 +08:00 |
|
shallowarpa
|
59ff0b21a6
|
黄蓝差异修改
Signed-off-by: shallowarpa <xingrunxuan@h-partners.com>
|
2026-01-28 15:30:25 +08:00 |
|
shallowarpa
|
b2e1707e24
|
avsession脱敏整改
Signed-off-by: shallowarpa <xingrunxuan@h-partners.com>
|
2026-01-26 15:41:46 +08:00 |
|
x30063281
|
7ddd71554c
|
热启动场景识别播放来源优化-review first
Change-Id: Ic1eb61fb906ead240cbb921883ae06fdc88dfb89
Signed-off-by: x30063281 <xiaonianxin@h-partners.com>
|
2025-10-30 16:00:32 +08:00 |
|
zhang-minmin-jason
|
1ffe1df4b4
|
add remote migrate disable check
Signed-off-by: zhang-minmin-jason <18179496713@163.com>
|
2025-08-22 15:07:58 +08:00 |
|
zhang-minmin-jason
|
1efee6c0f3
|
fix migrate sendspecialkeepalivedata no end & audio setcallback repeat
when need
Signed-off-by: zhang-minmin-jason <18179496713@163.com>
|
2025-07-30 15:27:48 +08:00 |
|
张敏敏
|
1c71b68cbc
|
change migrate-remove-add to migrate-transferm
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-07-16 17:27:48 +08:00 |
|
张敏敏
|
ffef8a28b4
|
fix 2in1 check in TV
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-07-13 14:42:45 +08:00 |
|
张敏敏
|
f830c9f359
|
fix avqueue info invalid but not clear
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-07-07 17:42:19 +08:00 |
|
张敏敏
|
c300bb9382
|
fix xts avcastpickerhelper crash destruct
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-07-03 19:44:59 +08:00 |
|
张敏敏
|
6b1b6cf449
|
add migrate only one fix
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-06-28 20:03:29 +08:00 |
|
张敏敏
|
4058ef5817
|
fix migrate cold start fail
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-06-16 16:08:30 +08:00 |
|
张敏敏
|
cb2caf2f62
|
fix bundleName not set at first time
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-05-29 17:21:39 +08:00 |
|
张敏敏
|
f9b00daabd
|
fix bugs reviewed in previous commit & img repeat update
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-05-21 16:04:52 +08:00 |
|
张敏敏
|
484a12f89e
|
fix migrate with bundleName & sessionType
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-05-16 17:15:14 +08:00 |
|
张敏敏
|
13d38c669f
|
avsession change jsoncpp to cjson
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-05-14 11:05:33 +08:00 |
|
红袍小恶魔
|
87d35b1bfc
|
分布式-手机调节音量时手表音量不变
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2025-05-07 17:49:54 +08:00 |
|
openharmony_ci
|
a679e214fc
|
!1952 0420媒体告警修复
Merge pull request !1952 from 王海龙/master
|
2025-04-23 04:37:02 +00:00 |
|
张敏敏
|
24edf97093
|
fix migrate conflict watch vs superLauncher
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-04-22 20:19:49 +08:00 |
|
王海龙
|
05dfd0463c
|
fixed code warning
Signed-off-by: 王海龙 <wanghailong46@h-partners.com>
|
2025-04-20 16:16:29 +08:00 |
|
红袍小恶魔
|
626366b996
|
UT安全修改
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2025-04-17 22:48:49 +08:00 |
|
张敏敏
|
b65c9f3c14
|
reduce cyclomatic complexity with guard statements add
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-04-02 10:03:59 +08:00 |
|
zhangwt3652
|
1d9f4deb50
|
同步代码
Signed-off-by: zhangwt3652 <zhangwenting15@huawei.com>
|
2025-03-31 10:55:45 +08:00 |
|
张敏敏
|
be6c276ca7
|
fix softbus block make clients freeze
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-03-08 15:57:50 +08:00 |
|
王海龙
|
1aeee26cb6
|
fixed code warning
Signed-off-by: 王海龙 <wanghailong46@h-partners.com>
|
2025-02-28 15:26:12 +08:00 |
|
红袍小恶魔
|
80bdc9ba39
|
音量和设备选择-需求bugsfix
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2025-02-25 10:12:40 +08:00 |
|
张敏敏
|
e8fb04c2a7
|
add cold start from next
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-02-17 09:32:27 +08:00 |
|
张敏敏
|
15e7fea219
|
add migrate fix for longTimeNoIPC kill
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-02-16 16:58:30 +08:00 |
|
张敏敏
|
80d6e9a062
|
fix notifysessionrelease for err user
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-02-13 14:12:21 +08:00 |
|
张敏敏
|
68619e8b6b
|
fix migrate proxy no ondisconnect
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2025-02-10 17:50:28 +08:00 |
|