- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《一个JVM crash的分析解决过程》.pdf
一个JVM crash的分析解决过程
阿里巴巴核心系统研发部
梅路峣/云达
关于我
• 2011.7 开始在淘宝实习,从事JVM相关工作
• 2012.3 硕士毕业(北邮计算机专业)
• 脑残G粉
• 对编程语言的实现很感兴趣,目前关注重点在JVM的实现
• /u/1063244843
主要内容
• 什么是JVM crash
• 阿里和百度都碰到的一个JVM crash
什么是JVM crash
• Java进程意外消失
• 和Java层面的Exception、Error不是一个概念
• 通常伴随着
– crash log :hs_err_pidpid.log (重要)
– core dump: core.pid
– 戒系统日志
• 主要是 /var/log/messages 里的异常信息
制造JVM crash
• 最简单的方式:
jinfo -flag FLSLargestBlockCoalesceProximity pid
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (globals.cpp:153), pid=32269, tid =1118550336
# Error: ShouldNotReachHere()
#
# JRE version: 6.0_32-b05
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.7-b02 mixed mode
linux-amd64 compressed oops)
# An error report file with more information is saved as:
# /home/yunda.mly/test/hs_err_pid32269.log
#
# If you would like to submit a bug report, please visit:
# /webapps/bugreport/crash.jsp
#
Aborted (core dumped)
今天要讲的JVM crash
• 阿里和百度先后遇到
• 共同特点:使用了反向JNI ,即用native (C/C++ )代码
调用Java代码,并申请了大量内存
• 人为制造:
在Java launcher (java.c )初始化JVM代码前加上:
size_t K = 1024;
size_t len = 3*K*K*K;
char * test_polling_page = (char *)malloc(len);
百度碰到的crash
int main(int argc, char **argv) {
if (argc != 2) {
fprintf(stderr, Usage: hdfs_write mem\n);
exit(-1);
}
tSize m = strtoul(argv[1], NULL, 10);
fprintf(stderr, allocate %ld bytes\n, m * 1024 * 1024 * 1024L);
char* memmem = (char*)malloc(m * 1024*1024*1024L);
fprintf(stderr, memmem %p \n, memmem);
fprintf(stderr, before\n);
hdfsFS fs = hdfsConnect(default, 0);
if (!fs) {
fprintf(stderr, Oops! Failed to connect to hdfs!\n);
exit(-1);
}
fprintf(stderr, after\n);
return 0;
}
Crash log
• 地址:/4602677
• 出错的地方:
0x00007f943ff492ad: test %eax,-0x3bd062b3(%rip)
# 0x00007f94
您可能关注的文档
- 《What Your LEADER Expects of You(HBR)》.pdf
- 《What_Makes_ a_ Good_ Lesson_Jan 06》.ppt
- 《When big data goes lean》.pdf
- 《When should a leader apologise》.pdf
- 《While The Light Lasts》.doc
- 《White light emitting diodes》.pdf
- 《White organic light-emitting diodes with fluorescent tube efficiency》.pdf
- 《Whither Historical Capitalism Social Networks》.pdf
- 《who makes a good leader》.pdf
- 《Why The Lean Start Up Changes Everything》.pdf
文档评论(0)