在Docker容器中使用AddressSanitizer时,作者遇到了无法输出调用堆栈信息并导致CPU占用的问题。经过两天的调查,他们发现问题是由于文件限制设置引起的。尽管尝试了多种解决方案,问题仍然存在。最终,他们发现问题与容器和主机机器的文件打开限制有关。通过在容器中设置文件限制,他们成功解决了问题。作者建议修改containerd文件描述符限制,并可能修改LLVM源代码以使用替代的系统调用来关闭文件描述符。他们已在GitHub上提出了改进的问题。
完成下面两步后,将自动完成登录并继续当前操作。