Firefox is not displaying rss.xml files starting with v 31

RESOLVED FIXED in Firefox 34

Status

defect
RESOLVED FIXED
5 years ago
6 months ago

People

(Reporter: marc, Assigned: Gijs)

Tracking

31 Branch
Firefox 34
x86
macOS
Bug Flags:
firefox-backlog +
qe-verify -

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

Reporter

Description

5 years ago
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Firefox/31.0 (Beta/Release)
Build ID: 20140716183446

Steps to reproduce:

point Firefox v31 at any rss.xml file
for example, http://fm.kuac.org/feeds/term/1114/rss.xml


Actual results:

Firefox produces partial display of page - see attached screen capture


Expected results:

previous versions would display the feed items.
Assignee

Comment 1

5 years ago
This works for me - can you try restarting with add-ons disabled (Help > Restart with add-ons disabled) to check if it's being caused by one of your add-ons? If it isn't, can you open the browser console (cmd-shift-j), clear it, and then open the feed and see if you see any errors appear when the page is loading / loads?
Flags: needinfo?(marc)
Reporter

Comment 2

5 years ago
restart with add-ons disable produces same result.
log shows error

 Use of Mutation Events is deprecated. Use MutationObserver instead. menulist.xml:240
 readerURI is null FeedWriter.js:1346
Flags: needinfo?(marc)
Reporter

Comment 3

5 years ago
An example from another feed:

readerURI is null FeedWriter.js:1346
NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "readerURI is null" {file: "resource://app/components/FeedWriter.js" line: 1346}]'[JavaScript Error: "readerURI is null" {file: "resource://app/components/FeedWriter.js" line: 1346}]' when calling method: [nsIDOMGlobalPropertyInitializer::init] subscribe.js:13
TypeError: this._feedWriter is null
Assignee

Comment 4

5 years ago
I was contacted privately about this bug where this occurred under slightly different conditions. I think we should harden the feedwriter code to deal with error conditions such as the relevant webservice prefs being missing / invalid, and here with the URI being invalid (in which case we should probably skip the feed reader in the list of options). Setting needinfo so I don't forget to look at this this week.
Status: UNCONFIRMED → NEW
Component: Untriaged → RSS Discovery and Preview
Ever confirmed: true
Flags: needinfo?(gijskruitbosch+bugs)
Flags: firefox-backlog+
Flags: qe-verify?
Assignee

Comment 5

5 years ago
(In reply to marc from comment #3)
> An example from another feed:
> 
> readerURI is null FeedWriter.js:1346
> NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS: [JavaScript Error: "readerURI is
> null" {file: "resource://app/components/FeedWriter.js" line:
> 1346}]'[JavaScript Error: "readerURI is null" {file:
> "resource://app/components/FeedWriter.js" line: 1346}]' when calling method:
> [nsIDOMGlobalPropertyInitializer::init] subscribe.js:13
> TypeError: this._feedWriter is null

Can you still reproduce this error, and if so, can you please do the following:

0. Open the feed that shows this error
1. Open the web developer tools (cmd-option-k)
2. Switch to the web developer settings (gear icon)
3. Toggle "Enable chrome and addon debugging"
4. open the browser console (cmd-shift-j)
5. Run the following:

var wccr = Cc["@mozilla.org/embeddor.implemented/web-content-handler-registrar;1"].
               getService(Ci.nsIWebContentConverterService);

for (let handler of wccr.getContentHandlers("application/vnd.mozilla.maybe.feed")) {
  console.log(handler.name, handler.uri);
}

for (let handler of wccr.getContentHandlers("application/vnd.mozilla.maybe.audio.feed")) {
  console.log(handler.name, handler.uri);
}

for (let handler of wccr.getContentHandlers("application/vnd.mozilla.maybe.video.feed")) {
  console.log(handler.name, handler.uri);
}

and copy/paste the output here? I'm trying to figure out how this got to be so broken. :-)

I'll attach a patch shortly that addresses the broken state, but it'd still be good to understand how this even happens.
Flags: needinfo?(gijskruitbosch+bugs) → needinfo?(marc)
Assignee

Comment 6

5 years ago
Reproducing the pref being gone isn't difficult. Just set your feeds to always be done by My Yahoo (which we ship as a handler) and then in about:config remove the browser.feeds.handlers.webservice pref (reset). This is probably due to an add-on not cleaning up (I saw remnants of an add-on called microrss in the data that was emailed to me). We null-check all the other prefs, so it seems like we should be checking this one, too. The readerURI error from comment #3, I'm not sure how to reproduce - but if the uri is null, we should just not list it as an option, so I added a check for that. Trying to figure out how this is happening in comment #5, but I suspect the fix will be the same.
Attachment #8479754 - Flags: review?(jaws)
Assignee

Updated

5 years ago
Assignee: nobody → gijskruitbosch+bugs
Status: NEW → ASSIGNED
Assignee

Updated

5 years ago
Flags: qe-verify? → qe-verify-
Assignee

Comment 7

5 years ago
Marco, can you add this?
Iteration: --- → 34.3
Points: --- → 2
Flags: needinfo?(mmucci)
Reporter

Comment 8

5 years ago
Output from console->

"My Yahoo!" "https://add.my.yahoo.com/rss?url=%s"
""
Flags: needinfo?(marc)
Reporter

Comment 9

5 years ago
Sorry for what is likely a silly question,  but doesn't use of https://add.my.yahoo.com/rss?url=%s require authentication in to Yahoo?
Assignee

Comment 10

5 years ago
(In reply to marc from comment #9)
> Sorry for what is likely a silly question,  but doesn't use of
> https://add.my.yahoo.com/rss?url=%s require authentication in to Yahoo?

Yes, but that's not the issue here. The issue is the extra line with an empty string.

If you run:

wccr.getContentHandlers("application/vnd.mozilla.maybe.feed").length

is that 2? (same question for the audio and video variants, ie replacing the bit in quotes with "application/vnd.mozilla.maybe.audio.feed" and "application/vnd.mozilla.maybe.video.feed")
Added to IT 34.3
Flags: needinfo?(mmucci)
Reporter

Comment 12

5 years ago
maybe produces 2, video produces 0, audio produces 0
Assignee

Comment 13

5 years ago
(In reply to marc from comment #12)
> maybe produces 2, video produces 0, audio produces 0

Right. And it's the second, empty, entry for 'maybe.feed' that is the issue here. Sadly, because the name is empty, I have no idea what was responsible for putting it there, but it sure is broken. :-\
Attachment #8479754 - Flags: review?(jaws) → review+
Assignee

Comment 14

5 years ago
remote:   https://hg.mozilla.org/integration/fx-team/rev/b48dd68342d7
Whiteboard: [fixed-in-fx-team]
https://hg.mozilla.org/mozilla-central/rev/b48dd68342d7
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 34

Updated

6 months ago
Product: Firefox → Firefox Graveyard
You need to log in before you can comment on or make changes to this bug.