JVM crashes constantly when High GC happens
Kim Barrett
kim.barrett at oracle.com
Fri Apr 5 23:07:20 UTC 2019
> On Apr 5, 2019, at 4:33 PM, shang xinli <shangxinli at hotmail.com> wrote:
>
> Thanks Kim! Yes, I agree with you it should be caused by bad objects because of every crash always reported the same invalid address 0x000000008. This issue only happens when running a tool called smartctl. It is hard to believe a process can corrupt other's process's heap.
smartctl seems to be capable of low-level hardware manipulation, so
who knows what it might be capable of doing to another process,
depending on what one is doing with it.
> Only observation is when smartctl is running, a high IO usage is seen. The Linux IO may use a lot of memory for caching which puts the JVM process memory pressure. But still, I don't understand how it can cause other process's heap corruption.
>
> I am very interested in finding patterns and instrumenting the JVM code. Can you explain a little or point me some wiki about "special patterns like 0xdeadbeef “?
See "Special constants for debugging" in
hotspot/src/share/vm/utilities/globalDefinitions.hpp for some other
examples. But 0x8 isn’t one of those.
> Also, can you point me where is the code path I can instrument for the path for scanning and pushing object into queue.
Unfortunately, I don't know the JDK 8 code base very well at all.
Sorry I can't be more help. Maybe someone else will have ideas.
More information about the hotspot-gc-dev
mailing list