潜在的弹簧安全内存泄漏

时间:2018-04-30 21:41:00

标签: spring tomcat grails spring-security

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

此行不时出现在日志中:

  

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

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

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

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

原来报告错误的团队确实用“杀死-9”杀死了网络应用程序。有意义的是tomcat在它之后清理干净了。