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