An interesting bug
Eric Caspole
eric.caspole at oracle.com
Mon Aug 24 13:29:05 UTC 2015
Hi Andrew,
If I understand you, the ForkJoinTask is located in the old generation.
When you get to the crash point, where did the wrong "this" pointer (a
ref to a ForkJoinTask, right?) come from? Presumably, from a field of
another object? If you know what object that is, what generation is that
object in? That might help narrow it down.
Regards,
Eric
On 08/24/2015 05:31 AM, Andrew Haley wrote:
> This is JDK8 on AArch64.
>
> I have an interesting bug which causes a crash. Occasionally, but
> rarely, I get a crash when accessing an instance of ForkJoinTask. The
> instance is allocated in the old generation of the parallel scan GC.
> However, the "this" pointer of the ForkJoinTask points into the middle
> of another allocated object.
>
> I'm trying to figure out how this might happen. Perhaps the root scan
> of the thread running the ForkJoinTask did not happen, or for some
> reason the roots it found were not added to the root set. Or perhaps
> they were found, but were not rewritten in the thread.
>
> Has anyone seen anything like this before? Do you have any advice for
> me?
>
> Thanks,
> Andrew.
>
More information about the hotspot-gc-dev
mailing list