Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Issue 8414010: Fix pipelining crash on canceled user callbacks. (Closed)

Created:
9 years, 1 month ago by James Simonsen
Modified:
9 years, 1 month ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, darin-cc_chromium.org, Paweł Hajdan Jr.
Visibility:
Public.

Description

Fix pipelining crash on canceled user callbacks. User callbacks are run in separate tasks posted by the pipelining code. If the user closes their stream before the task runs, we shouldn't try to call the stale callback. BUG=101936 TEST=net_unittests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107808

Patch Set 1 #

Total comments: 1

Patch Set 2 : Explicitly run loop #

Patch Set 3 : Manually destruct #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+80 lines, -10 lines) Patch
M net/http/http_pipelined_connection_impl.h View 2 chunks +2 lines, -1 line 0 comments Download
M net/http/http_pipelined_connection_impl.cc View 5 chunks +17 lines, -9 lines 1 comment Download
M net/http/http_pipelined_connection_impl_unittest.cc View 1 2 1 chunk +61 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
James Simonsen
This fixes one of the two reported crashes.
9 years, 1 month ago (2011-10-28 00:22:34 UTC) #1
mmenke
I thought we fixed this issue already. Anyways, LGTM, modulo comment. http://codereview.chromium.org/8414010/diff/1/net/http/http_pipelined_connection_impl_unittest.cc File net/http/http_pipelined_connection_impl_unittest.cc (right): ...
9 years, 1 month ago (2011-10-28 00:54:09 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/simonjam@chromium.org/8414010/1005
9 years, 1 month ago (2011-10-28 20:50:26 UTC) #3
mmenke
On 2011/10/28 20:50:26, I haz the power (commit-bot) wrote: > CQ is trying da patch. ...
9 years, 1 month ago (2011-10-28 20:52:01 UTC) #4
James Simonsen
On 2011/10/28 20:52:01, Matt Menke wrote: > On 2011/10/28 20:50:26, I haz the power (commit-bot) ...
9 years, 1 month ago (2011-10-28 20:54:14 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/simonjam@chromium.org/8414010/3002
9 years, 1 month ago (2011-10-28 21:17:04 UTC) #6
commit-bot: I haz the power
Change committed as 107808
9 years, 1 month ago (2011-10-28 22:33:39 UTC) #7
willchan no longer on Chromium
9 years, 1 month ago (2011-11-01 18:24:43 UTC) #8
Man, I really ought to re-read this code at some point to get the state machine
fully in my head. Anyway, here's my post-review comments. LGTM2.

http://codereview.chromium.org/8414010/diff/3002/net/http/http_pipelined_conn...
File net/http/http_pipelined_connection_impl.cc (right):

http://codereview.chromium.org/8414010/diff/3002/net/http/http_pipelined_conn...
net/http/http_pipelined_connection_impl.cc:573:
CHECK(stream_info_map_[pipeline_id].pending_user_callback);
In the future, a CHECK like this is unnecessary. We'll crash on the Run() call
anyway. Don't get me wrong, I like CHECKs, but I don't use them in cases like
these where it doesn't improve the diagnostics for the crash, since it has some
non-trivial logging costs in terms of binary size.

Powered by Google App Engine
This is Rietveld 408576698