[Bug Report] Deepin23企业微信接收Win端Confluence链接卡片时必现栈溢出崩溃
Tofloor
poster avatar
jiangtao69039
deepin
11 hours ago
Author

问题现象

在 Deepin 23.1 系统中使用应用商店安装的企业微信时,只要 Windows 企业微信用户发送特定格式的 Confluence 链接,Deepin 接收端在显示该消息/链接预览时就会弹出错误报告,随后企业微信退出。

触发链接的路径格式类似:

/pages/viewpage.action?pageId=...

不需要点击链接,接收并显示消息时即可触发。

复现情况

经过多次对照测试,结果如下:

发送端 接收端 结果

━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━

Windows 企业微信 Windows 企业微信 正常

────────────────── ────────────────── ──────────

Deepin 企业微信 Deepin 企业微信 正常

────────────────── ────────────────── ──────────

Windows 企业微信 Deepin 企业微信 稳定崩溃

另外,将 viewpage.action 中的英文点号改成普通文字,例如改为 viewpage点action,使内容不再被识别为有效 URL 后,Deepin 企业微信不会崩溃。

由此判断,触发条件不是普通文本,而是 Windows 企业微信生成的链接预览/富消息在 Deepin 接收端的处理路径。

复现步骤

  1. 在 Deepin 23.1 上启动企业微信。

  2. 让 Windows 企业微信用户发送一个包含以下路径的 Confluence 链接:

    /pages/viewpage.action?pageId=...

  3. Deepin 企业微信接收并显示该消息。

  4. 企业微信弹出错误报告窗口,随后退出。

复现概率:目前测试为稳定复现。

实际结果

企业微信弹出错误报告并退出,弹窗中显示:

  • 错误模块:undefined
  • 错误编号:239bcaeb-45a3-424a-b300-d46c94cb0b9b

期望结果

Deepin 企业微信应正常显示 Windows 端生成的链接预览。

即使链接内容、消息格式或 Wine API 返回异常,也不应导致整个企业微信进程退出。

运行环境

  • 系统:Deepin 23.1 x86_64
  • 内核:6.12.20-amd64-desktop-rolling
  • 企业微信包:com.qq.weixin.work.deepin
  • 企业微信版本:5.0.7.6005deepin3
  • Wine:deepin-wine10-stable 10.14deepin8
  • 软件包维护者:Deepin WINE Team

崩溃分析

对错误编号对应的 minidump 进行解析后,得到以下结果:

  • 崩溃进程:WXWork.exe
  • 崩溃线程:BackgroundThread
  • 异常类型:EXCEPTION_STACK_OVERFLOW
  • 异常码:0xC00000FD
  • 异常地址:0xe9261f6d
  • 崩溃时栈指针:ESP=0x117523ac
  • 线程栈预留大小:1 MiB

异常地址位于未分配、不可访问的内存区域,不属于任何已加载模块,这可能是错误弹窗显示“错误模块 undefined”的原因。

本机另外三个历史企业微信崩溃 dump 也具有完全相同的异常码、异常地址、线程名称、EIP 和 ESP,说明这是确定性、可重复的相同故障路径,并非随机硬件故障。

现有证据可以确认企业微信发生了栈溢出,但由于 dump 未保存完整的异常线程调用栈,并且缺少腾讯的 PDB 符号文件,目前无法进一步精确到具体函数。

初步怀疑是 Deepin Wine 环境中,企业微信处理 Windows 端生成的链接预览/富消息时发生了递归或重复重入,最终耗尽线程栈。具体是企业微信自身处理逻辑还是 Wine API 兼容行为导致,需要维护者结合符号继续确认。

附件

附件中包含:

  • 原始 minidump
  • minidump 简版和完整解析报告
  • 脱敏后的 Wine 日志
  • 脱敏后的 Bugly 窗口报告
  • 软件包和运行环境信息
  • 原始 dump 的 SHA-256 校验值
  • 崩溃时的企业微信截图

希望 Deepin WINE Team 能协助确认 Windows 端链接卡片在 Deepin 接收端的处理流程,重点检查是否存在回调重入、递归调用或 Wine API 行为不兼容的问题。

WXWork-crash-239bcaeb-public.zip

Reply Favorite View the author
All Replies
avatar
deepin流云
Super Moderator
Community OP
10 hours ago
#1

完整链接发出来看看,反正Confluence是内网的,外面也访问不了你公司的,我找测试看看能不能复现到,如昨天群里所说,wine应用本就不能保证所有功能都正常;另外现在23不维护了,建议使用25版本。

Reply View the author
avatar
老月
deepin
4 hours ago
#2

对,升级至25版本能解决很多问题的,有时间升级一下

Reply View the author