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 |
|
LiYimeng
|
7c4a71d43a
|
issue warning
Signed-off-by: LiYimeng <liyimeng2@huawei.com>
Co-Authored-By: Agent
|
2026-08-06 15:11:42 +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 |
|
LiYimeng
|
209986ed33
|
IPC warning
Signed-off-by: LiYimeng <liyimeng2@huawei.com>
|
2026-07-29 10:59:03 +08:00 |
|
openharmony_ci
|
03fed977fa
|
!3276 merge 空指针解引用 into master
fix 空指针解引用
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!3276
|
2026-07-24 14:06:03 +08:00 |
|
xiyingxin
|
6559e31a09
|
fix 空指针解引用
Co-Authored-By: Agent
Signed-off-by: xiyingxin <xiyingxin@h-partners.com>
|
2026-07-23 20:36:08 +08:00 |
|
xuhy
|
9181441362
|
revised
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
|
2026-07-22 15:17:43 +08:00 |
|
xuhy
|
ad3de75c8a
|
xiufu nullptr
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
|
2026-07-21 20:34:35 +08:00 |
|
openharmony_ci
|
1b114b4481
|
!3211 merge master into master
curl issuer name
Created-by: Liyimengg
Commit-by: LiYimeng
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!3211
|
2026-07-13 22:13:47 +08:00 |
|
LiYimeng
|
58a5ff87bb
|
curl issuer name
Signed-off-by: LiYimeng <liyimeng2@huawei.com>
Co-Authored-By: Agent
|
2026-07-13 21:06:13 +08:00 |
|
xuhy
|
8a39748f6d
|
lanhuangtongbu
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
|
2026-07-13 14:10:07 +08:00 |
|
红袍小恶魔
|
5460ab34f3
|
修复GetAnonyTitle处理全续字节非法UTF-8时的越界崩溃
当title全部由UTF-8续字节(0x80~0xBF)构成时(如"\x80\x81\x82"),
char_positions为空、char_count为0,旧代码会进入短文本分支访问
char_positions[0],对空vector越界读,在ASAN/容器断言下abort,
release下读到垃圾值传给substr触发std::out_of_range或SIGSEGV。
title源自第三方App经IPC上报的AVMetaData,属不可信输入,存在被
构造触发的风险。
修复:char_count==0时提前返回"***",与函数整体掩码语义一致。
补充2条针对全续字节输入的单元测试。
Co-Authored-By: Agent
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-07-08 17:21:17 +08:00 |
|
红袍小恶魔
|
4ef62b5a42
|
重构AVSessionSysEvent与AVSessionStorageEvent共享Timer实例
新增AVSessionTimerHolder单例,持有单个Utils::Timer实例(EventStatisticTimer),
让AVSessionSysEvent与AVSessionStorageEvent的周期任务复用同一后台线程,
避免每个周期任务各起一个线程。
Utils::Timer::Register基于进程级单调递增计数器返回唯一timerId,
Unregister按id精确删除互不影响,共享单例方案可行。
主要改动:
- 新增AVSessionTimerHolder(utils/include、utils/src),Register失败时
将正数错误码TIMER_ERR_DEAL_FAILED与0统一映射为0返回,修正原先
static_cast<int32_t>(timerId)<0永远不成立导致假成功的bug。
- AVSessionSysEvent/AVSessionStorageEvent改为通过holder注册任务,
不再各自创建Utils::Timer实例;Unregister/Shutdown用CHECK_AND_RETURN_LOG
提前返回降低圈复杂度。
- STORAGE_EVENT_INIT/UNINIT、HISYSEVENT_UNREGISTER去掉调用括号,
与已有HISYSEVENT_REGITER风格保持一致。
- 补充TimerHolder相关UT,覆盖懒加载Setup、复用、Unregister/Shutdown
早返回与幂等等分支;修正avsession_storage_event_test.cpp末尾重复#endif
的编译错误。
Co-Authored-By: Agent
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-07-01 17:31:09 +08:00 |
|
红袍小恶魔
|
088dabec11
|
fix: 修复AVCastPicker和AVVolumePanel组件问题并增强缓存清理测试
- AVCastPicker: 将Class.from替换为Type.from以适配最新API
- AVVolumePanel: 将declare const TAG改为const常量定义,为volumeChange和build方法补充void返回类型
- bundle.json: 新增taihe_ffi_gen构建依赖
- avsession_utils: 新增GetCastPrefix方法统一cast_前缀获取,GetAnonySessionId参数改为const引用传递
- avsession_storage_event: 使用GetCastPrefix替代硬编码字符串
- 单元测试: 增强缓存清理相关用例,补充文件删除结果断言验证
Co-Authored-By: Agent
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-06-28 17:47:23 +08:00 |
|
openharmony_ci
|
fd1aad2e77
|
!3175 merge master into master
[新需求]: 锁屏后首次解锁清理av_session缓存目录优化磁盘存储
Created-by: devil_red
Commit-by: 红袍小恶魔
Merged-by: openharmony_ci
Description: closes openharmony/multimedia_av_session#2601
磁盘存储优化:在 COMMON_EVENT_USER_UNLOCKED(用户el2凭据存储解锁、每用户每重启仅触发一次)时按userid区分清理av_session/cache下image.dat文件,存活session的本地/cast图片按sessionId保留。补充全分支覆盖UT。
See merge request: openharmony/multimedia_av_session!3175
|
2026-06-28 16:31:17 +08:00 |
|
openharmony_ci
|
1bce8d11df
|
!3164 merge master into master
add pac protect
Created-by: xuhy2
Commit-by: xuhy
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!3164
|
2026-06-27 17:59:05 +08:00 |
|
openharmony_ci
|
6ded6756cd
|
!3178 merge master into master
蓝黄差异
Created-by: xuhy2
Commit-by: xuhy
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!3178
|
2026-06-27 16:59:26 +08:00 |
|
openharmony_ci
|
991682e56b
|
!3172 merge master into master
fix getAnonySessionId从引用传递变成值传递
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!3172
|
2026-06-27 16:58:58 +08:00 |
|
xuhy
|
5da341ba33
|
lanhuangchayi
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
|
2026-06-27 16:00:25 +08:00 |
|
红袍小恶魔
|
18c47bb38d
|
增加锁屏后首次解锁清理av_session缓存目录的优化策略
在COMMON_EVENT_USER_UNLOCKED事件触发时(用户el2凭据加密存储解锁、
每用户每重启仅触发一次),按userid区分清理/data/service/el2/{userId}/
av_session/cache目录下的image.dat缓存文件,优化磁盘存储。
若当前有session存活,则根据sessionId保留对应的本地image.dat和
cast_image.dat文件不删。
- AVSessionUtils新增DeleteCacheFilesExcluding,保留存活session文件
- AVSessionUsersManager新增CleanupCacheOnUnlock,收集存活sessionId后清理
- AVSessionService处理USER_UNLOCKED事件分发及清理调用
- 补充全分支覆盖UT,写入与回收对等
Co-Authored-By: Agent
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-06-27 12:10:24 +08:00 |
|
xiyingxin
|
d332e03c1a
|
fix getAnonySessionId从引用传递变成值传递
Co-Authored-By: Agent
Signed-off-by: xiyingxin <xiyingxin@h-partners.com>
|
2026-06-27 11:19:37 +08:00 |
|
openharmony_ci
|
2a615c08e3
|
!3169 merge storage-event-report into master
新增AVSession磁盘缓存文件统计上报能力
Created-by: devil_red
Commit-by: 红袍小恶魔
Merged-by: openharmony_ci
Description: 关联Issue
close #2583
变更说明
新增 AVSessionStorageEvent 单例,统计 AVSession 写入/删除的缓存文件(专辑封面、投屏图标、队列封面等),通过 HiSysEvent 定期上报磁盘占用情况,用于监控和定位磁盘泄露问题。
主要功能
新增 AVSessionStorageEvent 类(utils/),按 userId 分桶管理文件记录
RecordFileWrite/RecordFileDelete 在 6 个接入点埋点,记录文件写入/删除
24h 定时上报 + 单用户满 100 条触发立即上报
上报格式为 JSON 数组:首元素为磁盘扫描汇总(TOTAL/LOCAL/CAST/HISTORY/RECORD 共 12 字段),后续每元素为单文件明细(路径/大小/包名)
汇总数据来自磁盘扫描,覆盖升级遗留和服务重启场景
明细数据来自内存记账,便于结合日志定位磁盘泄露源
检视意见修复
修复空指针解引用和UAF风险(BuildJsonParam/ReportStorageStatisticsForUser)
AddFileInfo/RemoveFileInfo 简化为纯map操作,去除冗余聚合字段
容器改用 unordered_map,去除 fileName_ 冗余字段
宏改用 inline 函数转发,避免多次求值风险
修复 STORAGE_PROFITE 拼写错误为 STORAGE_PROFILE
GetTotalFileCount/GetCacheFileCount 返回类型改为 size_t
修复重复调用 size() 和 GetBundleNameFromUid 的性能问题
移除未使用的 bundleName 变量,移除暴露内部map的 GetFileInfoMap
满100条触发上报时不再重置全局定时器
定时器callback先重排再上报,避免上报异常导致定时器永久停止
BUILD.gn 注册新增的 avsession_storage_event.cpp 源文件
See merge request: openharmony/multimedia_av_session!3169
|
2026-06-27 10:15:35 +08:00 |
|
红袍小恶魔
|
a81ee3b8a3
|
增加ut
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-06-27 09:17:38 +08:00 |
|
openharmony_ci
|
da31831e2c
|
!3137 merge 0615log into master
reduce log 0615
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!3137
|
2026-06-26 18:18:40 +08:00 |
|
红袍小恶魔
|
64b54c59bd
|
优化重启后第一次文件扫描
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-06-25 22:33:08 +08:00 |
|
xuhy
|
082068c074
|
add pac protect
Co-Authored-By: Agent
Signed-off-by: xuhy <xuhuanyu2@huawei.com>
|
2026-06-25 20:46:31 +08:00 |
|
红袍小恶魔
|
d028e32ad9
|
存储打点支持多用户
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-06-24 16:38:14 +08:00 |
|
红袍小恶魔
|
3a455b7503
|
打点文件大小为0修正
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-06-24 11:48:58 +08:00 |
|
红袍小恶魔
|
0ae38c653a
|
新增AVSession磁盘缓存文件统计上报能力
新增AVSessionStorageEvent单例,统计AVSession写入/删除的缓存文件(专辑封面、投屏图标、队列封面等),通过HiSysEvent定期上报磁盘占用情况,用于监控和定位磁盘泄露问题。
主要功能:
- 新增AVSessionStorageEvent类(utils/),按userId分桶管理文件记录
- RecordFileWrite/RecordFileDelete在6个接入点埋点,记录文件写入/删除
- 24h定时上报 + 单用户满100条触发立即上报
- 上报格式为JSON数组:首元素为磁盘扫描汇总(TOTAL/LOCAL/CAST/HISTORY/RECORD共12字段),后续每元素为单文件明细(路径/大小/包名)
- 汇总数据来自磁盘扫描,覆盖升级遗留和服务重启场景
- 明细数据来自内存记账,便于结合日志定位磁盘泄露源
检视意见修复:
- 修复空指针解引用和UAF风险(BuildJsonParam/ReportStorageStatisticsForUser)
- AddFileInfo/RemoveFileInfo简化为纯map操作,去除冗余聚合字段
- 容器改用unordered_map,去除fileName_冗余字段(与map key重复)
- 宏改用inline函数转发,避免多次求值风险
- 修复STORAGE_PROFITE拼写错误为STORAGE_PROFILE
- GetTotalFileCount/GetCacheFileCount返回类型改为size_t
- 修复重复调用size()和GetBundleNameFromUid的性能问题
- 移除未使用的bundleName变量,移除暴露内部map的GetFileInfoMap
- 满100条触发上报时不再重置全局定时器(避免影响其他用户的24h周期)
- 定时器callback先重排再上报,避免上报异常导致定时器永久停止
- BUILD.gn注册新增的avsession_storage_event.cpp源文件
Co-Authored-By: Agent
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-06-23 11:13:10 +08:00 |
|
zhang-minmin-jason
|
199cbd7115
|
reduce log 0615
Signed-off-by: zhang-minmin-jason <zhangminmin9@h-partners.com>
|
2026-06-15 21:35:05 +08:00 |
|
xiyingxin
|
c562c04a50
|
fix 日志输出
Co-Authored-By: Agent
Signed-off-by: xiyingxin <xiyingxin@h-partners.com>
|
2026-06-15 17:42:11 +08:00 |
|
z18629635620
|
97f3692400
|
手机链接手表播放华为音乐,暂停后手表灭屏5分钟后低概率出现crash
Signed-off-by: z18629635620 <zhangshijia10@h-partners.com>
|
2026-06-09 17:27:15 +08:00 |
|
z18629635620
|
02a36c0a15
|
手机链接手表播放华为音乐,暂停后手表灭屏5分钟后低概率出现crash
Signed-off-by: z18629635620 <zhangshijia10@h-partners.com>
|
2026-06-09 15:27:02 +08:00 |
|
openharmony_ci
|
ae465ef4bb
|
!3056 merge master into master
avsession fault
Created-by: Liyimengg
Commit-by: LiYimeng
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!3056
|
2026-05-11 12:11:25 +08:00 |
|
LiYimeng
|
00ceeff38f
|
avsession fault
Co-Authored-By: Agent
Signed-off-by: LiYimeng <liyimeng2@huawei.com>
|
2026-05-09 11:40:51 +08:00 |
|
张敏敏
|
f6929713d2
|
fix hash check array size
Signed-off-by: 张敏敏 <zhangminmin9@huawei.com>
|
2026-04-28 17:55:11 +08:00 |
|
LiYimeng
|
56bf3b96c2
|
dfx
Co-Authored-By: Agent
Signed-off-by: LiYimeng <liyimeng2@huawei.com>
|
2026-04-24 16:44:58 +08:00 |
|
weixin_43563670
|
d9bbe68b93
|
update: 更新文件 avsession_utils.h
Signed-off-by: weixin_43563670 <diyujia1@huawei.com>
|
2026-03-18 11:10:11 +08:00 |
|
weixin_43563670
|
366fc1a74a
|
update: 更新文件 avsession_utils.h
Signed-off-by: weixin_43563670 <diyujia1@huawei.com>
|
2026-03-10 10:13:42 +08:00 |
|
weixin_43563670
|
0d9e44f828
|
设备级应用级并存
Signed-off-by: weixin_43563670 <diyujia1@huawei.com>
|
2026-03-09 20:19:42 +08:00 |
|
红袍小恶魔
|
ca0e262003
|
新增AVSessionUtils单元测试
为AVSessionUtils类补充单元测试用例,覆盖GetAnonyTitle方法的各种场景:
- 空字符串和边界值测试
- ASCII/中文/Emoji字符测试
- 短文本和长文本测试
- 不同ratio参数测试
- 性能测试(大文本处理)
Co-Authored-By: Agent
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-02-14 14:09:16 +08:00 |
|
openharmony_ci
|
c6a533e646
|
!2794 merge master into master
inline告警处理
Created-by: yyy1900
Commit-by: yyy1900
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!2794
|
2026-02-06 18:55:16 +08:00 |
|
yyy1900
|
7bca5b8b90
|
inline告警处理
Signed-off-by: yyy1900 <yanghefei2@h-partners.com>
|
2026-02-03 15:38:42 +08:00 |
|
openharmony_ci
|
b818710d49
|
!2792 merge master into master
fix code
Created-by: liao_qian
Commit-by: liao_qian
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!2792
|
2026-02-02 22:31:07 +08:00 |
|
liao_qian
|
671a453152
|
fix code
Signed-off-by: liao_qian <liaoqian6@huawei.com>
|
2026-02-02 20:08:27 +08:00 |
|
zhang-minmin-jason
|
a7e07f8bbf
|
add avsession_client_lite sdk
Signed-off-by: zhang-minmin-jason <zhangminmin9@h-partners.com>
|
2026-02-02 12:13:53 +08:00 |
|
shallowarpa
|
59ff0b21a6
|
黄蓝差异修改
Signed-off-by: shallowarpa <xingrunxuan@h-partners.com>
|
2026-01-28 15:30:25 +08:00 |
|
红袍小恶魔
|
451deca33b
|
PC连接wifi1,手机大屏连wifi2,投播失败缺少用户提示
Signed-off-by: 红袍小恶魔 <luyuchen3@huawei.com>
|
2026-01-23 14:11:46 +08:00 |
|
liao_qian
|
e3ce05ab5e
|
del openssl dep
Signed-off-by: liao_qian <liaoqian6@huawei.com>
|
2026-01-13 19:32:20 +08:00 |
|