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

Deadlock seen sporatically with injectKnownClass

SA-17525

Summary



Deadlocks have been seen between the RuleUsageSnapshot agent and other agents running at the same time.  Deadlocks have also occurred at times when agents are not involved. One side of the deadlock is always with the injectKnownClass method.


Error Messages



    at com.pega.pegarules.exec.internal.util.classloader.PRClassLoaderDB.injectKnownClass(PRClassLoaderDB.java)
      - locked co[email protected]8092dc3d
    at com.pega.pegarules.exec.internal.util.PRClassLoaderUtilsImpl.injectKnownClass(PRClassLoaderUtilsImpl.java)
    at com.pega.pegarules.generation.internal.compiler.ClassloaderInjectingCompilationSaver.injectClasses(ClassloaderInjectingCompilationSaver.java)
    at com.pega.pegarules.generation.internal.compiler.QueuedCompilationSaver.saveClasses(QueuedCompilationSaver.java:70)


Steps to Reproduce



Run system


Root Cause



A defect in Pegasystems’ code or rules with the injectKnownClass are of the code can result in a deadlock.

Resolution



Perform the following local-change: 

Add this prconfig setting and then restart the server. 

<env name="compiler/classloadCompilerOutput" value="false"/>

By setting this config setting injectKnownClass call that is one arm of the deadlock will be avoided. Essentially if it isn’t called it can’t participate in a deadlock. A side effect of this setting is that there may be NullPointer exceptions in the logs. The NullPointerExceptions that occur as a result of this setting can be ignored as they are non-fatal. The issues with the deadlock and nullpointer are fixed in Pega 7.1.8.

Published January 31, 2016 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

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

Did you find this content helpful?

Want to help us improve this content?

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