You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by "Johann Weber (JIRA)" <de...@velocity.apache.org> on 2009/12/14 09:28:18 UTC

[jira] Created: (VELOCITY-748) Caught in the while-loop

Caught in the while-loop
------------------------

                 Key: VELOCITY-748
                 URL: https://issues.apache.org/jira/browse/VELOCITY-748
             Project: Velocity
          Issue Type: Bug
          Components: Engine
    Affects Versions: 1.6.2
            Reporter: Johann Weber
            Priority: Critical


Caught in the infinity loop due to concurrent access to the get and put methods of HashMap which are not synchronized.
Stacktrace:
   java.lang.Thread.State: RUNNABLE
            at java.util.HashMap.get(Unknown Source)
            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:99)
            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:252)
            at org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:460)
            at org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:62)
            at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:85)
            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.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.SimpleNode.render(SimpleNode.java:336)
            at org.apache.velocity.Template.merge(Template.java:328)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org


[jira] Commented: (VELOCITY-748) Caught in the while-loop

Posted by "Jarkko Viinamäki (JIRA)" <de...@velocity.apache.org>.
    [ https://issues.apache.org/jira/browse/VELOCITY-748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12791331#action_12791331 ] 

Jarkko Viinamäki commented on VELOCITY-748:
-------------------------------------------

This looks like a duplicate of VELOCITY-718

> Caught in the while-loop
> ------------------------
>
>                 Key: VELOCITY-748
>                 URL: https://issues.apache.org/jira/browse/VELOCITY-748
>             Project: Velocity
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: 1.6.2
>            Reporter: Johann Weber
>            Priority: Critical
>
> Caught in the infinity loop due to concurrent access to the get and put methods of HashMap which are not synchronized.
> Stacktrace:
>    java.lang.Thread.State: RUNNABLE
>             at java.util.HashMap.get(Unknown Source)
>             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:99)
>             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:252)
>             at org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:460)
>             at org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:62)
>             at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:85)
>             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.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.SimpleNode.render(SimpleNode.java:336)
>             at org.apache.velocity.Template.merge(Template.java:328)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org


[jira] Resolved: (VELOCITY-748) Caught in the while-loop

Posted by "Nathan Bubna (JIRA)" <de...@velocity.apache.org>.
     [ https://issues.apache.org/jira/browse/VELOCITY-748?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nathan Bubna resolved VELOCITY-748.
-----------------------------------

       Resolution: Duplicate
    Fix Version/s: 1.7

Yeah, this is pretty clearly a dupe of VELOCITY-718, which i pathetically forgot about completely.  Thank you, Jarkko for having a working memory!

This has likely been fixed in the 1.7 branch (See VELOCITY-718), but given my inability to replicate it thus far, i cannot actually confirm that.  If someone could provide that confirmation, that would be grand.  Either way, i'm currently going to courageously assume (bad!!) that i fixed the problem (really, i do believe it does) and port the fix to the 1.6.x branch.

> Caught in the while-loop
> ------------------------
>
>                 Key: VELOCITY-748
>                 URL: https://issues.apache.org/jira/browse/VELOCITY-748
>             Project: Velocity
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: 1.6.2
>            Reporter: Johann Weber
>            Priority: Critical
>             Fix For: 1.7
>
>
> Caught in the infinity loop due to concurrent access to the get and put methods of HashMap which are not synchronized.
> Stacktrace:
>    java.lang.Thread.State: RUNNABLE
>             at java.util.HashMap.get(Unknown Source)
>             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:99)
>             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:252)
>             at org.apache.velocity.runtime.parser.node.ASTReference.evaluate(ASTReference.java:460)
>             at org.apache.velocity.runtime.parser.node.ASTExpression.evaluate(ASTExpression.java:62)
>             at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:85)
>             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.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.SimpleNode.render(SimpleNode.java:336)
>             at org.apache.velocity.Template.merge(Template.java:328)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org