Closed Bug 394622 Opened 17 years ago Closed 13 years ago

parseAsync() fails when parsing RDF feeds

Categories

(Firefox Graveyard :: RSS Discovery and Preview, defect)

2.0 Branch
x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: mikek01, Unassigned)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6

The following error message is dumped to the console when using parseAsync() to parse an RDF feed: -

Error: [Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsISAXXMLReader.onDataAvailable]"  nsresult: "0x80004002 (NS_NOINTERFACE)"  location: "JS frame :: file:///C:/Program%20Files/Mozilla%20Firefox/components/FeedProcessor.js :: FP_onDataAvailable :: line 1208"  data: no]
Source File: file:///C:/Program%20Files/Mozilla%20Firefox/components/FeedProcessor.js Line: 1208

If the same feed is parsed using parseFromString(), it works just fine.

Here is a feed that can be used to see the problem - http://boston.craigslist.org/search/sss?query=trailer&minAsk=min&maxAsk=max&format=rss

Reproducible: Always

Actual Results:  
parseAsync() fails

Expected Results:  
parseAsync() should produce the same result as parseFromString() does.
Actually, I think you'll find it's not a matter of RDF-or-not, but a matter of served as text/html-or-not.
Status: UNCONFIRMED → RESOLVED
Closed: 17 years ago
Resolution: --- → DUPLICATE
Ooooops! Thanks Phil! I've sorted the problem by forcing the content type.
There is still a problem with nsIFeedProcessor. Even if the content type is forced to application/xml. If the XML is not well formed, it fails with the same error.

From what I can see fatalError: function FP_reportError() {} calls this._sendResult(); and _sendResult sets this._reader = null. So by the time onStopRequest is called this._reader = null and the attached nsIRequestObserver's onStopRequest is never called. It can't be called because this._reader = null

There are ways to work around the problem but it leaves an ugly leak in the calling code. i.e. The attached nsIRequestObserver is left dangling.
Status: RESOLVED → UNCONFIRMED
Resolution: DUPLICATE → ---
That, I believe, would be bug 388275
Mike: Are you still seeing the issue from comment #3 on Firefox 3.5?
Closing bug as Incomplete - if you are still experiencing this issue or have more information to provide feel free to post back here and we can re-open the bug. You can also get assistance by visiting the Firefox help site -> http://support.mozilla.com/en-US/kb/Ask+a+question
Status: UNCONFIRMED → RESOLVED
Closed: 17 years ago13 years ago
Resolution: --- → INCOMPLETE
Version: unspecified → 2.0 Branch
Product: Firefox → Firefox Graveyard
You need to log in before you can comment on or make changes to this bug.