-
Notifications
You must be signed in to change notification settings - Fork 715
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Print Dynatrace original_core_pattern in javacore if available #17626
Conversation
runtime/rasdump/rasdump_internal.h
Outdated
/* A common core_pattern is |/opt/dynatrace/oneagent/agent/rdp | ||
* This program then sends the core to the originally configured | ||
* core_pattern as shown in the following file. | ||
*/ | ||
#define J9RAS_CORE_PATTERN_FILE2 "/opt/dynatrace/oneagent/agent/conf/original_core_pattern" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it's reasonable to hard-code this path. Perhaps it should instead be derived from the contents of /proc/sys/kernel/core_pattern
. Suppose dynatrace
is installed under /usr/local
(instead of the default location) so core_pattern
contains:
|/usr/local/dynatrace/oneagent/agent/rdp
In that case, the file we want to see might be /usr/local/dynatrace/oneagent/agent/conf/original_core_pattern
.
These changes only apply for Linux: What about other platforms where OneAgent is supported?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That makes sense, will do.
What about other platforms where OneAgent is supported?
Their Crash Analysis page only discusses Linux. Presumably, core dumps on other platforms will just be standard.
55c0deb
to
da5be8e
Compare
da5be8e
to
ccfb957
Compare
Signed-off-by: Kevin Grigorenko <kevin.grigorenko@us.ibm.com>
ccfb957
to
6edc551
Compare
Jenkins compile aix,alinux64,amac,win jdk17 |
Thanks! Note that in containers, the core dump processing program that processes a container core dump runs on the worker node rather than in the container, so the container, by default, will not have access to For posterity, tested with:
|
A very common Linux
kernel.core_pattern
is|/opt/dynatrace/oneagent/agent/rdp
installed by the 3rd party monitoring product Dynatrace. Whenrdp
is installed, it saves off the previouskernel.core_pattern
into/opt/dynatrace/oneagent/agent/conf/original_core_pattern
. Whenrdp
handles a core dump, it first processes it internally, and then sends the core dump to the program inoriginal_core_pattern
.Therefore, it's very common to see the following in a javacore:
However, that doesn't really help understand where the core dump went because the javacore doesn't print
/opt/dynatrace/oneagent/agent/conf/original_core_pattern
. This leads to an extra back-and-forth with a customer.If it's acceptable for J9 to reference third party file locations, then this PR adds this if available. Example from a local build:
I also increased the amount of characters printed from such files from 80 to 255 as 80 seemed a bit low to me.
@keithc-ca @pshipton