Bug 78810 - CachedRawResource may send a chunk of data twice
Summary: CachedRawResource may send a chunk of data twice
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nate Chapin
Depends on:
Blocks: 76564
  Show dependency treegraph
Reported: 2012-02-16 06:42 PST by Vsevolod Vlasov
Modified: 2012-02-22 16:38 PST (History)
4 users (show)

See Also:

patch (12.69 KB, patch)
2012-02-22 12:32 PST, Nate Chapin
no flags Details | Formatted Diff | Diff
Merged to trunk (12.83 KB, patch)
2012-02-22 13:23 PST, Nate Chapin
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.