Clarity: GEL Process is generating Error - Could not create taglib or URI: jelly:core tag name: set java.lang.ClassNotFoundException: core

Document ID : KB000050142
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

Commons-jelly script parsing is not thread safe and can result in errors under high concurrency

Steps to Reproduce:

  1. Design a process that launches several gel scripts, associate with a custom object so they start on update

  2. On a machine with MANY CPU cores (8+), place the list view in edit mode and change the object instances so that the processes will fire (30+ object instances), hit save

Expected Result: Processes will all run with no errors
Actual Result: You may see the error listed below sporadically as multiple threads of execution are parsing GEL scripts simultaneously

WARN 2011-05-03 13:53:28,243 [Custom script execution Thread-24] parser.XMLParser (none:none:none) Underlying exception: java.lang.ClassNotFoundException: core
WARN 2011-05-03 13:53:28,247 [Custom script execution Thread-24] parser.XMLParser (none:none:none) Could not create taglib or URI: jelly:core tag name: set
java.lang.ClassNotFoundException: core
at org.apache.commons.jelly.parser.XMLParser.createSAXException(XMLParser.java:1180)
at org.apache.commons.jelly.parser.XMLParser.createTag(XMLParser.java:990)
at org.apache.commons.jelly.parser.XMLParser.startElement(XMLParser.java:593)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.commons.jelly.parser.XMLParser.parse(XMLParser.java:254)
at org.apache.commons.jelly.JellyContext.compileScript(JellyContext.java:543)
at com.niku.union.gel.GELScript.run(GELScript.java:42)
at com.niku.union.gel.GELController.invoke(GELController.java:20)
at com.niku.bpm.services.ExecuteCustomAction.run(ExecuteCustomAction.java:180)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:727)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException: core
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.apache.commons.jelly.parser.XMLParser.createTag(XMLParser.jav

Solution:

Workaround:
None.

Status/Resolution:
Resolved in Clarity 12.1.2
Resolved in Clarity 12.1.1 Generic Patch. Reference TEC553491
Resolved in Clarity 12.1.0 Generic Patch. Reference TEC542313

Keywords: CLARITYKB, CLRT-60942, clarity12resolved, clarity1212resolved.