nextcloud / news

📰 RSS/Atom feed reader
https://apps.nextcloud.com/apps/news
GNU Affero General Public License v3.0
865 stars 185 forks source link

NC 22.2.0 Docker upgrade: Error: Class "FeedIo\FeedIo" not found #1523

Closed StuartJMackintosh closed 3 years ago

StuartJMackintosh commented 3 years ago

IMPORTANT

Explain the Problem

[no app in context] Error: Class "FeedIo\FeedIo" not found
GET /ocs/v2.php/search/providers?from=%2Fapps%2Ffiles%2F

An unhandled exception has been thrown:
Error: Class "FeedIo\FeedIo" not found in /var/www/html/apps/news/lib/AppInfo/Application.php:130
Stack trace:
#0 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(160): OCA\News\AppInfo\Application->OCA\News\AppInfo\{closure}(Object(OC\AppFramework\DependencyInjection\DIContainer))
#1 /var/www/html/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(Pimple\Container))
#2 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(127): Pimple\Container->offsetGet('FeedIo\\FeedIo')
#3 /var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php(454): OC\AppFramework\Utility\SimpleContainer->query('FeedIo\\FeedIo')
#4 /var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php(432): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback('FeedIo\\FeedIo')
#5 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(87): OC\AppFramework\DependencyInjection\DIContainer->query('FeedIo\\FeedIo', true)
#6 [internal function]: OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(ReflectionParameter))
#7 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(106): array_map(Object(Closure), Array)
#8 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(114): OC\AppFramework\Utility\SimpleContainer->buildClass(Object(ReflectionClass))
#9 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(131): OC\AppFramework\Utility\SimpleContainer->resolve('OCA\\News\\Comman...')
#10 /var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php(460): OC\AppFramework\Utility\SimpleContainer->query('OCA\\News\\Comman...')
#11 /var/www/html/lib/private/ServerContainer.php(145): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback('OCA\\News\\Comman...')
#12 /var/www/html/lib/private/Console/Application.php(215): OC\ServerContainer->query('OCA\\News\\Comman...')
#13 /var/www/html/lib/private/Console/Application.php(128): OC\Console\Application->loadCommandsFromInfoXml(Array)
#14 /var/www/html/console.php(98): OC\Console\Application->loadCommands(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /var/www/html/occ(11): require_once('/var/www/html/c...')

Steps to Reproduce

  1. docker-compose pull to update Nextcloud
  2. Visit apps (or use command-line) to install News
  3. The above trace is created

Note that any occ command now also produces this trace unless news is disabled.

Explain what you did to encounter the issue

Upgraded, then installed News

System Information

Contents of nextcloud/data/nextcloud.log ```json {"reqId":"YoxhXzNYBK6ezfcdBOFP","level":3,"time":"2021-10-04T13:43:10+00:00","remoteAddr":"xx.xx.xx.xx","user":"sjm","app":"no app in context","method":"GET","url":"/ocs/v2.php/search/providers?from=%2Fapps%2Ffiles%2F","message":"Class \"FeedIo\\FeedIo\" not found","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:92.0) Gecko/20100101 Firefox/92.0","version":"22.2.0.2","exception":{"Exception":"Exception","Message":"Class \"FeedIo\\FeedIo\" not found","Code":0,"Trace":[{"file":"/var/www/html/lib/private/AppFramework/App.php","line":156,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OC\\Core\\Controller\\UnifiedSearchController"},"getProviders"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":301,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OC\\Core\\Controller\\UnifiedSearchController","getProviders",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"ocs.core.UnifiedSearch.getProviders"}]},{"file":"/var/www/html/ocs/v1.php","line":62,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/ocsapp/search/providers"]},{"file":"/var/www/html/ocs/v2.php","line":23,"args":["/var/www/html/ocs/v1.php"],"function":"require_once"}],"File":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","Line":158,"Previous":{"Exception":"Error","Message":"Class \"FeedIo\\FeedIo\" not found","Code":0,"Trace":[{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":160,"function":"OCA\\News\\AppInfo\\{closure}","class":"OCA\\News\\AppInfo\\Application","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/3rdparty/pimple/pimple/src/Pimple/Container.php","line":118,"function":"OC\\AppFramework\\Utility\\{closure}","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":127,"function":"offsetGet","class":"Pimple\\Container","type":"->","args":["FeedIo\\FeedIo"]},{"file":"/var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":454,"function":"query","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["FeedIo\\FeedIo"]},{"file":"/var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":432,"function":"queryNoFallback","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["FeedIo\\FeedIo"]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":87,"function":"query","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["FeedIo\\FeedIo",true]},{"function":"OC\\AppFramework\\Utility\\{closure}","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":106,"function":"array_map","args":[{"__class__":"Closure"},["*** sensitive parameter replaced ***",{"name":"favicon","__class__":"ReflectionParameter"},{"name":"scraper","__class__":"ReflectionParameter"},{"name":"l10n","__class__":"ReflectionParameter"},{"name":"ITempManager","__class__":"ReflectionParameter"},{"name":"time","__class__":"ReflectionParameter"},{"name":"logger","__class__":"ReflectionParameter"}]]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":114,"function":"buildClass","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":[{"name":"OCA\\News\\Fetcher\\FeedFetcher","__class__":"ReflectionClass"}]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":131,"function":"resolve","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\News\\Fetcher\\FeedFetcher"]},{"file":"/var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":460,"function":"query","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\News\\Fetcher\\FeedFetcher"]},{"file":"/var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":432,"function":"queryNoFallback","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["OCA\\News\\Fetcher\\FeedFetcher"]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":87,"function":"query","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["OCA\\News\\Fetcher\\FeedFetcher",true]},{"function":"OC\\AppFramework\\Utility\\{closure}","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":106,"function":"array_map","args":[{"__class__":"Closure"},[{"name":"mapper","__class__":"ReflectionParameter"},"*** sensitive parameter replaced ***",{"name":"itemService","__class__":"ReflectionParameter"},{"name":"explorer","__class__":"ReflectionParameter"},{"name":"purifier","__class__":"ReflectionParameter"},{"name":"logger","__class__":"ReflectionParameter"}]]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":114,"function":"buildClass","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":[{"name":"OCA\\News\\Service\\FeedServiceV2","__class__":"ReflectionClass"}]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":131,"function":"resolve","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\News\\Service\\FeedServiceV2"]},{"file":"/var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":460,"function":"query","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\News\\Service\\FeedServiceV2"]},{"file":"/var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":432,"function":"queryNoFallback","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["OCA\\News\\Service\\FeedServiceV2"]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":87,"function":"query","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["OCA\\News\\Service\\FeedServiceV2",true]},{"function":"OC\\AppFramework\\Utility\\{closure}","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":106,"function":"array_map","args":[{"__class__":"Closure"},[{"name":"mapper","__class__":"ReflectionParameter"},"*** sensitive parameter replaced ***",{"name":"timeFactory","__class__":"ReflectionParameter"},{"name":"logger","__class__":"ReflectionParameter"}]]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":114,"function":"buildClass","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":[{"name":"OCA\\News\\Service\\FolderServiceV2","__class__":"ReflectionClass"}]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":131,"function":"resolve","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\News\\Service\\FolderServiceV2"]},{"file":"/var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":460,"function":"query","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\News\\Service\\FolderServiceV2"]},{"file":"/var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":432,"function":"queryNoFallback","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["OCA\\News\\Service\\FolderServiceV2"]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":87,"function":"query","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["OCA\\News\\Service\\FolderServiceV2",true]},{"function":"OC\\AppFramework\\Utility\\{closure}","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":106,"function":"array_map","args":[{"__class__":"Closure"},[{"name":"l10n","__class__":"ReflectionParameter"},{"name":"urlGenerator","__class__":"ReflectionParameter"},"*** sensitive parameter replaced ***"]]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":114,"function":"buildClass","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":[{"name":"OCA\\News\\Search\\FolderSearchProvider","__class__":"ReflectionClass"}]},{"file":"/var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php","line":131,"function":"resolve","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\News\\Search\\FolderSearchProvider"]},{"file":"/var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php","line":460,"function":"query","class":"OC\\AppFramework\\Utility\\SimpleContainer","type":"->","args":["OCA\\News\\Search\\FolderSearchProvider"]},{"file":"/var/www/html/lib/private/ServerContainer.php","line":145,"function":"queryNoFallback","class":"OC\\AppFramework\\DependencyInjection\\DIContainer","type":"->","args":["OCA\\News\\Search\\FolderSearchProvider"]},{"file":"/var/www/html/lib/private/Search/SearchComposer.php","line":98,"function":"query","class":"OC\\ServerContainer","type":"->","args":["OCA\\News\\Search\\FolderSearchProvider"]},{"file":"/var/www/html/lib/private/Search/SearchComposer.php","line":121,"function":"loadLazyProviders","class":"OC\\Search\\SearchComposer","type":"->","args":[]},{"file":"/var/www/html/core/Controller/UnifiedSearchController.php","line":80,"function":"getProviders","class":"OC\\Search\\SearchComposer","type":"->","args":["files.View.index",[]]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":217,"function":"getProviders","class":"OC\\Core\\Controller\\UnifiedSearchController","type":"->","args":["/apps/files/"]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":126,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OC\\Core\\Controller\\UnifiedSearchController"},"getProviders"]},{"file":"/var/www/html/lib/private/AppFramework/App.php","line":156,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OC\\Core\\Controller\\UnifiedSearchController"},"getProviders"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":301,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OC\\Core\\Controller\\UnifiedSearchController","getProviders",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"ocs.core.UnifiedSearch.getProviders"}]},{"file":"/var/www/html/ocs/v1.php","line":62,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/ocsapp/search/providers"]},{"file":"/var/www/html/ocs/v2.php","line":23,"args":["/var/www/html/ocs/v1.php"],"function":"require_once"}],"File":"/var/www/html/apps/news/lib/AppInfo/Application.php","Line":130},"CustomMessage":"--"},"id":"615b08197469e"} ```
SMillerDev commented 3 years ago

Can you tell me the contents of /var/www/html/apps/news/? Specifically the folders.

StuartJMackintosh commented 3 years ago
ls /var/www/html/apps/news/*
/var/www/html/apps/news/AUTHORS.md  /var/www/html/apps/news/CHANGELOG.md  /var/www/html/apps/news/COPYING

/var/www/html/apps/news/appinfo:
info.xml  routes.php  signature.json

/var/www/html/apps/news/css:
admin.css  app.css  content.css  custom.css  explore.scss  mobile.scss  navigation.css  settings.css  shortcuts.css

/var/www/html/apps/news/img:
active_star.svg  app-512.png   arrow-white.svg  facebook.svg       favicon.ico  fulltext.svg       link.svg     pinned.svg   starred.svg   updatemodedefault.svg
add.png      app-dark.svg  arrow.svg    favicon-touch.png  favicon.png  hover_star.svg     loading.gif      rss.svg  twitter.svg   updatemodeunread.svg
app-128.png  app.svg       close.svg    favicon-touch.svg  favicon.svg  inactive_star.svg  nonfulltext.svg  starred.png  unpinned.svg

/var/www/html/apps/news/js:
admin  build

/var/www/html/apps/news/l10n:
af.js     bn_BD.js    da.js   es.js        es_DO.js    es_PA.js    et_EE.js    he.js    is.js   ko.js       mn.js   pl.js       sc.js    sr@latin.js    uk.js   zh_TW.js
af.json   bn_BD.json  da.json     es.json      es_DO.json  es_PA.json  et_EE.json  he.json  is.json ko.json     mn.json pl.json     sc.json  sr@latin.json  uk.json zh_TW.json
ar.js     br.js       de.js   es_419.js    es_EC.js    es_PE.js    eu.js       hr.js    it.js   lb.js       ms_MY.js    ps.js       si.js    sv.js      ur_PK.js
ar.json   br.json     de.json     es_419.json  es_EC.json  es_PE.json  eu.json     hr.json  it.json lb.json     ms_MY.json  ps.json     si.json  sv.json        ur_PK.json
ast.js    bs.js       de_DE.js    es_AR.js     es_GT.js    es_PR.js    fa.js       hu.js    ja.js   lo.js       nb.js   pt_BR.js    sk.js    ta.js      uz.js
ast.json  bs.json     de_DE.json  es_AR.json   es_GT.json  es_PR.json  fa.json     hu.json  ja.json lo.json     nb.json pt_BR.json  sk.json  ta.json        uz.json
az.js     ca.js       el.js   es_CL.js     es_HN.js    es_PY.js    fi.js       hy.js    ka_GE.js    lt_LT.js    nl.js   pt_PT.js    sl.js    th.js      vi.js
az.json   ca.json     el.json     es_CL.json   es_HN.json  es_PY.json  fi.json     hy.json  ka_GE.json  lt_LT.json  nl.json pt_PT.json  sl.json  th.json        vi.json
be.js     cs.js       en_GB.js    es_CO.js     es_MX.js    es_SV.js    fr.js       ia.js    km.js   lv.js       nn_NO.js    ro.js       sq.js    tr.js      zh_CN.js
be.json   cs.json     en_GB.json  es_CO.json   es_MX.json  es_SV.json  fr.json     ia.json  km.json lv.json     nn_NO.json  ro.json     sq.json  tr.json        zh_CN.json
bg.js     cy_GB.js    eo.js   es_CR.js     es_NI.js    es_UY.js    gl.js       id.js    kn.js   mk.js       oc.js   ru.js       sr.js    ug.js      zh_HK.js
bg.json   cy_GB.json  eo.json     es_CR.json   es_NI.json  es_UY.json  gl.json     id.json  kn.json mk.json     oc.json ru.json     sr.json  ug.json        zh_HK.json

/var/www/html/apps/news/lib:
AppInfo  Command  Config  Controller  Cron  Db  Explore  Fetcher  Hooks  Migration  Plugin  Scraper  Search  Service  Settings  Utility

/var/www/html/apps/news/templates:
admin.php  part.content.explore.php  part.content.shortcuts.php  part.navigation.addfeed.php    part.navigation.explore.php  part.navigation.folder.php       part.navigation.unreadfeed.php
index.php  part.content.php      part.content.warnings.php   part.navigation.addfolder.php  part.navigation.feed.php     part.navigation.starredfeed.php  part.settings.php

/var/www/html/apps/news/vendor:
andreskrey
SMillerDev commented 3 years ago

I think your download got broken somehow because there should be way more in the vendor directory.

StuartJMackintosh commented 3 years ago

ok, thanks. is there a cache file to clear? A re-install gets to the same point.

SMillerDev commented 3 years ago

Unfortunately I don't know much about the app store install process. I would imagine it's cached somewhere, but couldn't tell you where.

nachoparker commented 3 years ago

this is also happening in NC21.0.4. News cannot be installed as of today

nachoparker commented 3 years ago

It looks like the version currently in the store is not packaged properly. This is quite serious since as of today nobody can install News and if they do there will be errors going off everywhere.

I suggest the latest version be yanked from the store right away

SMillerDev commented 3 years ago

I installed a new server yesterday, with news and it's working fine.

@nachoparker are you also using docker?

nachoparker commented 3 years ago

not only docker, but also LXC, a VM and regular images (odroid, raspberry pi). Everything we do in NCP

I'll try again, but yesterday it was definitely not working

nachoparker commented 3 years ago

wow, and it works just fine today. Please disregard

Thanks

Grotax commented 3 years ago

I think when you delete a app via the Admin UI the folder is actually deleted. And when you download the app again a fresh download will be done, the appstore points to the release archive on github (in the case of news).

Maybe while unpacking the archive something went wrong. But if this was a general issue we would probably get more reports as also the update process is practically a reinstall (the DB data stays in place in any case)

nachoparker commented 3 years ago

I was able to reproduce consistently yesterday, all new builds (NCP automated builds on different containers/platforms/VMs).

Today it's all good, maybe it was something with the app store itself, not sure but I think we can close now.

I build this like 20 times a day, so I noticed right away

StuartJMackintosh commented 3 years ago

The issue is resolved for me so I will close.

However I also found that the fileystem was low on inodes which is likely to be caused by extending the underlying LVM (which adds space, but not inodes), and that a large quantity of images were uploaded, each having various thumbnails, exhausting free inodes. I can't be sure that this was not the cause in my case. Thank you for your support!