Closed
Bug 57840
Opened 25 years ago
Closed 25 years ago
Crash clicking "What's related" in sidebar [@ nsHTTPChannel::Redirect]
Categories
(SeaMonkey :: Sidebar, defect, P1)
SeaMonkey
Sidebar
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: scalkins, Assigned: morse)
References
Details
(Keywords: crash, smoketest, topcrash, Whiteboard: [rtm need info])
Crash Data
Saw this on mac 2000-10-24-08MN6 branch
I have OS9.04 on a G3/400mhz 128mb ram
Steps to repro:
1)Launch seamonkey and click on any tab other than What's Related
2) Now click on the 'What's related' tab
Actual results: You will crash out of seamonkey
Nominating rtm for possible data loss and poor first impression.
Talkback Incident ID: 19691647 follows:
Trigger Type: Program Crash
Trigger Reason: PowerPC unmapped memory exception
Call Stack: (Signature = .__ptr_glue 3385cc9f)
.__ptr_glue
nsHTTPChannel::ProcessRedirection() [nsHTTPChannel.cpp, line 2633]
nsHTTPChannel::ProcessStatusCode() [nsHTTPChannel.cpp, line 2480]
nsHTTPChannel::FinishedResponseHeaders() [nsHTTPChannel.cpp, line 2341]
nsHTTPServerListener::FinishedResponseHeaders()
[nsHTTPResponseListener.cpp, line 1036]
nsHTTPServerListener::OnDataAvailable() [nsHTTPResponseListener.cpp, line 427]
<../images/spacer.gif>
Registers:
CTR
LR
PC
CR
XER
MSR
0x171b1c80 0x16eba650 0x16edbd34 0x22000828 0x00000000 0x00000000
General Registers
R0 0x00000000 R16 0x06fdabcc
(sp) R1 0x07756430 R17 0x00000000
(rtoc) R2 0x06fce110 R18 0x06fdbe78
R3 0x00000000 R19 0x0000012e
R4 0x07756674 R20 0x07756784
R5 0x000008ac R21 0x0676cc4c
R6 0x06fd47d4 R22 0x06fd42fc
R7 0x06fd4774 R23 0x077566cc
R8 0x06fd60d8 R24 0x00000000
R9 0x06fd40f4 R25 0x00000000
R10 0x06fd7908 R26 0x00000000
R11 0x06fd4064 R27 0x00000000
R12 0x4a291400 R28 0x0676dc1c
R13 0x00000000 R29 0x00010000
R14 0x0642e894 R30 0x0656ccf8
R15 0x0676cbe0 R31 0x0642e894
Floating Point Registers
FR0 0x2f6677642f736964 FR16 0x0000000000000000
FR1 0x0775648007756510 FR17 0x0000000000000000
FR2 0x0775648006753390 FR18 0x0000000000000000
FR3 0x0677ecf000000010 FR19 0x0000000000000000
FR4 0x07756450068bfacc FR20 0x0000000000000000
FR5 0x172f37340775649c FR21 0x0000000000000000
FR6 0x0775646093000000 FR22 0x0000000000000000
FR7 0x171aef1c062a4068 FR23 0x0000000000000000
FR8 0x077564b006753390 FR24 0x0000000000000000
FR9 0x0676c5e400000028 FR25 0x0000000000000000
FR10 0x07756490067689d0 FR26 0x0000000000000000
FR11 0x06e70eb8062a4068 FR27 0x0000000000000000
FR12 0x07756490068bfacc FR28 0x0000000000000000
FR13 0x172aec6c06f10a48 FR29 0x0000000000000000
FR14 0x0000000000000000 FR30 0x0000000000000000
FR15 0x0000000000000000 FR31 0x0000000000000000
FPSCR 0xa2002100
Exception kind: PowerPC unmapped memory exception
Area: 0x07755f75 Address: 0x4a291400
Error: 0x07755f5c Reference: 0x00000001
I also see this on Linux todays branch build 2000-10-24-09MN6
Comment 3•25 years ago
|
||
adding smoketest blocker status of duplicate bug.
the branch is being held closed for this bug.
Severity: critical → blocker
Keywords: smoketest
On my build it's not crashing for me so i'm
having a hell of a time reproducing it with a debug build.
Comment 8•25 years ago
|
||
I could reproduce this on mac/linux branch bits but did not crash on windows
branch.
Comment 10•25 years ago
|
||
according to don & PDT, branch is open. if we don't get traction on this by 9pm
tonight, back it out.
Comment 11•25 years ago
|
||
back what out?
Comment 12•25 years ago
|
||
http://cyclone/reports/SingleIncidentInfo.cfm?dynamicBBID=19700952
This is the talk back for it
Comment 13•25 years ago
|
||
http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/netwerk/protocol/http/src/ns
HTTPChannel.cpp
This is crashing in nsHTTPCHannel.cpp on line 1770
because we are not checking for null on the mLoadGroup
and related links does not use load groups.
This is crashing on the branch. This looks
like morse added this code when fixing a bug and forgot to do this.
Assignee: matt → morse
| Assignee | ||
Comment 14•25 years ago
|
||
From what was said, the patch is obvious. But I can't test it because all I
have at the moment is a windows debug branch build. I can get a linux debug
branch build to try it on, but that will take a while. In the meantime, can
someone who does have a build that is failing try out the following patch and
let me know if it clears it up.
Index: nsHTTPChannel.cpp
===================================================================
RCS file: /cvsroot/mozilla/netwerk/protocol/http/src/nsHTTPChannel.cpp,v
retrieving revision 1.234.2.6
diff -u -r1.234.2.6 nsHTTPChannel.cpp
--- nsHTTPChannel.cpp 2000/10/20 03:15:07 1.234.2.6
+++ nsHTTPChannel.cpp 2000/10/25 01:06:09
@@ -1767,10 +1767,12 @@
if (NS_FAILED(rv)) return rv;
nsCOMPtr<nsIChannel> tempChannel;
- rv = mLoadGroup->GetDefaultLoadChannel(getter_AddRefs(tempChannel));
- if (NS_SUCCEEDED(rv)) {
- if (tempChannel == this) {
- mLoadGroup->SetDefaultLoadChannel(channel);
+ if (mLoadGroup) {
+ rv = mLoadGroup->GetDefaultLoadChannel(getter_AddRefs(tempChannel));
+ if (NS_SUCCEEDED(rv)) {
+ if (tempChannel == this) {
+ mLoadGroup->SetDefaultLoadChannel(channel);
+ }
}
}
Status: NEW → ASSIGNED
| Assignee | ||
Comment 15•25 years ago
|
||
Also, gagan, can you please review this patch.
Comment 16•25 years ago
|
||
the declaration of tempChannel should move to inside the check so that you don't
create a temporary in this case.
| Assignee | ||
Comment 17•25 years ago
|
||
Gagan, good catch. Here's the revised patch. Please review. Thanks.
Index: nsHTTPChannel.cpp
===================================================================
RCS file: /cvsroot/mozilla/netwerk/protocol/http/src/nsHTTPChannel.cpp,v
retrieving revision 1.234.2.6
diff -u -r1.234.2.6 nsHTTPChannel.cpp
--- nsHTTPChannel.cpp 2000/10/20 03:15:07 1.234.2.6
+++ nsHTTPChannel.cpp 2000/10/25 02:57:56
@@ -1766,11 +1766,13 @@
rv = channel->SetOriginalURI(mOriginalURI);
if (NS_FAILED(rv)) return rv;
- nsCOMPtr<nsIChannel> tempChannel;
- rv = mLoadGroup->GetDefaultLoadChannel(getter_AddRefs(tempChannel));
- if (NS_SUCCEEDED(rv)) {
- if (tempChannel == this) {
- mLoadGroup->SetDefaultLoadChannel(channel);
+ if (mLoadGroup) {
+ nsCOMPtr<nsIChannel> tempChannel;
+ rv = mLoadGroup->GetDefaultLoadChannel(getter_AddRefs(tempChannel));
+ if (NS_SUCCEEDED(rv)) {
+ if (tempChannel == this) {
+ mLoadGroup->SetDefaultLoadChannel(channel);
+ }
}
}
| Assignee | ||
Comment 18•25 years ago
|
||
My linux branch debug build just finished and I tested. Without applying the
patch, I am unable to reproduce the crash. I've now tried this on both windows
and linux.
So I'm going to need somebody who can reproduce the crash to test the patch and
see if it clears things up.
Comment 19•25 years ago
|
||
Steve, I'll find somebody to help. When you do get verification that the patch
fixes the problem, then check it in since it doesn't need a "++" because it's a
tree blocker.
| Assignee | ||
Comment 20•25 years ago
|
||
Just for clarification of anybody looking at the above patch. All I added was
the line:
if (mLoadGroup) {
and its corresponding close brace. All the other diffs noted are due to change
in indentation.
Comment 21•25 years ago
|
||
OK, I'm gonna give this an "r=don". I can't see from the context of the
function how that check for null would cause more harm.
Comment 22•25 years ago
|
||
However, the only verification I have that it fixes the real problem is the
debugging session that matt, rjc, and gagan had yesterday.
| Assignee | ||
Comment 23•25 years ago
|
||
OK, checked in fix per don's comments. Never did get verification that it fixes
the problem (other than the debugging session cited) but don agrees that it
can't possibly make things worse. No sence holding the tree hostage for this.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Comment 24•25 years ago
|
||
I am still seeing this on branch builds for Mac and Windows today....am just
starting linux.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
| Assignee | ||
Comment 25•25 years ago
|
||
What branch build are you using. The change was checked in at 11 AM. Does the
build that you are using include changes made only an hour ago?
Comment 26•25 years ago
|
||
Why were the checkin rules bypassed? Or did someone super-review this and not
record his stamp of approval?
Null checks should be safe, but if they wallpaper over a problem that will bite
anyway, they're the wrong fix. See bug 56570 for an example. At least here the
pointer is a strong ref (nsCOMPtr), so it won't point at freed memory. Cc'ing
mscott and rpotts for help getting to the bottom of this.
/be
| Reporter | ||
Comment 27•25 years ago
|
||
So far all we have for branch builds are 8 or 9am builds from this am...so maybe
the next respin will have this fix? These builds still have the problem.
At this writing current branch builds are:
Win 2000-10-25-09MN6
Linux 2000-10-25-09MN6
Mac 2000-10-25-08MN6
| Assignee | ||
Comment 28•25 years ago
|
||
In that case I'm closing this out once again as fixed. Please reopen if
verification fails for a build that includes the patch.
Status: REOPENED → RESOLVED
Closed: 25 years ago → 25 years ago
Resolution: --- → FIXED
Comment 29•25 years ago
|
||
Just for completeness, here are 2 talkback reports for Windows. The stack
traces looks just like the Linux trace:
http://climate/reports/incidenttemplate.CFM?reportID=124&style=0&tc=24&cp=1&ck1=SUser+email+address&cd1=%25bobj%25&co1=like&bbid=19754775
http://climate/reports/incidenttemplate.CFM?reportID=124&style=0&tc=24&cp=2&ck1=SUser+email+address&cd1=%25bobj%25&co1=like&bbid=19716535
Comment 30•25 years ago
|
||
I don't think this is fixed. Here is the latest stack trace (after cliking on
what's related).
20001025's build. Platform : Winnt.
Reopeneing the bug;
Stack trace :
nsHTTPChannel::Redirect(const char * 0x051d6fa0, nsIChannel * * 0x0012bd08, int
302) line 1770 + 53 bytes
nsHTTPChannel::ProcessRedirection(int 302) line 2633 + 46 bytes
nsHTTPChannel::ProcessStatusCode() line 2480 + 15 bytes
nsHTTPChannel::FinishedResponseHeaders() line 2341 + 8 bytes
nsHTTPServerListener::FinishedResponseHeaders() line 1040 + 11 bytes
nsHTTPServerListener::OnDataAvailable(nsHTTPServerListener * const 0x051d5e20,
nsIChannel * 0x0516a414, nsISupports * 0x051535e0, nsIInputStream * 0x051d6e10,
unsigned int 0, unsigned int 0) line 427 + 8 bytes
nsOnDataAvailableEvent::HandleEvent(nsOnDataAvailableEvent * const 0x051d1720)
line 400 + 47 bytes
nsStreamListenerEvent::HandlePLEvent(PLEvent * 0x051d1f80) line 97 + 12 bytes
PL_HandleEvent(PLEvent * 0x051d1f80) line 580 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x00aa8cd0) line 513 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x07640362, unsigned int 49483, unsigned int 0,
long 11177168) line 1049 + 9 bytes
USER32! 77e71820()
00aa8cd0()
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 31•25 years ago
|
||
Adding topcrash keyword and [@ nsHTTPChannel::Redirect] for tracking. This is
#3 on the topcrash list from talkback.
Keywords: topcrash
Summary: Crash clicking "What's related" in sidebar → Crash clicking "What's related" in sidebar [@ nsHTTPChannel::Redirect]
Comment 32•25 years ago
|
||
racham: morse's fix is not in the 10/25 build. You have to use the 10/26 build
(which will be tomorrow).
Comment 33•25 years ago
|
||
Sorry. I take it back. Spoke too soon. I just needed to update my local tree
properly and it worked fine. I didn't see any crash reported. With commercial
sweetlou builds, we shall the effect only tomorrow as the fix went at around 11
am.
Changing the status back to fixed.
Status: REOPENED → RESOLVED
Closed: 25 years ago → 25 years ago
Comment 34•25 years ago
|
||
Hmm.. the bug status just says RESOLVED (no FIXED or anything). I am reopenng
and marking this resolved/fixed again.
Status: RESOLVED → REOPENED
Comment 35•25 years ago
|
||
res/fxd
Status: REOPENED → RESOLVED
Closed: 25 years ago → 25 years ago
Resolution: --- → FIXED
*** Bug 58072 has been marked as a duplicate of this bug. ***
Comment 37•25 years ago
|
||
This looks good, no crash when I open up What's Related tab in Sidebar. Suzanne,
pls confirm.Thx.
Comment 38•25 years ago
|
||
forgot to mention....today's branch builds on win/linux
| Reporter | ||
Comment 39•25 years ago
|
||
Verifying all branch builds today
2000-10-26-09MN6 Win and Linux
2000-10-26-08MN6 Mac
Status: RESOLVED → VERIFIED
Keywords: vtrunk
| Reporter | ||
Comment 40•25 years ago
|
||
oops, reopening and setting resolved fixed for verification on trunk
sorry for the spam
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
| Reporter | ||
Comment 41•25 years ago
|
||
setting vtrunk
Status: REOPENED → RESOLVED
Closed: 25 years ago → 25 years ago
Resolution: --- → FIXED
Comment 42•25 years ago
|
||
*** Bug 58036 has been marked as a duplicate of this bug. ***
Comment 43•25 years ago
|
||
I'm with brendan, I don't see a super reviewer listed for this check in it all.
Only a r=don. Steve, why did we think it was ok to bypass the super review
requirements of mozilla.org?
I'm okay with the null ptr check but I would feel better if someone could tell
me WHY we were running into a scenario where the load group for a channel was null.
Comment 44•25 years ago
|
||
For the curious: as matt pointed out in one of the earlier comments in this bug,
the related links component doesn't use loadgroups (so they are null for its
HTTP streams).
Comment 45•25 years ago
|
||
verified working on mac/win/linux 20001116 trunk builds.
Status: RESOLVED → VERIFIED
Keywords: vtrunk
Comment 46•25 years ago
|
||
*** Bug 58187 has been marked as a duplicate of this bug. ***
Updated•21 years ago
|
Product: Browser → Seamonkey
Updated•15 years ago
|
Crash Signature: [@ nsHTTPChannel::Redirect]
You need to log in
before you can comment on or make changes to this bug.
Description
•