multithreading - 所有线程都在 RUNABLE 状态下阻塞 10 小时
问题描述
正如下面的转储,一些节点偶然发生,线程随着时间的推移而上升,最后所有线程都处于这种状态超过 10 个小时,系统挂起。我们使用的是 EclipseLink OXM 2.6.4,EclipseLink OXM 是否存在已知错误?或者有人遇到过类似的问题吗?
#695 daemon prio=5 os_prio=0 tid=0x00007f3c00875000 nid=0x48f in Object.wait() [0x00007f3b4c709000]
java.lang.Thread.State: RUNNABLE
at org.glassfish.json.JsonParserImpl.getValue(JsonParserImpl.java:185)
at org.glassfish.json.JsonParserImpl.getObject(JsonParserImpl.java:339)
at org.glassfish.json.JsonParserImpl.getObject(JsonParserImpl.java:173)
at org.glassfish.json.JsonReaderImpl.read(JsonReaderImpl.java:94)
at org.eclipse.persistence.internal.oxm.record.json.JsonStructureReader.parse(JsonStructureReader.java:139)
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:1016)
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:452)
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:400)
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:741)
at org.eclipse.persistence.internal.oxm.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:649)
at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:349)
解决方案
0x00007f47a017f705 __pthread_cond_wait + 0xc5
0x00007f479f2baaf5 _ZN13ObjectMonitor4waitElbP6Thread + 0xa65
0x00007f479efeec40 _ZN13InstanceKlass15initialize_implE19instanceKlassHandleP6Thread + 0x2f0
0x00007f479efeeec1 _ZN13InstanceKlass10initializeEP6Thread + 0x41
0x00007f479f02edfa _ZN18InterpreterRuntime4_newEP10JavaThreadP12ConstantPooli + 0x23a
0x00007f4761024d8f * org.glassfish.json.JsonParserImpl.getValue() bci:96 line:185 (Interpreted frame)
0x00007f4761008020 * org.glassfish.json.JsonParserImpl.getObject(javax.json.JsonObjectBuilder) bci:39 line:339 (Interpreted frame)
0x00007f4761008020 * org.glassfish.json.JsonParserImpl.getObject() bci:37 line:173 (Interpreted frame)
0x00007f4761008020 * org.glassfish.json.JsonReaderImpl.read() bci:67 line:94 (Interpreted frame)
0x00007f47610080f1 * org.eclipse.persistence.internal.oxm.record.json.JsonStructureReader.parse(org.xml.sax.InputSource) bci:127 line:139 (Interpreted frame)
0x00007f4761008294 * org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(org.xml.sax.XMLReader, org.xml.sax.InputSource, java.lang.Class) bci:335 line:1016 (Interpreted frame)
0x00007f4761008020 * org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(org.xml.sax.InputSource, java.lang.Class) bci:71 line:452 (Interpreted frame)
0x00007f4761008020 * org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(java.io.InputStream, java.lang.Class) bci:48 line:400 (Interpreted frame)
0x00007f4761008020 * org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(javax.xml.transform.Source, java.lang.Class) bci:156 line:741 (Interpreted frame)
0x00007f47610080f1 * org.eclipse.persistence.internal.oxm.XMLUnmarshaller.unmarshal(javax.xml.transform.Source, java.lang.Class) bci:159 line:649 (Interpreted frame)
0x00007f4761008020 * org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(javax.xml.transform.Source, java.lang.Class) bci:25 line:349 (Interpreted frame)
推荐阅读
- node.js - 如何从我的 react-app 启动节点脚本?
- apache-kafka-streams - NamedCache size() 实现疑似降低性能
- php - 修复现有帖子中不匹配的图像类
- c++ - С调用带有字符串变量的静态类结构而没有c ++中的对象
- c++ - 为什么这个函数可以返回一个 C++ int 引用?
- mysql - Cloudways SQLSTATE [HY000] [1045] 'root'@'localhost' 的访问被拒绝(使用密码:YES)(SQL:SHOW FULL TABLES WHERE table_type = 'BASE TABLE')
- laravel - Laravel 6 改回旧的 5.8 异常屏幕
- node.js - 如何通过 NodeJS(即通过“npm install”)下载 Doxygen for C++?
- javascript - 在页面中呈现带有 HTML 标记的文本
- regex - 如何制作一个将一组频率与另一组频率进行比较的正则表达式模式