Bill Burcham created GEODE-7613:
-----------------------------------
Summary: deadlock initializing
DistributionConfig.DEFAULT_MCAST_ADDRESS
Key: GEODE-7613
URL: https://issues.apache.org/jira/browse/GEODE-7613
Project: Geode
Issue Type: Improvement
Components: core
Reporter: Bill Burcham
In this JDK11 DUnit test run:
https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/DistributedTestOpenJDK11/builds/1402
there was a deadlock during {{TcpServerProductVersionDUnitTest
testAllMessageTypes[OLD_CURRENT]}}
The problem is, this line in {{DistributionConfig}}:
{code}
InetAddress DEFAULT_MCAST_ADDRESS =
AbstractDistributionConfig._getDefaultMcastAddress();
{code}
It references a subtype of {{DistributionConfig}}, i.e.
{{AbstractDistributionConfig}}. When one thread references
{{DistributionConfig}} and another thread references
{{AbstractDistributionConfig}}—both for the first time, there is a deadlock in
class initialization.
The solution is to make initialization of the base type
({{DistributionConfig}}) independent of the derived type
({{AbstractDistributionConfig}}).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)