VMware {code} Community
pchensvt
Contributor
Contributor

java.lang.NoClassDefFoundError on vCenter 6.0 u2a (build 4541947)

Hi,

A customer of ours is hitting the following error in their virgo logs on their Windows vCenter running 6.0 u2a.

java.lang.Exception: A java.lang.Error occurred while executing a task

  at com.vmware.vise.util.concurrent.ExecutorUtil$3.call(ExecutorUtil.java:649)

  at com.vmware.vise.util.concurrent.ExecutorUtil$ThreadContextPropagatingCallable.call(ExecutorUtil.java:984)

  at java.util.concurrent.FutureTask.run(FutureTask.java:262)

  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

  at java.lang.Thread.run(Thread.java:745)

Caused by: java.lang.NoClassDefFoundError: Could not initialize class java.net.DualStackPlainDatagramSocketImpl

  at java.net.DefaultDatagramSocketImplFactory.createDatagramSocketImpl(DefaultDatagramSocketImplFactory.java:137)

  at java.net.DatagramSocket.createImpl(DatagramSocket.java:336)

  at java.net.DatagramSocket.<init>(DatagramSocket.java:199)

  at com.sun.jndi.dns.DnsClient.<init>(DnsClient.java:109)

  at com.sun.jndi.dns.Resolver.<init>(Resolver.java:61)

  at com.sun.jndi.dns.DnsContext.getResolver(DnsContext.java:570)

  at com.sun.jndi.dns.DnsContext.c_getAttributes(DnsContext.java:430)

  at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_getAttributes(ComponentDirContext.java:231)

  at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(PartialCompositeDirContext.java:139)

  at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(PartialCompositeDirContext.java:127)

  at javax.naming.directory.InitialDirContext.getAttributes(InitialDirContext.java:142)

This is not an issue on other installations of the same build running against a u2a system so we're at a loss as to why this is happening. Any help would be appreciated.

Thanks,

Pete

0 Kudos
3 Replies
mikemayors
Enthusiast
Enthusiast

My team has several customers that are also hitting this.  I asked them to supply us with a copy of their vCenter's jre that sits inside vCenter's Program Files directory.  When I compared it against the jre on one of our U2A vCenters that isn't exhibiting this problem I saw a lot of differences between the contents.  But java.exe -version states they are both the same version and build.  Can any VMware employees provide any guidance?  I know this isn't specifically web client related but if there are other avenues to check out please let me know.

Here is the diff between the jre provided by the customer and the 'working' (good) jre on one of our U2A vCenters:

diff -rq jre.good jre.bad

Files jre.good/bin/JAWTAccessBridge-64.dll and jre.bad/bin/JAWTAccessBridge-64.dll differ

Files jre.good/bin/JavaAccessBridge-64.dll and jre.bad/bin/JavaAccessBridge-64.dll differ

Files jre.good/bin/JdbcOdbc.dll and jre.bad/bin/JdbcOdbc.dll differ

Files jre.good/bin/WindowsAccessBridge-64.dll and jre.bad/bin/WindowsAccessBridge-64.dll differ

Files jre.good/bin/attach.dll and jre.bad/bin/attach.dll differ

Files jre.good/bin/awt.dll and jre.bad/bin/awt.dll differ

Files jre.good/bin/dcpr.dll and jre.bad/bin/dcpr.dll differ

Files jre.good/bin/dt_shmem.dll and jre.bad/bin/dt_shmem.dll differ

Files jre.good/bin/dt_socket.dll and jre.bad/bin/dt_socket.dll differ

Files jre.good/bin/fontmanager.dll and jre.bad/bin/fontmanager.dll differ

Files jre.good/bin/hprof.dll and jre.bad/bin/hprof.dll differ

Files jre.good/bin/instrument.dll and jre.bad/bin/instrument.dll differ

Files jre.good/bin/j2pcsc.dll and jre.bad/bin/j2pcsc.dll differ

Files jre.good/bin/jaas_nt.dll and jre.bad/bin/jaas_nt.dll differ

Files jre.good/bin/jabswitch.exe and jre.bad/bin/jabswitch.exe differ

Files jre.good/bin/java-rmi.exe and jre.bad/bin/java-rmi.exe differ

Files jre.good/bin/java.dll and jre.bad/bin/java.dll differ

Files jre.good/bin/java.exe and jre.bad/bin/java.exe differ

Files jre.good/bin/java_crw_demo.dll and jre.bad/bin/java_crw_demo.dll differ

Files jre.good/bin/javaw.exe and jre.bad/bin/javaw.exe differ

Files jre.good/bin/jawt.dll and jre.bad/bin/jawt.dll differ

Files jre.good/bin/jdwp.dll and jre.bad/bin/jdwp.dll differ

Files jre.good/bin/jfr.dll and jre.bad/bin/jfr.dll differ

Files jre.good/bin/jli.dll and jre.bad/bin/jli.dll differ

Files jre.good/bin/jpeg.dll and jre.bad/bin/jpeg.dll differ

Files jre.good/bin/jsdt.dll and jre.bad/bin/jsdt.dll differ

Files jre.good/bin/jsound.dll and jre.bad/bin/jsound.dll differ

Files jre.good/bin/jsoundds.dll and jre.bad/bin/jsoundds.dll differ

Files jre.good/bin/kcms.dll and jre.bad/bin/kcms.dll differ

Files jre.good/bin/keytool.exe and jre.bad/bin/keytool.exe differ

Files jre.good/bin/kinit.exe and jre.bad/bin/kinit.exe differ

Files jre.good/bin/klist.exe and jre.bad/bin/klist.exe differ

Files jre.good/bin/ktab.exe and jre.bad/bin/ktab.exe differ

Files jre.good/bin/libvecsjni.dll and jre.bad/bin/libvecsjni.dll differ

Files jre.good/bin/management.dll and jre.bad/bin/management.dll differ

Files jre.good/bin/mlib_image.dll and jre.bad/bin/mlib_image.dll differ

Files jre.good/bin/net.dll and jre.bad/bin/net.dll differ

Files jre.good/bin/nio.dll and jre.bad/bin/nio.dll differ

Files jre.good/bin/npt.dll and jre.bad/bin/npt.dll differ

Files jre.good/bin/orbd.exe and jre.bad/bin/orbd.exe differ

Files jre.good/bin/pack200.exe and jre.bad/bin/pack200.exe differ

Files jre.good/bin/policytool.exe and jre.bad/bin/policytool.exe differ

Files jre.good/bin/rmid.exe and jre.bad/bin/rmid.exe differ

Files jre.good/bin/rmiregistry.exe and jre.bad/bin/rmiregistry.exe differ

Files jre.good/bin/servertool.exe and jre.bad/bin/servertool.exe differ

Files jre.good/bin/splashscreen.dll and jre.bad/bin/splashscreen.dll differ

Files jre.good/bin/sunec.dll and jre.bad/bin/sunec.dll differ

Files jre.good/bin/sunmscapi.dll and jre.bad/bin/sunmscapi.dll differ

Files jre.good/bin/t2k.dll and jre.bad/bin/t2k.dll differ

Files jre.good/bin/tnameserv.exe and jre.bad/bin/tnameserv.exe differ

Files jre.good/bin/unpack.dll and jre.bad/bin/unpack.dll differ

Files jre.good/bin/unpack200.exe and jre.bad/bin/unpack200.exe differ

Files jre.good/bin/verify.dll and jre.bad/bin/verify.dll differ

Files jre.good/bin/w2k_lsa_auth.dll and jre.bad/bin/w2k_lsa_auth.dll differ

Files jre.good/bin/zip.dll and jre.bad/bin/zip.dll differ

Files jre.good/lib/ext/vmware-endpoint-certificate-store.jar and jre.bad/lib/ext/vmware-endpoint-certificate-store.jar differ

0 Kudos
tganchev
VMware Employee
VMware Employee

Pete, from the log you attached I see that the first error in the log actually refers to a linker error:

[2017-03-06T10:15:52.717-05:00] [ERROR] http-bio-9090-exec-4         70024777 100240 200238 com.vmware.vise.data.query.impl.DataServiceImpl                   Error occurred while executing query: 
QuerySpec
   QueryName: 280A789C-7B56-DA63-B46B-A430CBA1E07C
   ResourceSpec
      Constraint: RelationalConstraint
         TargetType: ClusterComputeResource
         Relationship: parent
         IsSourceConstrained: false
         Constraint: RelationalConstraint
            TargetType: Folder
            Relationship: parent
            IsSourceConstrained: false
            Constraint: ObjectIdentityConstraint
               TargetType: null
               Target: ManagedObjectReference: type = Datacenter, value = datacenter-2, serverGuid = 31bf207a-2144-40d9-9d59-90fa9a3fea90
      PropertySpec[1]
         ProviderType: null
         Relationship: null
         Properties[8]
            PropertyName: host._length
            PropertyName: serverGuid
            PropertyName: primaryIconId
            PropertyName: childType
            PropertyName: name
            PropertyName: dc
            PropertyName: simplivity:isSimplivity
            PropertyName: parent
   ResultSpec:
      Offset: 0
      MaxResultCount: -1
      OrderingCriteria: null
      Facets: null
   Options: null
 java.lang.Exception: A java.lang.Error occurred while executing a task
    at com.vmware.vise.util.concurrent.ExecutorUtil$3.call(ExecutorUtil.java:649)
    at com.vmware.vise.util.concurrent.ExecutorUtil$ThreadContextPropagatingCallable.call(ExecutorUtil.java:984)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.UnsatisfiedLinkError: java.net.DualStackPlainDatagramSocketImpl.initIDs()V
    at java.net.DualStackPlainDatagramSocketImpl.initIDs(Native Method)
    at java.net.DualStackPlainDatagramSocketImpl.<clinit>(DualStackPlainDatagramSocketImpl.java:50)
    at java.net.DefaultDatagramSocketImplFactory.createDatagramSocketImpl(DefaultDatagramSocketImplFactory.java:137)
[2017-03-06T10:15:52.717-05:00] [ERROR] http-bio-9090-exec-4         70024777 100240 200238 com.vmware.vise.data.query.impl.DataServiceImpl                   Error occurred while executing query:  QuerySpec ...  java.lang.Exception: A java.lang.Error occurred while executing a task  at com.vmware.vise.util.concurrent.ExecutorUtil$3.call(ExecutorUtil.java:649) ... Caused by: java.lang.UnsatisfiedLinkError: java.net.DualStackPlainDatagramSocketImpl.initIDs()V  at java.net.DualStackPlainDatagramSocketImpl.initIDs(Native Method)  at java.net.DualStackPlainDatagramSocketImpl.<clinit>(DualStackPlainDatagramSocketImpl.java:50)  at java.net.DefaultDatagramSocketImplFactory.createDatagramSocketImpl(DefaultDatagramSocketImplFactory.java:137)  at java.net.DatagramSocket.createImpl(DatagramSocket.java:336) ...
This confirms mikemayors suspicion that a mismatch in JRE is causing this. Looking at the timestamps of the JRE files on the faulty vCenter instance should confirm if the JRE failed to upgrade correctly.
0 Kudos
tganchev
VMware Employee
VMware Employee

Pete,

 

You can check out https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=21483... on how to remedy 6.0 u2a upgrade with failing JRE upgrade.

 

Best,

Tony

0 Kudos