Bug 78810

Summary: CachedRawResource may send a chunk of data twice
Product: WebKit Reporter: Vsevolod Vlasov <vsevik>
Component: Tools / TestsAssignee: Nate Chapin <japhet>
Severity: Normal CC: abarth, ap, koivisto, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 76564    
Description Flags
Merged to trunk none

Description Vsevolod Vlasov 2012-02-16 06:42:28 PST
The following layout test is flaky on Chromium (Linux, Vista)


This was caused by http://trac.webkit.org/changeset/107672/
Comment 1 Vsevolod Vlasov 2012-02-16 06:59:24 PST
Marked as flaky:

Committed r107930: <http://trac.webkit.org/changeset/107930>
Comment 2 Nate Chapin 2012-02-22 12:31:49 PST
It appears that, if data comes in while a CachedRawResourceCallback timer is pending, we send that data to the client right away, then we send the entirety of the data to the client when the timer fires.  So in the following series of events:

data - chunk A
data - chunk B
addClient - CachedRawResourceCallback created
data - chunk C
Timer fires - send all data so far to client
data - chunk D

The client receives CABCD instead of ABCD.
Comment 3 Nate Chapin 2012-02-22 12:32:39 PST
Created attachment 128264 [details]
Comment 4 Nate Chapin 2012-02-22 13:23:24 PST
Created attachment 128274 [details]
Merged to trunk
Comment 5 WebKit Review Bot 2012-02-22 16:38:04 PST
Comment on attachment 128274 [details]
Merged to trunk

Clearing flags on attachment: 128274

Committed r108573: <http://trac.webkit.org/changeset/108573>
Comment 6 WebKit Review Bot 2012-02-22 16:38:09 PST
All reviewed patches have been landed.  Closing bug.