Hi Coleen,

On 16/12/2019 9:41 pm, [email protected] wrote:
Summary: Start ServiceThread before compiler threads, and run nmethod barriers for zgc before adding to the service thread queue, or posting the events on the java thread queue.

I can't comment on most of this but the earlier starting of the service thread has some concerns:

- there is a lot of JDK level initialization which now will not have happened before the service thread is started and it is far from obvious that all possible initialization dependencies will be satisfied

- current starting of the service thread in Management::initialize is guarded by "#if INCLUDE_MANAGEMENT", but now you are starting the service thread unconditionally for all builds. Hmm just saw your latest comment to the bug report - so the service thread is now (for quite some time?) being used for other than management tasks and so should always be present even if INCLUDE_MANAGEMENT is not enabled. Is that sufficient or are there likely to be other changes needed to actually ensure that all works correctly e.g. any code the service thread executes that is only defined for INCLUDE_MANAGEMENT will need to be compiled out explicitly.

- the service thread and the notification thread are (were?) closely related but now started at completely different times

The bug report states the problem as:

"The graal crash is because compiled_method_load events are added to the ServiceThread's deferred event queue before the ServiceThread is created so are not walked to keep them from being zombied."

so why isn't the solution to ensure the deferred event queue is walked? I'm not clear how starting the service thread relates to walking the queue.

Thanks,
David

See bug for description of the problems found with the new Zombie.java test.

open webrev at http://cr.openjdk.java.net/~coleenp/2019/8235829.01/webrev
bug link https://bugs.openjdk.java.net/browse/JDK-8235829

Ran tier1 all platforms, and tier2-8 testing, as well as rerunning original test failure from bug https://bugs.openjdk.java.net/browse/JDK-8173361.

Thanks,
Coleen

Reply via email to