Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

CyberArk integration caused Pega application to hang

SA-85419

Summary



On configuring CyberArk in the Context.xml with a Driver wrapper, the Pega application hangs on startup. 


Error Messages



"localhost-startStop-1" #16 daemon prio=5 os_prio=0 tid=0x00007f68c8001800 nid=0xfd47 in Object.wait() [0x00007f68e8e75000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000eb659fd0> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:502)
    at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:872)
    - locked <0x00000000eb659fd0> (a java.lang.Object)
    at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:430)
    at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:359)
    at org.apache.tomcat.dbcp.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:134)
    at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1532)
    at com.pega.pegarules.internal.bootstrap.PRMiniLoader.getBaseResource(PRMiniLoader.java:494)
    at com.pega.pegarules.internal.bootstrap.PRMiniLoader.getBaseResource(PRMiniLoader.java:475)
    at com.pega.pegarules.internal.bootstrap.PRMiniLoader.findResource(PRMiniLoader.java:456)
    at java.lang.ClassLoader.getResource(ClassLoader.java:1096)
    at java.lang.Class.getResource(Class.java:2267)
    at j.c.b.a(b.java:142)
    at j.c.b.a(b.java:37)
    at j.c.b.a(b.java:101)
    at j.k.a(k.java:101)
    at j.l.a(l.java:92)
    at j.i.a(i.java:9)
    at k.g.a(g.java:120)
    at k.g.a(g.java:8)
    at k.i.a(i.java:26)
    at javapasswordsdk.PasswordSDK.getPassword(PasswordSDK.java:6)
    at PasswordSDKBridge.BasePasswordVaultAgent.GetPassword(BasePasswordVaultAgent.java:133)
    at com.cyberark.aim.v550.tomcat.ASCPDriver.connect(ASCPDriver.java:93)
    at org.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
    at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:255)
    at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:888)
    at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:430)
    at org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:359)
    at org.apache.tomcat.dbcp.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:134)
    at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1532)
    at com.pega.pegarules.internal.bootstrap.PRMiniLoader.getBaseResource(PRMiniLoader.java:494)
    at com.pega.pegarules.internal.bootstrap.PRMiniLoader.getBaseResource(PRMiniLoader.java:475)
    at com.pega.pegarules.internal.bootstrap.PRMiniLoader.findResource(PRMiniLoader.java:456)
    at java.lang.ClassLoader.getResource(ClassLoader.java:1096)
    at java.lang.Class.getResource(Class.java:2267)
    at j.c.b.a(b.java:142)
    at j.c.b.a(b.java:37)
    at j.c.b.a(b.java:101)
    at j.k.a(k.java:101)
    at j.l.a(l.java:92)
    at j.i.a(i.java:9)
    at k.g.a(g.java:120)
    at k.g.a(g.java:8)
    at k.i.a(i.java:26)
    at javapasswordsdk.PasswordSDK.getPassword(PasswordSDK.java:6)



Steps to Reproduce

  1. Configure a CyberArk environment.
  2. Configure the environment with the appropriate JAR files.
  3. Start the Tomcat server.


Root Cause



A defect or configuration issue in the operating environment.

Apache DBCP factory caused the system to hang. It is recommended to switch to org.apache.tomcat.jdbc.pool.DataSourceFactory.

For more information, refer to the article: 
https://community.pega.com/support/support-articles/application-stops-working-shortly-after-jvm-starts



Resolution



Make the following change to the operating environment:

The CyberArk client JAR files have a Java code that is hardcoded to use the Apache DBCP connection factory.

Customize the factory the implementation to switch to 
org.apache.tomcat.jdbc.pool.DataSourceFactory.

Else, consult with CyberArk for a client JAR file for the alternative factory.
Suggest Edit

Published December 2, 2021

Did you find this content helpful? Yes No

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us