当前位置: 首页 > 知识库问答 >
问题:

ClientEncryption Java 11.0.10+9 Red Hat不支持单例模式,断断续续地在tcache中检测到双空闲

岑驰
2023-03-14

free():在tcache2中检测到双空闲Java运行时环境检测到一个致命错误:

SIGSEGV(0xB)在pC=0x00007F3E214FBD21,PID=1,TID=91处

JRE版本:OpenJDK Runtime Environment 18.9(11.0.10+9)(构建11.0.10+9-LTS)Java VM:OpenJDK 64位服务器VM 18.9(11.0.10+9-LTS,混合模式,共享,分层,压缩oops,g1 gc,linux-amd64)问题帧:C[libc.so.6+0x21d21]中止+0x203

将写入核心转储。默认位置:可以使用“/usr/share/apport/apport%p%s%c%d%p%e”处理核心转储(或转储到/home/jboss/Core.1)

如果您想提交bug报告,请访问:https://bugzilla.redhat.com/enter_bug.cgi?product=red%20hat%20enterprise%20linux%208&component=java-11-openjdk崩溃发生在Java虚拟机之外的本地代码中。有关报告bug的位置,请参见problematic frame。

JRE构建版本是11.0.10+9-LTS(OpenJDK Runtime Environment RedHat)OpenJDK 64位服务器VM 18.9(11.0.10+9-LTS,混合模式,共享,分层,压缩oops,g1 gc,Linux-amd64我使用spring boot with spring data JPA,

我从日志中观察到,每当我的应用程序打开到mongo的连接时,它都会在这个JVM CRACH上着陆。

2021-05-05 07:36:29.512 DEBUG 1 --- [nio-8090-exec-1] c.xxx.xx.xx.SectionHandlerService        [db340496-d1fb-43f0-92c9-f7114194dfbf] : questionnaire  extracted with Id :: 4308655
2021-05-05 07:36:29.512 DEBUG 1 --- [nio-8090-exec-1] com.xxx.utils.MapperUtil               [db340496-d1fb-43f0-92c9-f7114194dfbf] : mapToModel Started
2021-05-05 07:36:29.512 DEBUG 1 --- [nio-8090-exec-1] com.xxx.utils.MapperUtil               [db340496-d1fb-43f0-92c9-f7114194dfbf] : Converting com.xxx.xxx.entity.Section To com.xxx.xxxxx.SectionModel class using mapToModel
2021-05-05 07:36:29.623  INFO 1 --- [nio-8090-exec-1] org.mongodb.driver.connection            [db340496-d1fb-43f0-92c9-f7114194dfbf] : Opened connection [connectionId{localValue:266, serverValue:267840}] to xxxxxxxxxxxxxx:27017

在我的最后一个语句即打开连接之后,我的应用程序进入JVM崩溃状态。

现在我需要了解我所使用的java mongo驱动程序是否有问题,当应用程序打开mongo连接时,pod就会以上述JVM错误重新启动。

很难产生这个问题。如果我们的应用程序满负荷运行,其工作状态良好,如果我们在12小时的理想时间后运行应用程序,我们将陷入JVM崩溃。

共有1个答案

南门棋
2023-03-14

找到了解决办法。这不是JVM的问题,而是mongo-driver-sync库的问题。clientEncryption对象的单例对象创建导致JVM在一定的理想时间后崩溃。

在我们的例子中,一旦我们启动应用程序并进行一些加密,它就可以正常工作,但在一定时间后,如果我们保持应用程序的理想状态,然后尝试使用相同的单例实例进行加密,那么JVM就会崩溃。

对于clientEncryption的新对象,它工作得很好,但是这个解决方案带来了一个更严重的问题,即在加密和解密数据时系统速度慢。

 类似资料:
  • 问题内容: 所以我有一个先前的问题,但意识到我发布了错误的违规代码。我在下面标记了令人反感的陈述。 我正在尝试使用该switch语句为每个运算符设置优先级。 也许有人可以指出我正确的方向。 请注意,我正在运行JAVA 7,因此String Switch可以工作。 码 opType.java Operator.java 问题答案: 如果您放置了,则该函数会在执行之前返回,因此将永远无法达到。 相反,

  • 我的任务是通过Sustainsys(Kentor)库为我目前正在进行的项目设置SAML 2.0单点登录。这是我一直遵循的文档。该网站是一个webforms应用程序,因此我使用Sustainsys库的HTTPModule部分。我已将IDP(Okta)配置为将SAML2.0断言发送到文档中声明endpoint为/SAML或/SAML/Acs的网站。该网站是Kentico CMS网站,CMS提供了一个A

  • 本文向大家介绍php支持断点续传、分块下载的类,包括了php支持断点续传、分块下载的类的使用技巧和注意事项,需要的朋友参考一下 本文是为大家分享php支持断点续传、分块下载的类,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助。

  • 本文向大家介绍在ASP.NET中支持断点续传下载大文件(ZT)源码,包括了在ASP.NET中支持断点续传下载大文件(ZT)源码的使用技巧和注意事项,需要的朋友参考一下 IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag 客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客

  • 把自己从软件检查员寻常的手工检查工作中解放出来 在开始新项目时,多数人计划在将代码投入生产发行之前审核它们;但是,当提交日程超越了其他因素时,审核常常成为第一个被抛弃的实践。如果能够自动执行其中一些审核,那么情况又会怎样呢?在新系列 “让开发自动化” 的第一篇文章中,开发自动化专家 Paul Duvall 首先将研究如何自动化检查器(例如 CheckStyle、JavaNCSS 和 CPD)、如何

  • 本文向大家介绍Java嵌套中断/继续,包括了Java嵌套中断/继续的使用技巧和注意事项,需要的朋友参考一下 示例 这是可能的break/continue到外环使用标签声明: Java中的标签没有其他用途。