how to bring jvm to safepoint
David Holmes
David.Holmes at oracle.com
Thu Jul 29 18:07:09 PDT 2010
Tony,
I don't see anything obviously wrong with what you attempted. Can you
show the full stack dump from the error.
David Holmes
Tony Guan said the following on 07/30/10 07:29:
> Dear all,
>
> I want to invoke the GC at a certain time, for example, when a certain
> method is called at runtime, so I created a new subtype of
> VM_GC_Operation class, and initialized it with an object op, finally,
> executed using:VMThread::execute(&op)
>
> then I got the following error message:
>
> # Internal Error
> (/home/tony/software/OpenJDK/jdk7/hotspot/src/share/vm/runtime/thread.cpp:777),
> pid=29652, tid=1096460624
> # Error: Possible safepoint reached by thread that does not allow it
>
> The reason for the fail is that
> Thread::check_for_valid_safepoint_state() didn't pass because the
> currentThread is not a VMThread.
>
> My question is: how do I bring the current thread to a safepoint? or
> how do I call a GC operation properly? is there any prerequisite for
> doing so?
>
> Thanks!
>
> Tony (Xiaohua Guan)
More information about the hotspot-runtime-dev
mailing list