[ 
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)

Reply via email to