Issue 3772: Distributed reliability test failures with NewHTTP
http://code.google.com/p/chromium/issues/detail?id=3772
Comment #8 by [EMAIL PROTECTED]:
Instrumented code results are in, and we now know:
(1) |this| is a valid initialized instance of (HttpNetworkTransaction)
(5) this->url.SchemeIs("https") == true
(2) this->using_ssl_ == true
(3) this->establishing_tunnel_ = false
(4) this->using_tunnel_ == true
Conclusions:
So it looks like the bug is the boolean expression guarding the reinterpret
cast:
if (using_ssl_ && !establishing_tunnel_) {
SSLClientSocket* ssl_socket =
reinterpret_cast<SSLClientSocket*>(connection_.socket());
ssl_socket->GetSSLInfo(&response_.ssl_info);
}
Here we check for |establishing_tunnel_| and expect to have a
SSLClientSocket in such case.
However, the SSLClientSocket is only created after reaching the
STATE_SSL_CONNECT_OVER_TUNNEL
state.
And the STATE_SSL_CONNECT_OVER_TUNNEL state is only reached when you get a
200 during
|establishing_tunnel_|:
if (establishing_tunnel_ && headers->response_code() == 200) {
...
}
Therefore, I think a way to reproduce this bug is for the proxy to return a
non-200 while
CONNECT'ing.
I will poke wtc about this, since my https understanding is very limited.
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Chromium-bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/chromium-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---