[Building Sakai] velocity deadlocks in hashmap

Matthew Jones matthew at longsight.com
Fri Jan 10 14:50:44 PST 2014


Yea, interesting observation. I didn't know that velocity was upgraded to
avoid this deadlock, that part would have been nice to have in this jar
description.

Frameworks aren't in shared, so it looks like each tool is "really free" to
use whatever version it wants. And some of them are still on old versions.
Actually surprisingly enough half of them, the majority as you noticed
(1.3.1) in osp, but still some 1.6.3 versions in other tools.

In 2.9.3 and trunk the counts are identical these are the counts of each jar

     19 velocity-1.3.1.jar
      1 velocity-1.4.jar
      7 velocity-1.6.3.jar
     26 velocity-1.6.4.jar

find . -name "*velocity-1*.jar" | awk -F/ '{print $NF, $3}' | sort | uniq

velocity-1.3.1.jar osp-common-component
velocity-1.3.1.jar osp-common-tool
velocity-1.3.1.jar osp-glossary-component
velocity-1.3.1.jar osp-glossary-tool
velocity-1.3.1.jar osp-integration-component
velocity-1.3.1.jar osp-matrix-component
velocity-1.3.1.jar osp-matrix-tool
velocity-1.3.1.jar osp-portal-tool
velocity-1.3.1.jar osp-presentation-component
velocity-1.3.1.jar osp-presentation-tool
velocity-1.3.1.jar osp-warehouse-component
velocity-1.3.1.jar osp-wizard-components
velocity-1.3.1.jar osp-wizard-tool
velocity-1.3.1.jar sakai-metaobj-component
velocity-1.3.1.jar sakai-metaobj-tool
velocity-1.3.1.jar sakai-warehouse-component
velocity-1.3.1.jar sakai-web-portlet
velocity-1.3.1.jar sakai-web-portlet-basiclti
velocity-1.3.1.jar xsl-portal
velocity-1.4.jar sakai-rwiki-tool
velocity-1.6.3.jar login-pack
velocity-1.6.3.jar login-render
velocity-1.6.3.jar osp-portal
velocity-1.6.3.jar portal
velocity-1.6.3.jar portal-render
velocity-1.6.3.jar sakai-search-tool
velocity-1.6.3.jar xsl-portal
velocity-1.6.4.jar access
velocity-1.6.4.jar basiclti-admin-tool
velocity-1.6.4.jar sakai-alias-tool
velocity-1.6.4.jar sakai-announcement-pack
velocity-1.6.4.jar sakai-announcement-tool
velocity-1.6.4.jar sakai-archive-tool
velocity-1.6.4.jar sakai-assignment-tool
velocity-1.6.4.jar sakai-authz-tool
velocity-1.6.4.jar sakai-calendar-pack
velocity-1.6.4.jar sakai-calendar-tool
velocity-1.6.4.jar sakai-chat-tool
velocity-1.6.4.jar sakai-citations-servlet
velocity-1.6.4.jar sakai-citations-tool
velocity-1.6.4.jar sakai-content-tool
velocity-1.6.4.jar sakai-mailarchive-tool
velocity-1.6.4.jar sakai-memory-tool
velocity-1.6.4.jar sakai-message-tool
velocity-1.6.4.jar sakai-news-tool
velocity-1.6.4.jar sakai-presence-tool
velocity-1.6.4.jar sakai-rights-tool
velocity-1.6.4.jar sakai-site-manage-link-helper
velocity-1.6.4.jar sakai-site-manage-tool
velocity-1.6.4.jar sakai-site-tool
velocity-1.6.4.jar sakai-user-tool
velocity-1.6.4.jar sakai-web-tool
velocity-1.6.4.jar web





On Fri, Jan 10, 2014 at 5:35 PM, Joshua Swink <joshua.swink at gmail.com>wrote:

> I'm seeing deadlocks in spite of the upgrade to Velocity 1.6.4:
>
> https://jira.sakaiproject.org/browse/SAK-20389
>
> I'm using Sakai 2.9.2. Could this be due to the fact that earlier versions
> of Velocity are used in osp? Here is part of the thread dump:
>
> "http-bio-8083-exec-16" daemon prio=3 tid=0x0ca4e800 nid=0x6f runnable
> [0x36b94000]
>    java.lang.Thread.State: RUNNABLE
>     at java.util.HashMap.get(HashMap.java:303)
>     at
> org.apache.velocity.util.introspection.ClassMap$MethodCache.get(ClassMap.java:249)
>     at
> org.apache.velocity.util.introspection.ClassMap.findMethod(ClassMap.java:102)
>     at
> org.apache.velocity.util.introspection.IntrospectorBase.getMethod(IntrospectorBase.java:105)
>     at
> org.apache.velocity.util.introspection.Introspector.getMethod(Introspector.java:94)
>     at
> org.apache.velocity.runtime.parser.node.PropertyExecutor.discover(PropertyExecutor.java:118)
>     at
> org.apache.velocity.runtime.parser.node.PropertyExecutor.<init>(PropertyExecutor.java:56)
>     at
> org.apache.velocity.util.introspection.UberspectImpl.getPropertyGet(UberspectImpl.java:246)
>     at
> org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:148)
>     at
> org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:262)
>     at
> org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:342)
>     at
> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
>     at
> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
>     at
> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
>     at
> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
>     at
> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
>     at
> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
>     at
> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
>     at
> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
>     at
> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
>     at
> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
>     at
> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
>     at org.apache.velocity.runtime.directive.Parse.render(Parse.java:260)
>     at
> org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175)
>     at
> org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
>     at
> org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
>     at
> org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
>     at org.apache.velocity.Template.merge(Template.java:328)
>     at org.apache.velocity.Template.merge(Template.java:235)
>     at
> org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:381)
>     at
> org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:345)
>     at
> org.sakaiproject.portal.charon.velocity.VelocityPortalRenderEngine.render(VelocityPortalRenderEngine.java:231)
>     at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.sendResponse(SkinnableCharonPortal.java:2059)
>     at
> org.sakaiproject.portal.charon.handlers.SiteHandler.doSendResponse(SiteHandler.java:427)
>     at
> org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:332)
>     at
> org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:135)
>     at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:901)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>
> Josh
>
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>
> TO UNSUBSCRIBE: send email to
> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
> "unsubscribe"
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140110/2ac8065e/attachment.html 


More information about the sakai-dev mailing list