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