【发布时间】:2015-01-21 16:50:27
【问题描述】:
我们的 JVM(Weblogic 上的 HotSpot)因致命错误而终止。
SIGSEGV (0xb) at pc=0xffffffff7a045f1c
我们已经分析并重新分析了致命错误日志 (Oracle: Fatal Error Log Troubleshooting)。错误日志包括错误发生时正在运行的线程及其跟踪(下面的前三行读取跟踪。)每次发生致命错误时跟踪都是相同的。
J com.bea.wsrp.producer.container.ServletRequestImpl.setHeaders(Ljava/util/Map;Ljava/util/LinkedHashMap;Ljava/lang/String;)V
j com.bea.wsrp.producer.container.RequestFactory.createServletRequest(Ljavax/servlet/http/HttpServletRequest;Lcom/bea/wsrp/model/markup/IRuntimeContext;Lcom/bea/wsrp/model/markup/IMarkupParams;Lcom/bea/wsrp/producer/handlers/ServiceHandler$InvocationType;)Lcom/bea/wsrp/producer/container/ServletRequestImpl;+213
j com.bea.wsrp.producer.container.RequestFactory.createServletRequest(Ljavax/servlet/http/HttpServletRequest;Lcom/bea/wsrp/model/markup/IRuntimeContext;Lcom/bea/wsrp/model/markup/IMarkupParams;Lcom/bea/wsrp/model/markup/state/IOpaqueState;Lcom/bea/wsrp/model/markup/INavigationalContext;Lcom/bea/wsrp/producer/handlers/ServiceHandler$InvocationType;)Lcom/bea/wsrp/producer/container/ServletRequestImpl;+5
我的问题是,给定堆栈跟踪和我们的源代码,当我们运行的代码的最后部分约为 80沿着跟踪线排列并且非常通用(意味着许多不同的动作贯穿其中)?是否有任何静态代码分析方法可以提供帮助?搜索字节码有帮助吗?还是我们无法访问供应商源代码?
试错测试(包括我们的标准性能/功能脚本)未能重现问题,甚至无法使用 setHeaders 方法(上述跟踪的第一行)。
感谢您提供有关解决此问题的新方法的任何帮助。
【问题讨论】:
-
这个问题可能是由操作系统引起的吗?此消息 ""SIGSEGV (0xb) at pc=0xffffffff7a045f1c" 来自 weblogic var 或 syslog?
-
@ThufirHawat:消息来自致命错误日志,因此它来自 JVM。 SIGSEGV 是无效的内存访问。
-
我认为这里不是你的情况,但我之前遇到了分段错误,解决方案是修复服务器的日期时间(因为操作系统日期与文件日期不同)。无论如何,希望你能解决这个问题。听起来很难
标签: java oracle fatal-error