Article - CS294057

Windchill slow performance when reading keystore in Windchill PDMLink 11

Modified: 06-Aug-2021   


Applies To

  • Windchill PDMLink 11.0 M030-CPS11 to 11.1 M020
  • Windchill PDMLink 10.2 M030-CPS28
  • Java 8u151 and later Java 8 updates

Description

  • MethodServer takes too long to startup
    • Method Server startup is very slow and has performance issue
  • More symptoms:
    • Access objects details takes up to 2 minutes.
    • Loading any context menu after right-clicking takes up to 20 seconds.
    • Even empty folder may take 5 ~ 10 seconds to display
    • Changing a users organization takes a very long time to save
  • Example root stack trace:
"main" #1 prio=5 os_prio=0 tid=0x00007fadd8011000 nid=0x5bbc runnable [0x00007faddd1eb000]
   java.lang.Thread.State: RUNNABLE
    at java.security.MessageDigest$Delegate.engineUpdate(MessageDigest.java:584)
    at java.security.MessageDigest.update(MessageDigest.java:335)
    at com.sun.crypto.provider.PBES1Core.deriveCipherKey(PBES1Core.java:308)
    at com.sun.crypto.provider.PBES1Core.init(PBES1Core.java:244)
    at com.sun.crypto.provider.PBES1Core.init(PBES1Core.java:331)
    at com.sun.crypto.provider.PBEWithMD5AndTripleDESCipher.engineInit(PBEWithMD5AndTripleDESCipher.java:238)
    at javax.crypto.Cipher.init(Cipher.java:1536)
    at javax.crypto.Cipher.init(Cipher.java:1469)
    at com.sun.crypto.provider.KeyProtector.unseal(KeyProtector.java:349)
    at com.sun.crypto.provider.JceKeyStore.engineGetKey(JceKeyStore.java:136)
    at java.security.KeyStore.getKey(KeyStore.java:1023)
    at com.ptc.windchill.keystore.KeyStoreProxy.getEntry(KeyStoreProxy.java:170)
    - locked <0x00000005c34572f0> (a com.ptc.windchill.keystore.KeyStoreProxy)
    at com.ptc.windchill.keystore.WTKeyStore.get(WTKeyStore.java:120)
    at com.infoengine.SAK.ObjectWebject.invoke(ObjectWebject.java:212)
    at com.infoengine.compiledTasks.file.opt2.ptc.Windchill.tasks.wt.federation.queryprincipals$2exml.invoke(queryprincipals$2exml.java:100)
    at com.infoengine.SAK.Task.invoke(Task.java:1806)
    at com.infoengine.SAK.Task.invoke(Task.java:1714)
    at wt.org.LdapServices.queryPrincipalsTask(LdapServices.java:1091)
    at wt.org.LdapServices.queryPrincipalFromLdap(LdapServices.java:966)
    at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399)
    at com.sun.proxy.$Proxy128.queryPrincipalFromLdap(Unknown Source)
    at wt.org.StandardOrganizationServicesManager._readPrincipal(StandardOrganizationServicesManager.java:7881)
    at wt.org.StandardOrganizationServicesManager._readPrincipal(StandardOrganizationServicesManager.java:7787)
    at wt.org.StandardOrganizationServicesManager._readPrincipal(StandardOrganizationServicesManager.java:7783)
    at wt.org.StandardOrganizationServicesManager._getGroupMembersFromLDAP(StandardOrganizationServicesManager.java:9789)
    at wt.org.StandardOrganizationServicesManager._members(StandardOrganizationServicesManager.java:9597)
    at wt.org.StandardOrganizationServicesManager._getGroupMembersFromLDAP(StandardOrganizationServicesManager.java:9804)
    at wt.org.StandardOrganizationServicesManager._members(StandardOrganizationServicesManager.java:9597)
    at wt.org.StandardOrganizationServicesManager._getGroupMembersFromLDAP(StandardOrganizationServicesManager.java:9804)
    at wt.org.StandardOrganizationServicesManager._members(StandardOrganizationServicesManager.java:9597)
    at wt.org.StandardOrganizationServicesManager._getGroupMembersFromLDAP(StandardOrganizationServicesManager.java:9804)
    at wt.org.StandardOrganizationServicesManager._members(StandardOrganizationServicesManager.java:9597)
    at wt.org.StandardOrganizationServicesManager.addPrincipalsToHashSet(StandardOrganizationServicesManager.java:9725)
    at wt.org.StandardOrganizationServicesManager._members(StandardOrganizationServicesManager.java:9607)
    at wt.org.StandardOrganizationServicesManager._members(StandardOrganizationServicesManager.java:9507)
    at wt.org.StandardOrganizationServicesManager.members(StandardOrganizationServicesManager.java:7251)
    at wt.org.StandardOrganizationServicesManager.members(StandardOrganizationServicesManager.java:3657)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399)
    at com.sun.proxy.$Proxy127.members(Unknown Source)
    at wt.licenseusage.StandardLicenseUsageService.userCountGroup(StandardLicenseUsageService.java:2179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399)
    at com.sun.proxy.$Proxy144.userCountGroup(Unknown Source)
    at wt.licenseusage.licensing.LicenseController.updateAvailableCount(LicenseController.java:425)
    at wt.licenseusage.licensing.LicenseController.acquireLicenseFeatures(LicenseController.java:174)
    at wt.licenseusage.licensing.LicenseController.startLicenseController(LicenseController.java:142)
    at wt.licenseusage.licensing.StandardLicenseManagerService.performStartupProcess(StandardLicenseManagerService.java:124)
    at wt.services.StandardManager.startup(StandardManager.java:459)
    - locked <0x00000005c36002d8> (a wt.licenseusage.licensing.StandardLicenseManagerService)
    at wt.services.ManagerImplementation.startup(ManagerImplementation.java:363)
    at wt.services.DefaultStartupHandler.startup(DefaultStartupHandler.java:112)
    at wt.services.StandardManagerService.performStartupProcess(StandardManagerService.java:166)
    - locked <0x00000005c1033c98> (a wt.services.StandardManagerService)
    at wt.services.StandardManager.startup(StandardManager.java:459)
    - locked <0x00000005c1033c98> (a wt.services.StandardManagerService)
    at wt.services.StandardServicesHandler.start(StandardServicesHandler.java:44)
    at wt.method.MethodServerMain.run(MethodServerMain.java:603)
    at wt.method.MethodServerMain.main(MethodServerMain.java:373)
This is a PDF version of Article CS294057 and may be out of date. For the latest version click https://www.ptc.com/en/support/article/CS294057