25 Star 19 Fork 82

src-openEuler/openjdk-1.8.0

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
Enhance-SIGBUS-and-rlimit-information-in-errlog.patch 2.80 KB
一键复制 编辑 原始数据 按行查看 历史
Subject: [PATCH][Huawei] Enhance SIGBUS and rlimit information in errlog
---
hotspot/src/os/posix/vm/os_posix.cpp | 26 ++++++++++++++++++++++
hotspot/src/share/vm/utilities/vmError.cpp | 2 +-
2 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/hotspot/src/os/posix/vm/os_posix.cpp b/hotspot/src/os/posix/vm/os_posix.cpp
index f7dab3c7f..a83ae1476 100644
--- a/hotspot/src/os/posix/vm/os_posix.cpp
+++ b/hotspot/src/os/posix/vm/os_posix.cpp
@@ -207,6 +207,26 @@ void os::Posix::print_rlimit_info(outputStream* st) {
if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
else st->print("%uk", rlim.rlim_cur >> 10);
+ st->print(", DATA ");
+ getrlimit(RLIMIT_DATA, &rlim);
+ if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
+ else st->print("%uk", rlim.rlim_cur >> 10);
+
+ st->print(", FSIZE ");
+ getrlimit(RLIMIT_FSIZE, &rlim);
+ if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
+ else st->print("%u", rlim.rlim_cur >> 10);
+
+ st->print(", CPU ");
+ getrlimit(RLIMIT_CPU, &rlim);
+ if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
+ else st->print("%uk seconds", rlim.rlim_cur >> 10);
+
+ st->print(", RSS ");
+ getrlimit(RLIMIT_RSS, &rlim);
+ if (rlim.rlim_cur == RLIM_INFINITY) st->print("infinity");
+ else st->print("%u", rlim.rlim_cur >> 10);
+
// Isn't there on solaris
#if !defined(TARGET_OS_FAMILY_solaris) && !defined(TARGET_OS_FAMILY_aix)
st->print(", NPROC ");
@@ -765,6 +785,12 @@ static bool get_signal_code_description(const siginfo_t* si, enum_sigcode_desc_t
{ SIGBUS, BUS_ADRALN, "BUS_ADRALN", "Invalid address alignment." },
{ SIGBUS, BUS_ADRERR, "BUS_ADRERR", "Nonexistent physical address." },
{ SIGBUS, BUS_OBJERR, "BUS_OBJERR", "Object-specific hardware error." },
+#ifdef BUS_MCEERR_AR
+ { SIGBUS, BUS_MCEERR_AR,"BUS_MCEERR_AR","hardware memory error consumed on a machine check: action required."},
+#endif
+#ifdef BUS_MCEERR_AO
+ { SIGBUS, BUS_MCEERR_AO,"BUS_MCEERR_AO","hardware memory error detected in process but not consumed: action optional."},
+#endif
{ SIGTRAP, TRAP_BRKPT, "TRAP_BRKPT", "Process breakpoint." },
{ SIGTRAP, TRAP_TRACE, "TRAP_TRACE", "Process trace trap." },
{ SIGCHLD, CLD_EXITED, "CLD_EXITED", "Child has exited." },
diff --git a/hotspot/src/share/vm/utilities/vmError.cpp b/hotspot/src/share/vm/utilities/vmError.cpp
index 0c5c955bf..3233e4b31 100644
--- a/hotspot/src/share/vm/utilities/vmError.cpp
+++ b/hotspot/src/share/vm/utilities/vmError.cpp
@@ -813,7 +813,7 @@ void VMError::report(outputStream* st) {
#if defined(AARCH64) || defined(X86)
STEP(207, "(printing file descriptor)" )
- if (ExtensiveErrorReports && _verbose) {
+ if (_verbose) {
// File Descriptor
os::print_file_descriptor(st);
st->cr();
--
2.19.1
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/src-openeuler/openjdk-1.8.0.git
git@gitee.com:src-openeuler/openjdk-1.8.0.git
src-openeuler
openjdk-1.8.0
openjdk-1.8.0
master

搜索帮助