julien-nc / phonetrack

Nextcloud app to create tracking sessions to display phones position in real time and export activity to gpx.
GNU Affero General Public License v3.0
47 stars 6 forks source link

Php cron job fails on Nextcloud 29.0.0 Beta #36

Closed noxxomix closed 2 months ago

noxxomix commented 3 months ago

Since upgrading I now notice that the cron job fails with the following: Error: Class "OC\BackgroundJob\TimedJob" not found in /var/www/nextcloud/apps/phonetrack/lib/Cron/AutoExport.php:15

Nextcloud support inform me that the music app should move from OC to OCP in order to prevent this failure under Nextcloud 29.0.0.

rcfa commented 2 months ago

Same here. Not sure why the app is listed as compatible with version 29 in the app store Also, the link to the proper github page is broken on the app store.

fr3ddy-sudo commented 2 months ago

Same here, with NC 29 RC4

Error: Class "OC\BackgroundJob\TimedJob" not found in /var/www/nextcloud/apps/phonetrack/lib/Cron/AutoExport.php:15

Stack trace:

0 /var/www/nextcloud/lib/composer/composer/ClassLoader.php(576): include()

1 /var/www/nextcloud/lib/composer/composer/ClassLoader.php(427): Composer\Autoload{closure}()

2 [internal function]: Composer\Autoload\ClassLoader->loadClass()

3 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): ReflectionClass->__construct()

4 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(146): OC\AppFramework\Utility\SimpleContainer->resolve()

5 /var/www/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(470): OC\AppFramework\Utility\SimpleContainer->query()

6 /var/www/nextcloud/lib/private/ServerContainer.php(155): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback()

7 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()

8 /var/www/nextcloud/lib/public/Server.php(55): OC\AppFramework\Utility\SimpleContainer->get()

9 /var/www/nextcloud/lib/private/BackgroundJob/JobList.php(326): OCP\Server::get()

10 /var/www/nextcloud/lib/private/BackgroundJob/JobList.php(235): OC\BackgroundJob\JobList->buildJob()

11 /var/www/nextcloud/cron.php(163): OC\BackgroundJob\JobList->getNext()

12 {main}

mdwilst commented 2 months ago

same issue here, Nextcloud Hub 8 (29.0.0 RC5):

Error: Class "OC\BackgroundJob\TimedJob" not found in /ssd/nextcloud/apps/phonetrack/lib/Cron/AutoExport.php:15 Stack trace:

0 /ssd/nextcloud/lib/composer/composer/ClassLoader.php(576): include()

1 /ssd/nextcloud/lib/composer/composer/ClassLoader.php(427): Composer\Autoload{closure}()

2 [internal function]: Composer\Autoload\ClassLoader->loadClass()

3 /ssd/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): ReflectionClass->__construct()

4 /ssd/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(146): OC\AppFramework\Utility\SimpleContainer->resolve()

5 /ssd/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(470): OC\AppFramework\Utility\SimpleContainer->query()

6 /ssd/nextcloud/lib/private/ServerContainer.php(155): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback()

7 /ssd/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()

8 /ssd/nextcloud/lib/public/Server.php(55): OC\AppFramework\Utility\SimpleContainer->get()

9 /ssd/nextcloud/lib/private/BackgroundJob/JobList.php(326): OCP\Server::get()

10 /ssd/nextcloud/lib/private/BackgroundJob/JobList.php(235): OC\BackgroundJob\JobList->buildJob()

11 /ssd/nextcloud/cron.php(163): OC\BackgroundJob\JobList->getNext()

12 {main}

Unfortunately also Webcron or Ajax cannot get activated so background jobs completely dead:

{"reqId":"cSj4FzkPkNv8WRO2VqZz","level":3,"time":"2024-04-22T15:26:22+02:00","remoteAddr":"178.202.17.113","user":"stefan","app":"no app in context","method":"POST","url":"/nextcloud/ocs/v2.php/apps/provisioning_api/api/v1/config/apps/core/backgroundjobs_mode","message":"conflict between new type (mixed) and old type (string)","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:125.0) Gecko/20100101 Firefox/125.0","version":"29.0.0.18","exception":{"Exception":"OCP\Exceptions\AppConfigTypeConflictException","Message":"conflict between new type (mixed) and old type (string)","Code":0,"Trace":[{"file":"/ssd/nextcloud/lib/private/AppConfig.php","line":556,"function":"setTypedValue","class":"OC\AppConfig","type":"->"},{"file":"/ssd/nextcloud/apps/provisioning_api/lib/Controller/AppConfigController.php","line":147,"function":"setValueMixed","class":"OC\AppConfig","type":"->"},{"file":"/ssd/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":232,"function":"setValue","class":"OCA\Provisioning_API\Controller\AppConfigController","type":"->"},{"file":"/ssd/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":138,"function":"executeController","class":"OC\AppFramework\Http\Dispatcher","type":"->"},{"file":"/ssd/nextcloud/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\AppFramework\Http\Dispatcher","type":"->"},{"file":"/ssd/nextcloud/lib/private/Route/Router.php","line":338,"function":"main","class":"OC\AppFramework\App","type":"::"},{"file":"/ssd/nextcloud/ocs/v1.php","line":66,"function":"match","class":"OC\Route\Router","type":"->"},{"file":"/ssd/nextcloud/ocs/v2.php","line":23,"args":["/ssd/nextcloud/ocs/v1.php"],"function":"require_once"}],"File":"/ssd/nextcloud/lib/private/AppConfig.php","Line":821,"message":"conflict between new type (mixed) and old type (string)","exception":{},"CustomMessage":"conflict between new type (mixed) and old type (string)"}}

michz commented 2 months ago

Same here for 29 stable version.

Others had similar problems, see for example: https://github.com/nextcloud/richdocuments/pull/3527

EDIT: Applying the same fix manually seems to work. I will provide a Pull Request later today.

EDIT2: No PR necessary. master is already fixed in: https://github.com/julien-nc/phonetrack/commit/fc1ed7f7a293d565c67aff7cece39886a33cde68

Probably "only" a fresh release is necessary. 😉

prolibre commented 2 months ago

idem +1

mr-wolf-gb commented 2 months ago

i think same problem :

Stack Trace :

root@srv-nc:/var/www/html/nextcloud/data# sudo -u www-data php -f /var/www/html/nextcloud/cron.php
Error: Class "OC\BackgroundJob\TimedJob" not found in /var/www/html/nextcloud/apps/dropit/lib/BackgroundJob/CleanUpJob.php:34
Stack trace:
#0 /var/www/html/nextcloud/lib/composer/composer/ClassLoader.php(576): include()
#1 /var/www/html/nextcloud/lib/composer/composer/ClassLoader.php(427): Composer\Autoload\{closure}()
#2 [internal function]: Composer\Autoload\ClassLoader->loadClass()
#3 /var/www/html/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(126): ReflectionClass->__construct()
#4 /var/www/html/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(146): OC\AppFramework\Utility\SimpleContainer->resolve()
#5 /var/www/html/nextcloud/lib/private/AppFramework/DependencyInjection/DIContainer.php(470): OC\AppFramework\Utility\SimpleContainer->query()
#6 /var/www/html/nextcloud/lib/private/ServerContainer.php(155): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback()
#7 /var/www/html/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query()
#8 /var/www/html/nextcloud/lib/public/Server.php(55): OC\AppFramework\Utility\SimpleContainer->get()
#9 /var/www/html/nextcloud/lib/private/BackgroundJob/JobList.php(326): OCP\Server::get()
#10 /var/www/html/nextcloud/lib/private/BackgroundJob/JobList.php(235): OC\BackgroundJob\JobList->buildJob()
#11 /var/www/html/nextcloud/cron.php(163): OC\BackgroundJob\JobList->getNext()
#12 {main}

Version Nextcloud Hub 8 (29.0.0)

prolibre commented 2 months ago

@mr-wolf-gb Please note that there is indeed a problem with phonetrack but your logs correspond to a similar problem with the dropit application :-) have a nice day ! The cron problem is present in many applications.

mr-wolf-gb commented 2 months ago

@mr-wolf-gb Please note that there is indeed a problem with phonetrack but your logs correspond to a similar problem with the dropit application :-) have a nice day ! The cron problem is present in many applications.

Sorry I distinguished the problem and solved 😅

michz commented 2 months ago

https://github.com/julien-nc/phonetrack/releases/tag/v0.8.1 is released and works for me.

Thanks, @julien-nc !

julien-nc commented 2 months ago

You're welcome!

bentolor commented 1 month ago

I'm on phonetrack 0.8.1 on Nextcloud 29.0.0 in an Docker environmant, and still do receive this error. Any hints?

Error: Class "OC\BackgroundJob\TimedJob" not found in /var/www/html/custom_apps/phonetrack/lib/Cron/AutoExport.php:15
Stack trace:
#0 /var/www/html/lib/composer/composer/ClassLoader.php(576): include()
#1 /var/www/html/lib/composer/composer/ClassLoader.php(427): Composer\Autoload\{closure}('/var/www/html/c...')
#2 [internal function]: Composer\Autoload\ClassLoader->loadClass('OCA\\PhoneTrack\\...')
#3 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(126): ReflectionClass->__construct('OCA\\PhoneTrack\\...')
#4 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(146): OC\AppFramework\Utility\SimpleContainer->resolve('OCA\\PhoneTrack\\...')
#5 /var/www/html/lib/private/AppFramework/DependencyInjection/DIContainer.php(470): OC\AppFramework\Utility\SimpleContainer->query('OCA\\PhoneTrack\\...')
#6 /var/www/html/lib/private/ServerContainer.php(155): OC\AppFramework\DependencyInjection\DIContainer->queryNoFallback('OCA\\PhoneTrack\\...')
#7 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(64): OC\ServerContainer->query('OCA\\PhoneTrack\\...')
#8 /var/www/html/lib/public/Server.php(55): OC\AppFramework\Utility\SimpleContainer->get('OCA\\PhoneTrack\\...')
#9 /var/www/html/lib/private/BackgroundJob/JobList.php(326): OCP\Server::get('OCA\\PhoneTrack\\...')
#10 /var/www/html/lib/private/BackgroundJob/JobList.php(235): OC\BackgroundJob\JobList->buildJob(Array)
#11 /var/www/html/cron.php(163): OC\BackgroundJob\JobList->getNext(true)
#12 {main}