RFR(S): 8149789: SIGSEGV in CompileTask::print

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Feb 23 22:50:08 UTC 2016

Looks good.


On 2/23/16 7:16 AM, Nils Eliasson wrote:
> Hi,
> Summary:
> In bug JDK-8063112 I removed the vm_operation from some compiler diagnostic commands. That was ok, but I also added
> printing of the threads with active compile tasks in the Compiler.queue command. That printing is not safe. In this
> crash a compiler thread finishes compiling a task while the diagnostic command is printing the tasks.
> Solution:
> Make this diagnostic command require a safepoint - then it will have to block until no compiler threads are running in
> the compileBroker (possibly freeing tasks). When the safepoint is reached, it is safe to print the tasks, since then no
> compile threads can reach the state where tasks are freed without blocking.
> Testing:
> Running the repro in the bug + dedicated jcmd Compiler.queue test.
> Webrev: http://cr.openjdk.java.net/~neliasso/8149789/webrev.01/
> Bug: https://bugs.openjdk.java.net/browse/JDK-8149789
> Please review!
> Best regards,
> Nils Eliasson

More information about the hotspot-compiler-dev mailing list