Closed
Bug 86133
Opened 23 years ago
Closed 23 years ago
Conn+DNS: no "could not be found" dialog for DNS errors
Categories
(Core :: Networking: HTTP, defect, P3)
Core
Networking: HTTP
Tracking
()
VERIFIED
FIXED
mozilla0.9.2
People
(Reporter: buggage1999, Assigned: darin.moz)
References
()
Details
(Keywords: regression, Whiteboard: critical for 0.9.2, r=gagan, sr=waterson, a=blizzard for 0.9.2 PDT+, checked in on the trunk)
Attachments
(3 files)
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
patch
|
Details | Diff | Splinter Review |
From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:0.9.1+) Gecko/20010615 BuildID: 2001061504 2001061504 When entering or trying to go to a non-existant url like the one above, there is no message 'this website can't be found'. It simply stops looking and gives no info. Reproducible: Always Steps to Reproduce: 1. Go to a bad url 2. 3. Actual Results: No message Expected Results: Should get the 'website cannot be located' message
Comment 1•23 years ago
|
||
Indeed. I saw this yesterday and didn't realize what was happening.
Comment 2•23 years ago
|
||
confirmed on Win2K, WinXP, same build. worked fine a few days ago.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 4•23 years ago
|
||
CC:Gordon Gordon this seem to be a regression of your DNS landing
Keywords: regression
Comment 6•23 years ago
|
||
changing OS to All; this looks to be a bigger problem than first thought
In my tests before I landed my changes, I was still get the dialog reporting the unknown host, so at first glance I don't think this is a problem with the DNS code. It is still reporting the same errors it always was. I'll investigate further.
Status: NEW → ASSIGNED
Priority: -- → P3
Target Milestone: --- → mozilla0.9.2
Comment 9•23 years ago
|
||
We are talking about the fix in bug 85802 or something even before that, right? changed summary, cleaned dupes.
Summary: bad url's dont tell you they cannot be found → DNS: no "could not be found" dialog for DNS errors
Comment 10•23 years ago
|
||
By the way, the DNS service knows nothing about this dialog. It's displayed by UI code higher up the chain.
Comment 11•23 years ago
|
||
*** Bug 86485 has been marked as a duplicate of this bug. ***
Comment 13•23 years ago
|
||
*** Bug 86703 has been marked as a duplicate of this bug. ***
Comment 14•23 years ago
|
||
*** Bug 86793 has been marked as a duplicate of this bug. ***
Comment 15•23 years ago
|
||
Gordon, can we make this P1?
Comment 16•23 years ago
|
||
*** Bug 86963 has been marked as a duplicate of this bug. ***
Updated•23 years ago
|
Whiteboard: critical for 0.9.2
Comment 17•23 years ago
|
||
I've noticed that the dialog that you would normally get when the connection was refused to a server isn't being thrown either. It's not just DNS.
Summary: DNS: no "could not be found" dialog for DNS errors → Conn+DNS: no "could not be found" dialog for DNS errors
Comment 18•23 years ago
|
||
gordon, can we get an update on where you are with this one?
Whiteboard: critical for 0.9.2 → critical for 0.9.2, need status update and ETA
Comment 19•23 years ago
|
||
I am not looking at this bug. Gagan said he would look into it. It almost certainly doesn't have anything to do with the DNS service.
Comment 20•23 years ago
|
||
bug 87293 is a possible dup jake
Comment 21•23 years ago
|
||
taking over for investigation...
Assignee: gordon → gagan
Status: ASSIGNED → NEW
Comment 23•23 years ago
|
||
Not sure if this is related, but if you type a url like: foo:8080/ or even: localhost:8080/ you get the following javascript error: Error: uncaught exception: [Exception... "Component returned failure code: 0x804b0012 [nsIIOService.newURI]" nsresult: "0x804b0012 (<unknown>)" location: "JS frame :: chrome://navigator/content/sessionHistoryUI.js :: addToUrlbarHistory :: line 141" data: no] and then, of course you get no message saying "location not found", or whatever However, if you put http:// in front of it: http://foo:8080 Or just do: foo you don't get the javascript error, but, of course still experience the main problem of this bug. if you use: http://localhost:8080/ everything works just fine (as long as you have a server there, which I do). Jake
Comment 24•23 years ago
|
||
sorry, the behavior I just mentioned is covered by bug 87250 Jake
Comment 25•23 years ago
|
||
*** Bug 87591 has been marked as a duplicate of this bug. ***
Comment 26•23 years ago
|
||
*** Bug 87595 has been marked as a duplicate of this bug. ***
Comment 27•23 years ago
|
||
This is a 0.9.2 bug. What's going on with this bug?
Updated•23 years ago
|
Whiteboard: critical for 0.9.2, need status update and ETA → critical for 0.9.2, need status update and ETA; no patch
Comment 28•23 years ago
|
||
The problem is that http fires the OnStopRequest before it knows about any content type. When the URILoader asks this http channel about the content type, the function returns an error now. I have modified the URILoader to know about this error, and the problem goes away. However, I think that the real bug is that http returns an error in the first place. It should just return "UNKNOWN_CONTENT_TYPE" if the |mResponseHead| is not present.
Whiteboard: critical for 0.9.2, need status update and ETA; no patch → critical for 0.9.2, need status update and ETA
Comment 29•23 years ago
|
||
Comment 30•23 years ago
|
||
Comment 31•23 years ago
|
||
Either of the two above fixes will work. I tend to feel that the first one is more correct, but Darin does have a case if he disagrees. Both of the patches will assert because http still returns an error if the content type is set before the mResponseHead is present. Darin, gagan, lets pick between these two patches, give one of them an r=, and lets get this approved to be checked in.
Comment 32•23 years ago
|
||
Just as I found the same thing (though the hard way) Mr. Dougt submits a patch! :-) r=gagan on the second patch. I wouldn't approve of the HTTP patch since at the very least it should fail with a different reason (not unknown_content_type)
Assignee: gagan → dougt
Assignee | ||
Comment 33•23 years ago
|
||
in the error case, HTTP will _never_ know a content-type, because there is no response from the server (a connection couldn't be established)... thus no mResponseHead. without a response from the server (mResponseHead==NULL), GetContentType() returns NS_ERROR_NOT_AVAILABLE. i think this is reasonable and correct behavior... returning UNKNOWN_CONTENT_TYPE in this case is IMO be both misleading and unnecessary. also, your first patch can result in an infinite loop (i forget the bug number). this is because SetContentType() will fail (mResponseHead==NULL), which can lead to an infinite loop between the uriloader and the unknown content converter. i suspect your second patch will also have this problem. why do we need to fake the content type to report the "host not found" error? also, mozilla0.9.1 doesn't have this problem, and the code in nsHttpChannel::GetContentType has not changed since before 0.9.1, so how could it be the cause of the problem?
Comment 34•23 years ago
|
||
Found the *real* problem. A cancel is called on nsHttpTransation with the error code NS_ERROR_NOT_AVAILABLE. This overwrites the previous mStatus which was host_not_found. NS_ERROR_NOT_AVAILABLE is not recognized by the webshell as any status that it should put up an dialog for.... Over to darin. Darin, maybe we should only set mStatus if it is not an error... That should fix this problem.
Assignee: dougt → darin
Assignee | ||
Comment 35•23 years ago
|
||
good job tracking this down :-) we're likely returning NS_ERROR_NOT_AVAILABLE from OnStartRequest, which causes the request (in this case the HTTP transaction) to be canceled. we could simply patch this as you suggest (and maybe that is the best thing to do in order to prevent this sort of regression in the future), but i wonder if this isn't indicative of something more being incorrect.
Assignee | ||
Comment 36•23 years ago
|
||
Assignee | ||
Comment 37•23 years ago
|
||
i thought about fixing nsRequestObserverProxy to not call Cancel if NS_FAILED(request->Status), but that may incorrect, since some channel implementations may depend on the Cancel to drive OnStopRequest... not that i can think of any such channels but it doesn't seem that far fetched. at any rate, this problem was easily fixed in nsHttpTransaction::Cancel.
Comment 38•23 years ago
|
||
r=gagan on last patch
Assignee | ||
Updated•23 years ago
|
Keywords: patch
Whiteboard: critical for 0.9.2, need status update and ETA → critical for 0.9.2, r=gagan, sr=?, a=?
Comment 39•23 years ago
|
||
sr=waterson
Assignee | ||
Updated•23 years ago
|
Whiteboard: critical for 0.9.2, r=gagan, sr=?, a=? → critical for 0.9.2, r=gagan, sr=waterson
Assignee | ||
Comment 40•23 years ago
|
||
fix checked into the trunk... hoping to land this on the 0.9.2 branch as well.
Status: NEW → ASSIGNED
Comment 41•23 years ago
|
||
Lets land this on the branch the fix is small and safe.
Keywords: nsBranch
Whiteboard: critical for 0.9.2, r=gagan, sr=waterson → critical for 0.9.2, r=gagan, sr=waterson, PDT+
Assignee | ||
Updated•23 years ago
|
Whiteboard: critical for 0.9.2, r=gagan, sr=waterson, PDT+ → critical for 0.9.2, r=gagan, sr=waterson, PDT+, checked in on the trunk
Comment 42•23 years ago
|
||
just replacing nsbeta2->nsbeta1 since nobody seems to use nsbeta2 anymore
Comment 43•23 years ago
|
||
a=blizzard on behalf of drivers for 0.9.2. If you guys don't have a branch build I can check it in for you to get this done faster. Let me know.
Whiteboard: critical for 0.9.2, r=gagan, sr=waterson, PDT+, checked in on the trunk → critical for 0.9.2, r=gagan, sr=waterson, a=blizzard for 0.9.2 PDT+, checked in on the trunk
Assignee | ||
Comment 44•23 years ago
|
||
fix checked in to the 0.9.2 branch
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Comment 45•23 years ago
|
||
VERIFIED: All plats, 07-17-03-0.9.2 commercial final candidate build. DNS failure and connection failures do error. +vtrunk - I think this still needs trunk verification b/c I also tested this on NS 6.1b1, which was still off the branch...
Status: RESOLVED → VERIFIED
Keywords: vtrunk
You need to log in
before you can comment on or make changes to this bug.
Description
•