Closed Bug 120628 Opened 24 years ago Closed 24 years ago

Crash on submitting form

Categories

(Core :: Networking: HTTP, defect)

x86
All
defect
Not set
critical

Tracking

()

VERIFIED DUPLICATE of bug 103757

People

(Reporter: bc, Assigned: badami)

References

()

Details

(Keywords: assertion, crash)

Attachments

(4 files)

Steps to reproduce: 1. enter a bogus user id and password 2. click Go to submit form. Results: Crash Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.7+) Gecko/20020111 Reproducible: Everytime Several errors occur and no talkback is generated.
Also saw the following assertion: Error loading URL https://www.enthusian.com/template/loginProcess.cfm : 804b0002 ###!!! ASSERTION: Wrong Document Channel: 'request == mDocumentRequest', file nsDocLoader.cpp, line 1292 ###!!! Break: at file nsDocLoader.cpp, line 1292
Severity: normal → critical
Keywords: crash
OS: Windows 2000 → All
-> Networking:http
Component: Browser-General → Networking: HTTP
I see this crash in Windows XP too, using build 2002011604
can you please try nspr logging? NSPR_LOG_MODULES http:5 [i think that's the syntax]
Assignee: asa → darin
Keywords: assertion
QA Contact: doronr → tever
Attached file HTTP log (95kB)
Adding http log, made with: set NSPR_LOG_MODULES=nsHttp:5 set NSPR_LOG_FILE=http.log
-> badami
Assignee: darin → badami
Darin Looks like after entering in an invalid username/passwd, 3 nsHttpTransaction objects that get created. On the last one, we seem to be getting the body with no reponse status-line/headers. This causes us to fail quite badly while looking for the beginning HTTP of the status line. We find the HTTP in <META HTTP. The reason for the failure is that in nsHttpTransaction::ParseHead count - *countRead turns out to be -ve and since they are unsigned integers becomes a huge +ve value. While we could error out if *countRead > count, I first want a second opinion that this is actually what is happenning.
If for anyreason *countRead > count, then return early and prevent crashes as a result of count - *countRead becoming -ve, and since they are unsigned resulting in a huge +ve number.
Looks like IE and NS4.7 work fine with this site. So there is certainly something fishy on our end.
vinay: actually, i have a feeling that this line might be the culprit: count -= *countRead; there is code that tries to ignore some garbage before the status line... it searches forward for the string HTTP. unfortunately, that seems to be matching the wrong thing in this case, because the response is really HTTP/0.9... ie. sent without any headers.
Attached file purify log
Lost of fatal errors in the purify log
Lost ==> lots 1. Purify logs indicate a lot of fatal errors. 2. Although as far as looking at the n/w bytes from the debugger, comment #7 is still valid, given that a. IE, Nav4.7 work fine. b. Given the purify errors, I'am not convinced that the problem is that the server is returning back just the body and no status-line/headers. Also, looks like the server we are talking to is IIS that has identified itself already as 1.1 server. So it cannot be sending back 0.9 responses. 3. At the end of this there may still be an issue with nsHttpTransaction::ParseHead. 4. Always keep getting the assertion ###!!! ASSERTION: Wrong Document Channel: 'request == mDocumentRequest', file nsDocLoader.cpp, line 1292 ###!!! Break: at file nsDocLoader.cpp, line 1292 Can we get someone from the docloader/XMLdocument groups to take a look at the above ?
*** This bug has been marked as a duplicate of 103757 ***
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
Verified dupe.
Status: RESOLVED → VERIFIED
QA Contact: tever → junruh
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: