Closed Bug 710310 Opened 13 years ago Closed 13 years ago

SPDY: Google Docs Save Large File intermittent failure

Categories

(Core :: Networking: HTTP, defect)

11 Branch
x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla11

People

(Reporter: mcmanus, Assigned: mcmanus)

References

Details

Attachments

(1 file, 1 obsolete file)

STR:: 1 enable spdy 2 goto google docs 3 make a new word processor doc 4 paste in > 40KB of text (all at once, this is impt) 5 - save or let it auto save at least 1 in 3 times the save will fail. Two issues identified: * counting uploaded bytes when frames bodies and headers are coalesced * refusing to consume data read from request stream in the hopes of creating a full chunk creates send loop
Attached patch patch v0 (obsolete) — Splinter Review
This impacts only code in spdystream.cpp and fixes a problem testers are likely to hit so I'd like to get it into the tree asap under the existing spdy.enabled=false review policy. Thanks
Assignee: nobody → mcmanus
Status: NEW → ASSIGNED
Attachment #581348 - Flags: review?(honzab.moz)
Attached patch patch v1Splinter Review
Add a null check.. not actually needed the way the code flows right now, but the interface allows that attribute to be null.
Attachment #581348 - Attachment is obsolete: true
Attachment #581348 - Flags: review?(honzab.moz)
Attachment #581355 - Flags: review?(honzab.moz)
Comment on attachment 581355 [details] [diff] [review] patch v1 Review of attachment 581355 [details] [diff] [review]: ----------------------------------------------------------------- r=honzab Sorry for the delay, let's get it in.
Attachment #581355 - Flags: review?(honzab.moz) → review+
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla11
Comment on attachment 581355 [details] [diff] [review] patch v1 Review of attachment 581355 [details] [diff] [review]: ----------------------------------------------------------------- r=honzab for spdy.enabled=true ::: netwerk/protocol/http/SpdyStream.cpp @@ +486,5 @@ > LOG3(("Coalesce Transmit")); > memcpy (mTxInlineFrame + mTxInlineFrameSize, > buf, mTxStreamFrameSize); > + if (countUsed) > + *countUsed += mTxStreamFrameSize; Interesting you are checking on 'countUsed'. According assertion above and the fact you are using 'buf' in memcpy, it should never be null here. I also don't see a check on 'buf' being non-null to perform this memcpy at all. But as I understand the code, buf is non-null when mTxStreamFrameSize is > 0, right? It's so hard to track... So, probably no need for the check and just add a comment explaining why not needed? And also maybe assertion about (!buf ^ mTxStreamFrameSize) ?
Attachment #581355 - Flags: review+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: