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)

Reply via email to