You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Bill Burcham (Jira)" <ji...@apache.org> on 2019/12/20 18:42:00 UTC
[jira] [Created] (GEODE-7613) deadlock initializing
DistributionConfig.DEFAULT_MCAST_ADDRESS
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)