You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Conan Wang (JIRA)" <ji...@apache.org> on 2012/10/13 14:32:03 UTC
[jira] [Commented] (TS-1525) SPDY plugin will hang after several
requests
[ https://issues.apache.org/jira/browse/TS-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13475595#comment-13475595 ]
Conan Wang commented on TS-1525:
--------------------------------
As for malformed status line and incorrect warning at error.log : [spdy] client is version 2, but we implement version 3, following change is OK for me.
{code}
diff --git a/plugins/experimental/spdy/http.cc b/plugins/experimental/spdy/htt
index 94cb9ac..b5e0432 100644
--- a/plugins/experimental/spdy/http.cc
+++ b/plugins/experimental/spdy/http.cc
@@ -41,7 +41,7 @@ populate_http_headers(
snprintf(status, sizeof(status),
"%u %s", (unsigned)code, TSHttpHdrReasonLookup(code));
snprintf(httpvers, sizeof(httpvers),
- "HTTP/%2u.%2u", TS_HTTP_MAJOR(vers), TS_HTTP_MINOR(vers));
+ "HTTP/%u.%u", TS_HTTP_MAJOR(vers), TS_HTTP_MINOR(vers));
if (version == spdy::PROTOCOL_VERSION_2) {
kvblock["status"] = status;
diff --git a/plugins/experimental/spdy/lib/spdy/spdy.h b/plugins/experimental/
index 90bea0f..fa5632a 100644
--- a/plugins/experimental/spdy/lib/spdy/spdy.h
+++ b/plugins/experimental/spdy/lib/spdy/spdy.h
@@ -35,7 +35,7 @@ namespace spdy {
};
enum : unsigned {
- PROTOCOL_VERSION = 3,
+ PROTOCOL_VERSION = 2,
MAX_FRAME_LENGTH = (1u << 24)
};
{code}
> SPDY plugin will hang after several requests
> --------------------------------------------
>
> Key: TS-1525
> URL: https://issues.apache.org/jira/browse/TS-1525
> Project: Traffic Server
> Issue Type: Bug
> Components: Plugins
> Reporter: Conan Wang
>
> In a spdy session, plugin will hang if reload the page several times in browser.
> Debug log:
> {code}
> (spdy.plugin) spdy_vconn_io:297 received 738 bytes
> (spdy.plugin) spdy_vconn_io:297 received 754 bytes
> (spdy.plugin) spdy_vconn_io:297 received 1442 bytes
> (spdy.plugin) spdy_vconn_io:297 received 1458 bytes
> ....repeat on each reload request....
> {code}
> Some debug info, FYI:
> When hanging, at spdy.cc:204 consume_spdy_frame(), nbytes from TSIOBufferBlockReadStart will not grow. So (header.datalen <= (nbytes - spdy::message_header::size) can not pass test.
> nbytes from TSIOBufferBlockReadStart is the available bytes of current block, which I think should get from TSIOBufferReaderAvail(io->input.reader). However, after replacing with TSIOBufferReaderAvail, other issues will raise: parsing request header will fail or crash when decompressing header.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira