Status: Available
Owner: [email protected]
Labels: Type-Bug Pri-3 OS-All Area-BrowserBackend Size-Small

New issue 9875 by [email protected]: HTTP connections are always closed  
after a reply with no payload
http://code.google.com/p/chromium/issues/detail?id=9875

(from forum post:
http://www.google.com/support/forum/p/Chrome/thread?tid=23539dc06389e12a&hl=en)

We will always close the HTTP connection when we get a 304 Not Modified
reply. It appears that this happens whenever we get a reply with no payload.

At chromium/net/http/http_network_transaction.cc:868, if |unfiltered_eof|
is true, we close the connection. This makes sense since we don't want a
connection which the other side has closed. However, |unfiltered_eof| =
|result == 0|. Result comes from the current value of |rv| when DoLoop is
called.

Based on this backtrace:
#0  net::HttpNetworkTransaction::DoReadBodyComplete (this=0xaff65b8,  
result=2)
     at chromium/net/http/http_network_transaction.cc:868
#1  0x086547bf in net::HttpNetworkTransaction::DoLoop (this=0xaff65b8,
result=0)
     at chromium/net/http/http_network_transaction.cc:466
#2  0x08654e5f in net::HttpNetworkTransaction::Read (this=0xaff65b8,
buf=0x56e0ef88, buf_len=32768,
     callback=0xaff5a9c) at chromium/net/http/http_network_transaction.cc:238
#3  0x08647685 in net::HttpCache::Transaction::Read (this=0xaff59d0,
buf=0x56e0ef88, buf_len=32768,
     callback=0x56e0852c) at chromium/net/http/http_cache.cc:438
#4  0x086c364b in URLRequestHttpJob::ReadRawData (this=0x56e08418,
buf=0x56e0ef88, buf_size=32768,
     bytes_read=0x5720fffc) at
chromium/net/url_request/url_request_http_job.cc:398

It appears that |rv| is set from http/http_cache.cc:438 where:
rv = network_trans_->Read(buf, buf_len, &network_read_callback_);

But it's a zero-byte payload, so it ends up as zero.

I don't know the code well enough to change it I'm afraid.

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

--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---

Reply via email to