Closed
Bug 473161
Opened 17 years ago
Closed 17 years ago
Bug 373701 regressed on trunk and 1.9.1
Categories
(Core :: Graphics: ImageLib, defect, P2)
Core
Graphics: ImageLib
Tracking
()
RESOLVED
FIXED
mozilla1.9.1b3
People
(Reporter: bzbarsky, Assigned: joe)
References
(Depends on 1 open bug)
Details
(Keywords: fixed1.9.1, regression)
Attachments
(1 file, 1 obsolete file)
|
882 bytes,
patch
|
bzbarsky
:
review+
vlad
:
superreview+
|
Details | Diff | Splinter Review |
The patch that ended up landing for bug 89419 is wrong. In particular, this part of the patch:
1.60 - if (mRequest && mLoading)
1.61 - mRequest->Cancel(aStatus);
1.62 + if (mChannel && mLoading)
1.63 + mChannel->Cancel(aStatus);
is wrong, because it cancels the wrong thing (the part channel, not the underlying multipart channel).
I really should have pushed harder to clean up the mRequest/mChannel thing so that confusion like this wouldn't arise. :(
This needs to block 1.9.1, in my opinion. And we desperately need a regression test for this if someone can figure out how to write one.
Flags: blocking1.9.1?
| Reporter | ||
Updated•17 years ago
|
OS: Mac OS X → All
Hardware: x86 → All
Flags: blocking1.9.1? → blocking1.9.1+
Priority: -- → P5
Priority: P5 → P2
| Assignee | ||
Comment 1•17 years ago
|
||
It's still necessary to cancel mChannel in CancelAndAbort() for the same reasons that came up in bug 89419, but we should cancel mRequest in Cancel() because, if we're calling Cancel(), we've initialized properly. Just cancelling mRequest will work because, on redirect, the new channel will be added to the old channel's load group.
It's not currently possible to write a test for webcams, but I've filed bug 475108 on it anyways.
Attachment #358505 -
Flags: superreview?
Attachment #358505 -
Flags: review?(bzbarsky)
| Assignee | ||
Updated•17 years ago
|
Attachment #358505 -
Flags: superreview? → superreview?(vladimir)
Attachment #358505 -
Flags: superreview?(vladimir) → superreview+
| Reporter | ||
Comment 2•17 years ago
|
||
I'm a little confused. Why do we need to cancel the channel in this case? If the channel is not in the loadgroup, that means its AsyncOpen failed, right? In that case there's nothing to cancel... Why is that call needed at all?
| Assignee | ||
Comment 3•17 years ago
|
||
That is a good question, and it turns out that there is no reason to cancel the channel instead of the request. I was misled down that path when debugging the leaks in bug 89419, and I made incremental changes until I fixed the leaks, never realizing that the Cancel() call didn't matter. So this simply reverts to the correct Cancel().
Attachment #358505 -
Attachment is obsolete: true
Attachment #358891 -
Flags: superreview?(vladimir)
Attachment #358891 -
Flags: review?(bzbarsky)
Attachment #358505 -
Flags: review?(bzbarsky)
| Reporter | ||
Updated•17 years ago
|
Attachment #358891 -
Flags: review?(bzbarsky) → review+
Attachment #358891 -
Flags: superreview?(vladimir) → superreview+
| Assignee | ||
Comment 4•17 years ago
|
||
Pushed to m-c: http://hg.mozilla.org/mozilla-central/rev/7d9bea3fa51a
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
| Assignee | ||
Comment 5•17 years ago
|
||
Backed out because of leaks.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
| Assignee | ||
Comment 6•17 years ago
|
||
Repushed, and seemed to stick: http://hg.mozilla.org/mozilla-central/rev/bf337d3b5347
Status: REOPENED → RESOLVED
Closed: 17 years ago → 17 years ago
Resolution: --- → FIXED
| Assignee | ||
Comment 7•17 years ago
|
||
Keywords: fixed1.9.1
Target Milestone: --- → mozilla1.9.1b3
Comment 8•17 years ago
|
||
I assume we don't need this fixed on 1.9.0 because Joe already caught the problem with bug 89419 in bug 355126 comment 65? (nominating wanted1.9.0.x as a reminder that I need to check back for an answer)
| Reporter | ||
Comment 9•17 years ago
|
||
We don't need this because the code that caused this bug didn't land on 1.9.0 at all. We took a much simpler and safer fix for bug 89419 there instead. At least that's how things work as I recall. Joe, can you confirm?
| Assignee | ||
Comment 10•17 years ago
|
||
Right. There was drift both in the underlying code from 1.9.0->1.9.1 and in the patch I eventually checked in. Therefore, this bug doesn't apply to the 1.9.0 branch.
You need to log in
before you can comment on or make changes to this bug.
Description
•