Concurrency bug introduced in 1.7-dev
-------------------------------------

                 Key: VELOCITY-669
                 URL: https://issues.apache.org/jira/browse/VELOCITY-669
             Project: Velocity
          Issue Type: Bug
    Affects Versions: 1.7
            Reporter: Jarkko Viinamäki
            Priority: Blocker


Warning: current SVN head is broken - it fails under heavy load. I don't have 
time to investigate right now but 1.6.1 release version does not have this bug 
(1.6.2 release candidate may have it! - I'm not sure what's included there). 
However, current SVN head fails consistently with my load testing suite when I 
run it under JRat profiling:

-------------------------------------------------------------------------------
Test set: org.apache.velocity.test.load.Velocity24LoadTest
-------------------------------------------------------------------------------
Tests run: 250, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 71.032 sec 
<<< FAILURE!
testRendering(org.apache.velocity.test.load.Velocity24Test)  Time elapsed: 
0.125 sec  <<< ERROR!
java.lang.NullPointerException
        at java.io.Writer.write(Writer.java:110)
        at 
org.apache.velocity.runtime.parser.node.ASTText.render_$jrat(ASTText.java:83)
        at org.apache.velocity.runtime.parser.node.ASTText.render(ASTText.java)
        at 
org.apache.velocity.runtime.parser.node.ASTBlock.render_$jrat(ASTBlock.java:72)
        at 
org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java)
        at 
org.apache.velocity.runtime.directive.VelocimacroProxy.render_$jrat(VelocimacroProxy.java:222)
        at 
org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java)
        at 
org.apache.velocity.runtime.directive.RuntimeMacro.render_$jrat(RuntimeMacro.java:295)
        at 
org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java)
        at 
org.apache.velocity.runtime.directive.RuntimeMacro.render_$jrat(RuntimeMacro.java:215)
        at 
org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java)
        at 
org.apache.velocity.runtime.parser.node.ASTDirective.render_$jrat(ASTDirective.java:198)
        at 
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java)
        at 
org.apache.velocity.runtime.parser.node.SimpleNode.render_$jrat(SimpleNode.java:342)
        at 
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java)
        at org.apache.velocity.Template.merge_$jrat(Template.java:340)
        at org.apache.velocity.Template.merge(Template.java)
        at org.apache.velocity.Template.merge_$jrat(Template.java:248)
        at org.apache.velocity.Template.merge(Template.java)
        at 
org.apache.velocity.test.load.Velocity24Test.testRendering_$jrat(Velocity24Test.java:52)
        at 
org.apache.velocity.test.load.Velocity24Test.testRendering(Velocity24Test.java)

Although I'm not sure, I strongly suspect that this has got something to do 
with refactoring done (2009-01-11) for VelocimacroProxy.init. In 1.6.1 the init 
function initializes the nodeTree variable but if I'm not mistaken, in current 
SVN head this does not happen(!). It seems that under certain conditions the 
engine tries to render an ASTText node that has not been initialized (char 
array is null) which causes this exception. 

-- 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to