[Building Sakai] velocity deadlocks in hashmap

Joshua Swink joshua.swink at gmail.com
Mon Jan 13 10:20:48 PST 2014


Thanks, Matthew. Maven is now pulling in jars for both 1.6.4 and 1.3.1
(when building osp). It's important for me to fix this soon because the
problem was plaguing us last semester, and our next semester is about to
start. I'll keep plugging away at it.

Josh


On Fri, Jan 10, 2014 at 9:48 PM, Matthew Jones <matthew at longsight.com>wrote:

> 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/20140113/a96ece0e/attachment.html 


More information about the sakai-dev mailing list