[
https://issues.apache.org/jira/browse/GEODE-7613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17001178#comment-17001178
]
Bill Burcham commented on GEODE-7613:
-------------------------------------
here's the smoking gun (in the stack dump) just in case you see it again:
{code}"main" #1 prio=5 os_prio=0 cpu=6074.75ms elapsed=2915.94s
tid=0x00007f339801a000 nid=0x4f in Object.wait() [0x00007f339ebe0000]
java.lang.Thread.State: RUNNABLE
at
org.apache.geode.distributed.internal.DistributionConfig.<clinit>(DistributionConfig.java:370)
at
org.apache.geode.internal.AvailablePortHelper.<init>(AvailablePortHelper.java:50)
at
org.apache.geode.internal.AvailablePortHelper.<clinit>(AvailablePortHelper.java:41)
at org.apache.geode.test.dunit.internal.ChildVM.main(ChildVM.java:60)
{code}
and
{code}
"RMI TCP Connection(1)-172.17.0.44" #34 daemon prio=5 os_prio=0 cpu=44.84ms
elapsed=2903.35s tid=0x00007f32e8042000 nid=0x8c in Object.wait()
[0x00007f32e73f9000]
java.lang.Thread.State: RUNNABLE
at
org.apache.geode.distributed.internal.AbstractDistributionConfig.<clinit>(AbstractDistributionConfig.java:931)
at
org.apache.geode.distributed.internal.InternalLocator.<init>(InternalLocator.java:487)
at
org.apache.geode.distributed.internal.InternalLocator.createLocator(InternalLocator.java:289)
…
{code}
> deadlock initializing DistributionConfig.DEFAULT_MCAST_ADDRESS
> --------------------------------------------------------------
>
> Key: GEODE-7613
> URL: https://issues.apache.org/jira/browse/GEODE-7613
> Project: Geode
> Issue Type: Bug
> Components: core
> Reporter: Bill Burcham
> Assignee: Bill Burcham
> Priority: Major
>
> 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)