[ 
https://issues.apache.org/jira/browse/VELOCITY-750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cenek Rauscher reopened VELOCITY-750:
-------------------------------------


I think that "Double Checked Locking" is not main problem in this bug (but 
anyway you should also fix it). Main problem is using "initialized" and 
"initializing" fields. When initialization is started (synchronized init() 
method), "initializing" is set to true and requireInitialization() method 
return false (even if initialization is not done). I think that using both 
fields is incorrect - at least in requireInitialization() method.

> org.apache.velocity.runtime.RuntimeInstance initialization is not ThreadSafe
> ----------------------------------------------------------------------------
>
>                 Key: VELOCITY-750
>                 URL: https://issues.apache.org/jira/browse/VELOCITY-750
>             Project: Velocity
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: 1.6.2, 1.6.x
>         Environment: Vista, Java 1.6
>            Reporter: Cenek Rauscher
>             Fix For: 1.6.x, 1.7, 2.0
>
>
> Two threads call Velocity.evaluate() method.
> Call RuntimeInstance.parse() and requireInitialization() method.
> One thread trying make initialization, set "initializing" to true and the 
> other thread does not wait until initialization is done and go on.
> At next line Parser parser = (Parser) parserPool.get() is 
> NullPointerException thrown.

-- 
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