On 8/15/18 6:14 PM, David Holmes wrote:
Hi Ioi,
On 15/08/2018 9:50 AM, Ioi Lam wrote:
Please review this simple fix.
https://bugs.openjdk.java.net/browse/JDK-8207832
http://cr.openjdk.java.net/~iklam/jdk12/8207832_ClhsdbCDSCore_file_location.v01/
On Linux, the core file location can be controlled via
/proc/sys/kernel/core_pattern.
It could have various patterns such as
core
core.%p
core.%p.something
/tmp/core
/tmp/core.%p
/tmp/core.%p.something
It could also have numerous other % variables that the test probably
chokes on:
https://www.kernel.org/doc/Documentation/sysctl/kernel.txt
I'm not sure the right fix here is not to just make the test more
resilient given the possible the pattern replacements.
Hi David,
If we want to handle all cases, we need to implement what kernel.txt
says (if only I knew what "%g gid (in initial user namespace)" means).
And it would be better to implement that in the VM, so it will benefit
all readers of hs_err files, instead of doing that in this test to
benefit this test only.
For now, I am content to just handle the %p case, as that's how our
testing hosts are configured. Even for just %p it's hard to do it in the
test, as you would need to find the child process's pid.
If you don't have any objection, I'' push the patch as is. Can I count
you as a reviewer?
Thanks
- Ioi
But doing the %p expansion doesn't seem to hurt.
Thanks,
David
I've tested the fix with all the above patterns, and the %p is correctly
replaced by the process ID.
Note that the pattern can also be more complex, starting with a
piping character ("|").
I have not touched that part of the code, since it doesn't seem to
affect our internal
test infrastructure.
I also instrumented ClhsdbCDSCore.java so we can more easily diagnose
such problems
in the future.
For more info, see
https://www.kernel.org/doc/Documentation/sysctl/kernel.txt
I'll validate with hs tiers 1/2/3/4.
Thanks
- Ioi