[
https://issues.apache.org/jira/browse/SLING-3317?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16270640#comment-16270640
]
Ian Boston commented on SLING-3317:
-----------------------------------
Fixed by upgrading to 6.0.30, verified the fix in that version to be identical
to the patch supplied and tested. Verified that the upgrade doesn't change any
external dependencies as the jar that is changed is embedded. Since this is a
sub minor version upgrade, no other components should have to change. Best to
leave for a few days to see if this change causes any unexpected issues
elsewhere which OSGi was not able to prevent. (ie leaked implementation details
in Jasper).
> Concurrent access to WeakHashMap in ConcurrentCache causes infinite loop,
> 100% CPU usage
> ----------------------------------------------------------------------------------------
>
> Key: SLING-3317
> URL: https://issues.apache.org/jira/browse/SLING-3317
> Project: Sling
> Issue Type: Bug
> Components: Scripting
> Reporter: Takahito Kikuchi
> Assignee: Ian Boston
> Fix For: Scripting JSP 2.3.4
>
>
> On a web application with Apache Sling Scripting JSP 2.0.24, 100% CPU usage
> problem happened as following. It looks similar to the tomcat problem,
> https://issues.apache.org/bugzilla/show_bug.cgi?id=50078
> ----
> java.lang.Thread.State: RUNNABLE
> at java.util.WeakHashMap.get(WeakHashMap.java:470)
> at org.apache.el.util.ConcurrentCache.get(ConcurrentCache.java:24)
> at
> org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:90)
> at
> org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:146)
> at
> org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:190)
> at
> org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
> at
> org.apache.sling.scripting.jsp.jasper.el.ExpressionEvaluatorImpl.parseExpression(ExpressionEvaluatorImpl.java:45)
> at
> org.apache.sling.scripting.jsp.jasper.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:55)
> ----
> java.lang.Thread.State: RUNNABLE
> at java.util.WeakHashMap.eq(WeakHashMap.java:343)
> at java.util.WeakHashMap.put(WeakHashMap.java:521)
> at java.util.WeakHashMap.putAll(WeakHashMap.java:640)
> at org.apache.el.util.ConcurrentCache.put(ConcurrentCache.java:34)
> at
> org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:123)
> at
> org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:146)
> at
> org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:190)
> at
> org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
> at
> org.apache.sling.scripting.jsp.jasper.el.ExpressionEvaluatorImpl.parseExpression(ExpressionEvaluatorImpl.java:45)
> at
> org.apache.sling.scripting.jsp.jasper.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:55)
> ----
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)