[Building Sakai] velocity deadlocks in hashmap

Matthew Jones matthew at longsight.com
Fri Jan 10 21:48:08 PST 2014


Just look in the poms for velocity/velocity, like

    <dependency>
      <groupId>velocity</groupId>
      <artifactId>velocity</artifactId>
      <version>1.3.1</version>
    </dependency>

And change it to 1.6.4 (or something else that's released) It defined as
such poms in each of the tools listed. My guess is it will have an obvious
failure during compilation or during initial tool load if there are any
problems. I'm not sure if it's because some of these aren't using the
sakaiproject velocity dependency or it's just overriding it. Never looked
or even noticed this issue before.

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

> If I wanted to switch it to use 1.6.4 and test it, do you know how I would
> modify the POMs?
>
> Josh
>
>
> On Fri, Jan 10, 2014 at 2:59 PM, Matthew Jones <matthew at longsight.com>wrote:
>
>> I created issue https://jira.sakaiproject.org/browse/SAK-25537 to track
>> this. I'd consider it a blocker for 10. OSP seems to me like it would be
>> the trickiest part. We may want to upgrade to a newer version but at least
>> this one.
>>
>>
>>
>> On Fri, Jan 10, 2014 at 5:50 PM, Matthew Jones <matthew at longsight.com>wrote:
>>
>>> 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/20140111/c156f509/attachment.html 


More information about the sakai-dev mailing list