Code review request, CR 7180038 regression test failure, SSLEngineBadBufferArrayAccess.java

Weijun Wang weijun.wang at oracle.com
Mon Jul 2 08:35:06 UTC 2012


I take a look at the test output. When the last handshake starts:

================
server unwrap: OK/NEED_TASK, 230/0 bytes
	running delegated task...
	new HandshakeStatus: NEED_WRAP
----
server wrap: OK/NEED_WRAP, 0/86 bytes
================

Here the first wrap only generates 86 bytes, I guess that's the 
ServerHello message? It keeps the state at NEED_WRAP but then never 
really generates the Certificate message. What might be the problem?

Thanks
Max

On 07/02/2012 10:39 AM, Xuelei Fan wrote:
> Hi Weijun,
>
> Would you please review the test update for CR 7180038?
>      http://cr.openjdk.java.net./~xuelei/7180038/webrev.00/
>
> We cannot reproduce the issue. However, from the test log, there is two
> possible issues exposed by this CR.
> 1. the improper test case senarios of un/wrap()
>     In the test case, the scenarios is
> unwrap()->wrap()->serverOut.remaining()->"serverIn.remaining() !=
> clientMsg.length". After the wrap(), the next operation may need to be
> unwrap() to get more incoming data before comparing serverIn buffer with
> the expected client message.
>
>      This fix is trying to do the comparing after the engine has closed.
>
> 2. From the log, the engine status and handshaking status move from
> CLOSED/NOT_HANDSHAKING to OK/FINISHED. FINISHED means the TLS
> handshaking just finished. As the handshaking should have completed for
> a while, it does not sound like a correct status change.
>
>      However, I did not find why this happens. Need more info. So I added
> a line of log (suggested by Brad Wetmore) to collect the next failure:
>
>      IF THIS FAILS, PLEASE REPORT THIS TO THE SECURITY TEAM.  WE HAVE
>      BEEN UNABLE TO RELIABLY DUPLICATE.
>
>
> Thanks,
> Xuelei
>




More information about the security-dev mailing list