You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firefox中PXT框架LZMA解压算法异常求助(Chrome/Edge正常)

背景

在某企业项目中,我们使用开源框架PXT(Microsoft Makecode)。该框架支持上传包含完整元数据的.png格式项目文件。在Chrome和Edge浏览器中上传项目一切正常,但在Firefox中会触发“corrupted input”错误。

问题详情

PXT框架采用lzma算法对.png项目文件进行解压(解压逻辑位于项目的pxtlib/cpp.ts文件中)。当在Firefox中上传大小约大于14.2KB的文件时,lzma.decompress函数会抛出“corrupted input”错误:

  • 输入:项目文件对应的Uint8Array类型缓冲区
  • 输出:res(解压后的项目字符串)和错误信息
错误触发路径
  • 当变量e.ib值为-1时,sr函数返回-1
  • 若sr函数返回-1,tr函数将抛出错误
负责解压的循环逻辑

核心为同时监控执行时长的循环处理,用于返回解压后的项目数据

大于14.2KB项目的返回结果(错误情况)
  • 解压过程触发“corrupted input”异常,读取指针状态异常
  • 解压提前终止,未完成全部数据处理,返回错误标识
小于14.2KB项目的返回结果(成功情况)
  • 解压完成,返回完整的项目字符串
  • 解压过程中状态参数正常,无异常抛出
推测方向

负责解压的循环同时监控执行时长,推测Firefox中处理大文件时执行超时,导致解压失败。目前尝试增加超时时间无效果。是否有类似问题的解决经验?由于仅在Firefox且文件大于14.2KB时出现,推测可通过修改浏览器配置参数解决,盼赐教。

内容的提问来源于stack exchange,提问作者tschanni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 05:43:12