<html><body bgcolor="#FFFFFF"><div>Thank you for this report, Shlomo. This &nbsp;is easy to fix, I'll push out a fix this week.</div><div><br>- Jim</div><div><br>On Aug 1, 2010, at 6:02 AM, "Shlomo Rothschild" &lt;<a href="mailto:shlomor@unisfair.com">shlomor@unisfair.com</a>&gt; wrote:<br><br></div><div><span></span></div><blockquote type="cite"><div>

<div class="WordSection1">

<p class="MsoNormal">Hi, <o:p></o:p></p>

<p class="MsoNormal"><o:p>&nbsp;</o:p></p>

<p class="MsoNormal">I just found out that the call to the DefaultEncoder
constructor &nbsp;must be synchronized.<o:p></o:p></p>

<p class="MsoNormal">The DefaultEncoder uses <span style="font-size:10.0pt;
font-family:&quot;Courier New&quot;;color:black;background:silver;mso-highlight:silver">HTMLEntityCodec</span><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"> which in turn
uses a static HashMap.<o:p></o:p></span></p>

<p class="MsoNormal"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;
color:black">When the HashMap is initialized with values by more than one
thread it may cause a severe problem.<o:p></o:p></span></p>

<p class="MsoNormal"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;
color:black"><o:p>&nbsp;</o:p></span></p>

<p class="MsoNormal"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;
color:black">In our production environment I found one machine utilizing 25% of
the CPU by two threads that are stuck on initializing the DefaultEncoder.<o:p></o:p></span></p>

<p class="MsoNormal">&lt;?xml version="1.0"
encoding="utf-8"?&gt;<o:p></o:p></p>

<p class="MsoNormal">&lt;stack_trace&gt;<o:p></o:p></p>

<p class="MsoNormal">&nbsp; &lt;threadstackframeinfo ="0" class="java.util.HashMap"
method="put(java.lang.Object, java.lang.Object)" line="374"
source_file="HashMap.java"/&gt;<o:p></o:p></p>

<p class="MsoNormal">&nbsp; &lt;threadstackframeinfo ="1"
class="org.owasp.esapi.codecs.HTMLEntityCodec"
method="initializeMaps()" line="808"
source_file="HTMLEntityCodec.java"/&gt;<o:p></o:p></p>

<p class="MsoNormal">&nbsp; &lt;threadstackframeinfo ="2"
class="org.owasp.esapi.codecs.HTMLEntityCodec"
method="&amp;lt;init&amp;gt;()" line="44"
source_file="HTMLEntityCodec.java"/&gt;<o:p></o:p></p>

<p class="MsoNormal">&nbsp; &lt;threadstackframeinfo ="3"
class="org.owasp.esapi.reference.DefaultEncoder"
method="&amp;lt;init&amp;gt;()" line="75"
source_file="DefaultEncoder.java"/&gt;<o:p></o:p></p>

<p class="MsoNormal">&lt;/stack_trace&gt;<o:p></o:p></p>

<p class="MsoNormal"><o:p>&nbsp;</o:p></p>

<p class="MsoNormal"><b><span style="font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:#7FB942">Shlomo
Rothschild</span></b><b><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;
color:gray">&nbsp;</span></b><span style="color:gray">|<b>&nbsp;</b></span><b><span style="color:#606367">Chief Architect &amp; CISO&nbsp;</span></b><span style="color:#606367">|<b> <a href="http://www.unisfair.com/"><span style="color:#606367;text-decoration:none">Unisfair</span></a></b></span><span style="color:gray"><br>
</span><span style="font-size:10.0pt;color:#7F7F7F">P: +972.3.6117300#235 | C:
+972.54.3150906</span><o:p></o:p></p>

<p class="MsoNormal"><span style="font-size:8.0pt;color:#606367"><a href="http://www.twitter.com/unisfair"><span style="color:#606367;text-decoration:
none">www.twitter.com/unisfair</span></a> | <a href="http://www.facebook.com/unisfair"><span style="color:#606367;text-decoration:
none">www.facebook.com/unisfair</span></a><o:p></o:p></span></p>

<p class="MsoNormal"><o:p>&nbsp;</o:p></p>

</div>




</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Esapi-user mailing list</span><br><span><a href="mailto:Esapi-user@lists.owasp.org">Esapi-user@lists.owasp.org</a></span><br><span><a href="https://lists.owasp.org/mailman/listinfo/esapi-user">https://lists.owasp.org/mailman/listinfo/esapi-user</a></span><br></div></blockquote></body></html>