Latest commits regarding caching break things

  • [X] I’m using stock docker compose setup, unmodified.
  • [ ] I’m using docker compose setup, with modifications (modified .yml files, third party plugins/themes, etc.) - if so, describe your modifications in your post. Before reporting, see if your issue can be reproduced on the unmodified setup.
  • [ ] I’m not using docker on my primary instance, but my issue can be reproduced on the aforementioned docker setup and/or official demo.

Having watchtower updated my tt-rss instance to Tiny Tiny RSS v22.11-9732d8f I cannot read Posts anymore.

Logs show:

Uncaught Error: Interface “Cache_Adapter” not found in /var/www/html/tt-rss/classes/diskcache.php:2
Stack trace:
#0 /var/www/html/tt-rss/include/autoload.php(12): include()
#1 /var/www/html/tt-rss/classes/rssutils.php(1680): {closure}()
#2 /var/www/html/tt-rss/update.php(260): RSSUtils::housekeeping_common()
#3 {main}
thrown

  • Platform (i.e. Linux distro, Docker, PHP, PostgreSQL, etc) versions:
    Docker image / static_dockerhub - Branch

the classes/cache directory did not make into my installation. I am not yet sure why, because commit ids match between settings page and git.tt-rss.org

Ideas anyone?

I have the same issue. Did a normal upgrade (no watchtower) and the same happened to my install. Stock docker compose, unmodified also.

Think, I got it…

https://git.tt-rss.org/fox/ttrss-docker-compose.git/tree/src/app/startup.sh?h=static-dockerhub#n38

We exclude “cache” when rsyncing; and hence both directories /cache and /classes/cache.

Anyone with active an gitea-account? I lost mine during one of the last moves.

Temporary workaround; as the files are actually in the container one can manually copy the from the container image.

docker image inspect cthulhoo/ttrss-fpm-pgsql-static:latest 

look for

                "UpperDir": "/var/lib/docker/overlay2/[...]/diff"

There one can find ./src/tt-rss/classes/cache and copy this directory to the volume configured for the containers.

i copied the cached folder, still same error

I don’t seen to be able to find those files at all. Copied from where precisely?

I am having the same issue.

Pull requested.

As a temporary fix, you can download the fixed startup.sh and bind mount the file in docker-compose.yml by adding

- ./startup.sh:/opt/tt-rss/startup.sh:ro

to the volume sections of the app and updater services (and recreate/-start the services afterwards).
You might have to chmod +x startup.sh as well.

Edit: adjusted link.

thanks, PR is merged and CI is building a hopefully fixed image.

note that you can (almost) always rollback to an earlier docker hub tag if :latest is broken somehow.

Is there a fix for this if you aren’t using docker? I use git (old school) and am seeing the similar error.
PHP Fatal error: Uncaught Error: Call to undefined method DiskCache::instance() in /var/www/html/tt-rss/classes/article.php:450\nStack trace:\n#0 /var/www/html/tt-rss/classes/article.php(300): Article::_get_enclosures()\n#1 /var/www/html/tt-rss/classes/feeds.php(317): Article::_format_enclosures()\n#2 /var/www/html/tt-rss/classes/feeds.php(542): Feeds->_format_headlines_list()\n#3 /var/www/html/tt-rss/backend.php(136): Feeds->view()\n#4 {main}\n thrown in /var/www/html/tt-rss/classes/article.php on line 450

i have no idea how would one become affected by an issue in a container startup script while not using the container.

https://dev.tt-rss.org/tt-rss/tt-rss/src/branch/master/classes/diskcache.php#L201
https://dev.tt-rss.org/tt-rss/tt-rss/src/branch/master/classes/article.php#L450

whatever you use, you obviously can’t maintain properly.