This is surely caused by two things: desktopcouch-service does not start couchdb directly (normal), and if couchdb has never been started, then the log file does not exist. Since the get_port code does not expect a log file never to exist, the first call (and all subsequent) to get_port fails.
When we continue using the log-searching code, then we must catch OSErrors and treat them as no port found.
This is surely caused by two things: desktopcouch- service does not start couchdb directly (normal), and if couchdb has never been started, then the log file does not exist. Since the get_port code does not expect a log file never to exist, the first call (and all subsequent) to get_port fails.
When we continue using the log-searching code, then we must catch OSErrors and treat them as no port found.
For now, reverting to the /proc searching code.