Jvm崩溃:Java运行时环境检测到致命错误

时间:2017-05-23 07:46:30

标签: java linux tomcat fatal-error jvm-crash

我在实时服务器上发生了tomcat崩溃,生成了hs_err_pid文件。这里有一个有问题的框架 - > _wordcopy_fwd_dest_aligned + 0x54。我搜索了jvm崩溃的所有类似情况,但无法找到这个有问题的框架的含义。有什么建议吗?

# -*- coding: utf-8 -*-
from scrapy.selector import Selector

doc = """
<div class="product ">
  <div class="information">
    <h4 class="name ">Biryani</h4>
    <p class="description ">mutton mix biryani</p>
  </div>

  <div class="details">
    <div class="orderDetail">
      <p class="price ">&#163;12.95</p>
    </div>
  </div>
</div>
"""

sel = Selector(text=doc, type="html")

sel_products = sel.xpath('//div[@class="product "]')

for product in sel_products:
    name = product.xpath('.//h4[@class="name "]/text()').extract_first()
    price = product.xpath('.//p[@class="price "]/text()').extract_first()
    print "name: " + name + ", price: " + price  # name: Biryani, price: £12.95

2 个答案:

答案 0 :(得分:2)

  1. 您观察到的崩溃不是java问题,它是redhat问题"https://bugzilla.redhat.com/show_bug.cgi?id=546158"
  2. 什么是有问题的框架: 它是导致崩溃的顶级框架,在您的情况下,它是本机框架(C)导致libC.so文件。 请查看更多详细信息here

答案 1 :(得分:0)

这里有几种可能性。但除非您使用任何本机库(例如tcnative),否则故障完全在应用程序之外(包括Tomcat作为“应用程序”的一部分)。应用程序无法执行任何操作都会导致JVM崩溃。

  1. 您正在使用的本机库中存在错误
  2. JVM中存在错误
  3. libc
  4. 中存在错误
  5. 您遇到硬件错误
  6. 我认为如果您实际拥有任何原生组件,#1最有可能。

    如果您没有任何本机组件,我认为#4最有可能。每次我见过SIGBUS时,它都会成为底层硬件的问题。如果可能,请将该计算机停止服务并在计算机上运行memtest86+(或等效于您的体系结构)。它将运行内存,CPU,系统总线,看看它们是否经常工作可能会暴露问题。

    如果您的系统通过了memtest86 +的2次测试,我会说您更有可能在JVM(不太可能)或libc中发现错误(甚至更不可能)。在任何一种情况下,将所有内容升级到最新版本并重新尝试。