FIXED: see reply below. (also fixed my embarrassing misspelling of “OPML” in subject
)
I’m trying to migrate to a recent Docker installation, version v21.12-7aeaa1b.
In a newly created Power User account, I’m trying to import an OPML export from an older self-hosted installation v20.05-c8243b03c (postgres DB) and getting the not-very-helpful message “Error while parsing document.”
“docker-compose logs app” says nothing at all during OPML import.
“docker-compose logs web-nginx” says only this:
web-nginx_1 | 192.168.1.34 - - [17/Jan/2022:16:07:02 +0000] "POST /tt-rss/backend.php HTTP/1.1" 200 5660 "http://192.168.1.114:8280/tt-rss/prefs.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"
web-nginx_1 | 192.168.1.34 - - [17/Jan/2022:16:07:02 +0000] "GET /tt-rss/backend.php?op=pref-feeds&method=getfeedtree HTTP/1.1" 200 295 "http://192.168.1.114:8280/tt-rss/prefs.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"
web-nginx_1 | 192.168.1.34 - - [17/Jan/2022:16:07:03 +0000] "POST /tt-rss/backend.php HTTP/1.1" 200 12 "http://192.168.1.114:8280/tt-rss/prefs.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"
web-nginx_1 | 192.168.1.34 - - [17/Jan/2022:16:07:03 +0000] "POST /tt-rss/backend.php HTTP/1.1" 200 12 "http://192.168.1.114:8280/tt-rss/prefs.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"
web-nginx_1 | 127.0.0.1 - - [17/Jan/2022:16:07:04 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 948 "-" "curl/7.69.1"
web-nginx_1 | 192.168.1.34 - - [17/Jan/2022:16:07:06 +0000] "POST /tt-rss/backend.php HTTP/1.1" 200 168 "http://192.168.1.114:8280/tt-rss/prefs.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"
web-nginx_1 | 2022/01/17 16:07:23 [warn] 30#30: *40 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000003, client: 192.168.1.34, server: , request: "POST /tt-rss/backend.php HTTP/1.1", host: "192.168.1.114:8280", referrer: "http://192.168.1.114:8280/tt-rss/prefs.php"
web-nginx_1 | 192.168.1.34 - - [17/Jan/2022:16:07:24 +0000] "POST /tt-rss/backend.php HTTP/1.1" 200 45 "http://192.168.1.114:8280/tt-rss/prefs.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"
(improved the log for readability…)
The OPML is 18kB, less than 100 feeds.
I don’t expect anyone to be able to say anything from this. I want to investigate it, but where in the docker setup do I begin looking for logs that say anything? Or how do I increase error logging?
So it seems the OPML file ends up OK as a temporary file in the web-nginx container, and DOMDocument->load() doesn’t like it… Have to convince that one to tell me more…
Ok… so there were two blank lines at the beginning of the OPML export. Don’t know where they came from, but after removing them, the import ran just fine… case closed,
fox
4
the usual cause is blank space somewhere outside of php tags, most likely config.php.
There are actually two (2) blank lines at the end of config.php in my old installation. Do you mean that those lines are somehow written into an OPML export from that installation?
EDIT: Yeah, they are! Changed them to four lines - exported again - now four blank lines in OPML output. One never ceases to be amazed at how things work. 
fox
6
that’s how php works. you can look up the details on google.
stuff like this is one of the reasons there’s no config.php anymore.