【问题标题】:How to recreate transaction from thread dump如何从线程转储重新创建事务
【发布时间】: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


【解决方案1】:

如果你的意思是重新创建相同的线程状态,你不知道它死时是什么,你可以使用Thread.currentThread().setName(...)

有些人使用它在线程名称中设置线程状态信息,以便以后的堆栈转储分析可以为您提供一些状态信息,例如线程名称可能是这样的:

thread [abc] values [tx=1234, state=state1, user=someuser, starttime=123456]

【讨论】:

  • 有趣的技术。我认为这可能会有所帮助,但为此更改代码将是一个艰难的卖点。希望了解一些我可以离线做的事情。
  • 是的。非常有趣的技术
  • 这家伙写了一点blog.takipi.com/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-08
  • 2016-01-20
相关资源
最近更新 更多