潜在的 spring 安全内存泄漏

我有一个grails 3.1.7项目,它使用spring security core 3.1.1并部署到一个tomcat实例(不确定tomcat版本) .

此行不时出现在日志中:

31-Apr-2018 13:31:20.710 SEVERE [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks Web应用程序[my-app]创建了一个类型为[java.lang的键]的ThreadLocal . ThreadLocal](值[java.lang.ThreadLocal@6678f8db])和类型为[org.springframework.security.web.firewall.FirewalledResponse]的值(值[org.springframework.security.web.firewall.FirewalledResponse@159982ef])但是在Web应用程序停止时无法将其删除 . 线程将随着时间的推移而更新,以避免可能的内存泄漏 .

我知道这是tomcats正常运行的一部分it checks for memory leaks而且似乎大多数人只是选择忽略它 . 这就是我们过去所做的 . 这次我们被告知'fix it',但鉴于泄漏的threadlocal变量来自spring安全类,我不确定要修复什么或如何解决它 .

因此,在我开始尝试调试此问题之前,有没有人知道这里发生了什么?有没有人见过这个?它是良性的还是我需要做更多的挖掘?我应该告诉安全人员说服他们忽略它?

任何帮助将非常感激!

回答(1)

2 years ago

事实证明,报告错误的团队确实用'kill -9'杀死了webapp . 有意义的是tomcat在它之后清理干净了 .