java - 了解 hs_err_pid<n>.log 文件

标签 java sqlite jvm jetty jvm-crash

参见 here对于原始问题。

我正在编写 Java 服务,使用 Jetty 进行网络服务,使用 SQLite 进行数据库存储。有源here .

我发现,虽然该服务在我的笔记本电脑上稳定运行,但当部署到 EC2 实例时,它会崩溃,并且在启动后的 1 小时到 2 天内不会输出任何明显的错误消息。我在启动调用中添加了一些日志记录选项 (-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=...),并得到了 this crashlog .

这是我第一次遇到这样的文件,乍一看,它的哪一部分是指实际错误,哪一部分只是提供上下文信息,所以我真的很想感谢任何理解它的好指南。特别是,它看起来像是在尝试与 ZipFiles 交互,而我没有在我的项目中使用它。

  • This answer链接到 blog在答案评论中是-1
  • This answer链接到一些 Oracle documentation ,我通常会很高兴看到它,但它似乎是一个通用的调试指南 - 在其中看不到任何关于 hs_err 文件的信息(尽管进一步阅读可能会变得清晰)
  • This result from Google声称“无论您执行什么 Java 代码,JVM 都不应崩溃。如果确实如此,那只是一个 JVM 错误。因此请尝试向 Sun 记录一个包含所有详细信息的缺陷,希望他们会对此进行调查。”,这听起来很绝对- 我认为我的小玩具项目不太可能发现 JVM 错误!

最佳答案

Java_java_util_zip_ZipFile_getEntry 中的崩溃通常是由并发访问 .zip 文件引起的,例如当一个打开的实例存在时,一个文件被覆盖。

参见 JDK-8042197 , JDK-8031691了解详情。

顺便说一句,关于原始问题,这里是一个 presentation关于 JVM 故障转储分析。

关于java - 了解 hs_err_pid<n>.log 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39583277/

相关文章:

java - 如何转换一串俄语西里尔字母?

java - 在 Java Android 中加载外部 JSON 文件

java - 服务器上的只读 SQLite

java - JVM 或底层操作系统是否处理线程状态更改

Java 8u40 Math.round() 非常慢

java - 无法解决 Android 依赖关系

java - Ant 构建文件框架将 eclipse 项目变成 war ?

java - 另一条 route 的 Apache Camel 蓝图 Web 服务响应

iphone - 非常大的 NSDictionary vs Core Data vs SQLite 在 iPhone 上进行只读查找?

java - 如何查找 JVM 尝试加载的类的列表和顺序(而不是已经加载的类)