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

返回任意字符串时触发AddressSanitizer内存分配错误求助

解决LeetCode第349场周赛题目中的AddressSanitizer内存分配错误

错误根源

你碰到的错误:

22ERROR: AddressSanitizer failed to allocate 0xdfff0001000 (15392894357504) bytes at address 2008fff7000 (errno: 12)
22ReserveShadowMemoryRange failed while trying to map 0xdfff0001000 bytes. Perhaps you're using ulimit -v

本质是虚拟内存限制过低,导致AddressSanitizer无法分配所需的影子内存来完成内存检测,和你的代码返回结果对错无关。

解决方法

  • 查看当前虚拟内存限制:运行命令 ulimit -v,如果输出数值远低于系统可用内存,说明限制生效。
  • 解除虚拟内存限制:执行 ulimit -v unlimited,允许进程使用全部可用虚拟内存。
  • 重新提交代码:修改限制后再运行代码,即可避开这个内存分配错误。

补充说明

如果是本地调试出现该问题,检查是否有全局的虚拟内存限制设置;如果是LeetCode平台端的问题,可尝试多次重新提交,或者排查代码是否存在极端情况下的内存过度申请(虽然当前错误和返回结果无关,但隐性内存操作可能加重资源占用)。

内容的提问来源于stack exchange,提问作者CS56 Shivanshu Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 03:27:21