To reiterate, this topic is about this error:
Q: What does this error mean?
A: In the nutshell, it means that for some reason tt-rss frontend (the client-side part) couldn't parse the XML object returned by the backend (the server-side part) on the request to load feed headlines.
Q: Why does this error get special treatment?
A: Because I'm tired of explaining how to debug it. Also, loading headlines is one of the most common and, unfortunately, error-prone operations in tt-rss.
Q: So, why does this happen?
A: This could be caused by a variety of reasons. Three most probable are: 1) Server-side problem; 2) Client-side problem; 3) Bug in tt-rss.
1) Server-side problem. Basically, this means that something on the server prevents tt-rss from working properly. This could be caused by wrong settings in tt-rss' config.php, some PHP modules missing, incompatible PHP built options, or something else entirely. We'll get back to debugging this later. I'd like to notice that people seem to go to frightening lengths to break tt-rss. For example, recently I had a "bug report" from a guy who didn't copy all the new files when upgrading to the new version. One would think this sort of thing would be obvious, but alas.
2) Client-side problem. This means your browser. For example, some browser extensions prevents xml-http requests tt-rss makes from completing normally (Hello, Firebug!) or just plainly fucks with the Javascript code (Hello again, Firebug!). Maybe you got cookies disabled because you are afraid of aliens conspiring against you through delicious cookies. To debug this, try loading tt-rss in a blank browser profile and/or browser safe mode of some sort without extensions and plugins.
3) A bug in tt-rss. Usually this causes a server-side problem, so the steps to debug this are the same as 1).
Q: How do I debug a potential server-side problem?
A: Easy. First of all, figure out which feed can't get loaded. That should be written in the error message near the top of the Additional information box. In the attached screenshot, this is feed -3 (Fresh articles).
Then, try loading the feed in the browser (preferably, Firefox) manually, like this:
- Code: Select all
http://yourhost.org/path/to/tt-rss/backend.php?op=viewfeed&feed=-3
Then you should see whether the XML received is actually there and valid. If it is valid, then you are experiencing a client-side problem. Most probably, it won't be, so you'll see something like this:
Then, you figure out what exactly is broken. You can view source and go manually checking tags, you can try saving the file and loading it in some sort of XML parsing program, or you can just scroll right:
Oh look, what's that "ONOZ <" doing in there? It really shouldn't be there. That's not valid XML, is it? Turns out, I have added this to backend.php to make all the pretty screenshots:
Let'remove this line and reload the feed:
Well, looks like it's valid now.
This was, naturally, just an example. Usually you will see some sort of SQL query error, parse error, or some other sort of error in the broken XML. Do accordingly or, if you don't know what to do, post your error in this thread and we'll help you figure it out.
