Closed Bug 357965 Opened 18 years ago Closed 9 years ago

Server sending "bad" 304 makes nsSyncLoadService loop endlessly

Categories

(Core :: Networking, defect)

defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: allan, Unassigned)

Details

Hmm, I wish I had a small tescase for this, but here it goes. If I have a server, which is quite stupid, and always returns 304 no matter what, then the second call to loadDocumentAsXML() for the same URI never returns. I believe this is what happens. first load: 1. nsHttpChannel tries to load the URI 2. gets a 304, but does not find it in the cache, and does a full load 3. gets a 304 again, stashes the empty content in the cache, and returns second load: 4. nsHttpChannel tries to load the URI 5. gets a 304, finds it in the cache (empty content), and returns that Problem is that for some reason, the second time, the returned content does not trigger any of the events that nsSyncLoadService is waiting for (nsIDOMLoadListener::Load, Abort, or Error), so it never sets mLoading to false, and nsSyncLoader::PushAsyncStream() never breaks out of its loop. (yeah, yeah, never use the SyncLoad service, I know :) )
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.