目录

CCF2026 OpenHarmony 开源任务挑战赛提交材料

作品名称

OpenHarmony dmsfwk_lite 64-bit TLV marshalling 修复与测试补强

赛题与仓库

  • 赛题方向:OpenHarmony 开源任务挑战赛,聚焦分布式任务调度。
  • 具体仓库:openharmony/ability_dmsfwk_lite
  • 本地源码:source/ability_dmsfwk_lite
  • PR-ready patch:patches/openharmony_ability_dmsfwk_lite_uint64_tlv_fix.patch

官方依据

实质贡献

修复 source/dmslite_packet.cMarshallUint64 把 64 位字段按 uint16_t 长度编码的问题。修复后,64 位 TLV 字段会按 8 字节编码,避免接收端 UnMarshallUint64 因长度不匹配而返回 0。

新增 OpenHarmony module test:

  • moduletest/dtbschedmgr_lite/source/packet_test.cpp
  • moduletest/dtbschedmgr_lite/BUILD.gn

新增本地验证资产:

  • verification/run_host_verification.ps1
  • verification/verify_packet_fix.py
  • verification/packet_marshalling_host_test.c
  • verification/host_stubs/*

验证结果

当前环境无 gcc/clang,验证脚本自动回退到 Python 字节级验证。

结果:

verify_packet_fix.py: 2/2 packet cases passed
MarshallUint64 pre-fix simulated packet: 06 02 07 08
MarshallUint64 fixed packet: 06 08 01 02 03 04 05 06 07 08
Encoded TLV size changed from 4 to 10 bytes

量化指标

  • 上游源码仓库改动文件:3 个
  • 上游 patch 规模:89 行新增,1 行删除
  • 新增 OpenHarmony module test:2 个
  • 本地验证用例:2 个,2/2 通过
  • 功能对比:MarshallUint64 TLV 从错误的 4 字节 packet 修复为正确的 10 字节 packet

快速复现

cd C:\CCFOpenSourcepowershell
cd C:\CCFOpenSource\09_OpenHarmony
powershell -ExecutionPolicy Bypass -File .\verification\run_host_verification.ps1
git -C .\source\ability_dmsfwk_lite diff --check
git -C .\source\ability_dmsfwk_lite diff --stat
9_OpenHarmony
powershell -ExecutionPolicy Bypass -File .\verification\run_host_verification.ps1
git -C .\source\ability_dmsfwk_lite diff --check
git -C .\source\ability_dmsfwk_lite diff --stat
关于
49.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号