已关闭
[Bug]: 开启mstx,有概率出现丢数据 #112
or_2928创建于  7月29日关闭于  8月3日
or_2928成员
7月29日 创建

在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。

⚠️ 安全信息提醒:请仔细检查提供的文本内容,确保其不包含敏感数据信息,包括但不限于:

  • API 令牌或密钥
  • 密码或身份验证凭证
  • 私有网址或接口地址
  • 个人或机密数据
  • ...

在分享配置信息或代码示例时,请将敏感信息脱敏处理,或使用 <TOKEN> 等占位符替代原有内容。

环境信息

  • 操作系统 Ubuntu 24.04 LTS
  • 昇腾硬件信息 A2
  • CANN软件版本 9.1.0
  • 安装的对应软件版本 26.1.0

🐛 问题描述

开启mstx,有概率出现丢数据
plog中出现Failed to save data for range end, range id xxx

欢迎加入社区,感谢您对社区的贡献 🎉!

likedislike
Oor_2928成员
7月29日 关联了里程碑:MindStudio 26.2.0
Oor_2928成员
7月29日 添加了label:bug, high-priority
Mrtutu
Mrtutu成员
7月29日 评论:

👋 您好,欢迎向 MindStudio msprof 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉

📅处理时效: 维护团队将在24小时内 查看并回复您的问题(工作日)。
🔍自助查询: 在等待期间,建议您先查阅以下资料,可能已有解决方案:

📖 MindStudio msprof官方文档
📝 贡献者指南

请确保 Issue 描述清晰,包含复现步骤和日志,这将帮助我们更快定位问题。谢谢!

likedislike
MrtutuMrtutu成员
7月29日 添加了label:triaged
Oor_2928成员
7月29日 修改了issue 的描述
mei-feiyao
mei-feiyao成员
7月31日 评论:

修复PR:https://gitcode.com/cann/runtime/pull/3932
原因:mstx_data_handler是线程类,在start阶段先开启线程,再设置start_=true;在stop阶段关闭线程,并设置start_=false;在线程的Run方法(用于消费buffer数据)里,判断start_ != true时就break掉。这里就有可能发生线程start后,start_还未设置为true,那么Run方法里判断start不为true,直接退出,但是并未设置start_ = false。那么用户程序调用mstx接口打点时,数据会尝试往数据buffer里push,因为消费线程已经退了,buffer里的数据一直未消费,那么push数据条数达到buffer容量后就会报错不支持push。
修改方案:修改逻辑,先设置start_=true,再start线程
验证情况:复验10次,未再发生数据丢失的问题

likedislike
mei-feiyaomei-feiyao成员
7月31日 添加了label:resolved
or_2928成员
8月3日 评论:

验证通过

likedislike
Oor_2928成员
8月3日 issue状态由 TODO 改变为 DONE
Oor_2928成员
8月3日 关闭了 issue