recognize
recognize copied to clipboard
Classify fails when systemtags disabled
Which version of recognize are you using?
9.0.0
Enabled Modes
Object recognition, Face recognition
TensorFlow mode
WASM mode
Downstream App
Memories App
Which Nextcloud version do you have installed?
31.0.5
Which Operating system do you have installed?
Ubuntu 24.04
Which database are you running Nextcloud on?
MariaDB 10.11
Which Docker container are you using to run Nextcloud? (if applicable)
N/A
How much RAM does your server have?
8Gb
What processor Architecture does your CPU have?
x86_64
Describe the Bug
After enabling object detection & landmark recognition, classifying fails. Nothing progresses, no faces.
Expected Behavior
Classifying continues.
To Reproduce
Not sure?
Debug log
{"reqId":"inbApxzFaXnbqUxg995y","level":3,"time":"2025-05-20T21:16:42+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"/occ","message":"Undefined array key \"color\" at /var/www/nextcloud/lib/private/SystemTag/SystemTagManager.php#380","userAgent":"--","version":"31.0.5.1","data":{"app":"PHP"}}
{"reqId":"inbApxzFaXnbqUxg995y","level":3,"time":"2025-05-20T21:16:42+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"/occ","message":"Undefined array key \"etag\" at /var/www/nextcloud/lib/private/SystemTag/SystemTagManager.php#380","userAgent":"--","version":"31.0.5.1","data":{"app":"PHP"}}
{"reqId":"inbApxzFaXnbqUxg995y","level":3,"time":"2025-05-20T21:16:42+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"/occ","message":"Undefined array key \"color\" at /var/www/nextcloud/lib/private/SystemTag/SystemTagManager.php#380","userAgent":"--","version":"31.0.5.1","data":{"app":"PHP"}}
{"reqId":"inbApxzFaXnbqUxg995y","level":3,"time":"2025-05-20T21:16:42+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"/occ","message":"Undefined array key \"etag\" at /var/www/nextcloud/lib/private/SystemTag/SystemTagManager.php#380","userAgent":"--","version":"31.0.5.1","data":{"app":"PHP"}}
{"reqId":"inbApxzFaXnbqUxg995y","level":3,"time":"2025-05-20T21:16:42+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"/occ","message":"Undefined array key \"color\" at /var/www/nextcloud/lib/private/SystemTag/SystemTagManager.php#380","userAgent":"--","version":"31.0.5.1","data":{"app":"PHP"}}
{"reqId":"inbApxzFaXnbqUxg995y","level":3,"time":"2025-05-20T21:16:42+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"/occ","message":"Undefined array key \"etag\" at /var/www/nextcloud/lib/private/SystemTag/SystemTagManager.php#380","userAgent":"--","version":"31.0.5.1","data":{"app":"PHP"}}
{"reqId":"inbApxzFaXnbqUxg995y","level":3,"time":"2025-05-20T21:16:42+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"/occ","message":"Undefined array key \"color\" at /var/www/nextcloud/lib/private/SystemTag/SystemTagManager.php#380","userAgent":"--","version":"31.0.5.1","data":{"app":"PHP"}}
{"reqId":"inbApxzFaXnbqUxg995y","level":3,"time":"2025-05-20T21:16:42+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"/occ","message":"Undefined array key \"etag\" at /var/www/nextcloud/lib/private/SystemTag/SystemTagManager.php#380","userAgent":"--","version":"31.0.5.1","data":{"app":"PHP"}}
{"reqId":"inbApxzFaXnbqUxg995y","level":3,"time":"2025-05-20T21:16:42+00:00","remoteAddr":"","user":"--","app":"PHP","method":"","url":"/occ","message":"Undefined array key \"color\" at /var/www/nextcloud/lib/private/SystemTag/SystemTagManager.php#380","userAgent":"--","version":"31.0.5.1","data":{"app":"PHP"}}
{"reqId":"inbApxzFaXnbqUxg995y","level":3,"time":"2025-05-20T21:16:42+00:00","remoteAddr":"","user":"--","app":"core","method":"","url":"/occ","message":"Error while running background job OCA\\Recognize\\BackgroundJobs\\ClassifyImagenetJob (id: 367592, arguments: {\"storageId\":2,\"rootId\":6})","userAgent":"--","version":"31.0.5.1","exception":{"Exception":"Doctrine\\DBAL\\Exception\\InvalidFieldNameException","Message":"An exception occurred while executing a query: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'etag' in 'SET'","Code":1054,"Trace":[{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1976,"function":"convert","class":"Doctrine\\DBAL\\Driver\\API\\MySQL\\ExceptionConverter","type":"->"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1918,"function":"handleDriverException","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1218,"function":"convertExceptionDuringQuery","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php","line":292,"function":"executeStatement","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/Connection.php","line":466,"function":"executeStatement","class":"Doctrine\\DBAL\\Connections\\PrimaryReadReplicaConnection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":67,"function":"executeStatement","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":306,"function":"executeStatement","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":268,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/SystemTag/SystemTagObjectMapper.php","line":216,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/SystemTag/SystemTagObjectMapper.php","line":159,"function":"updateEtagForTags","class":"OC\\SystemTag\\SystemTagObjectMapper","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/apps/recognize/lib/Service/TagManager.php","line":78,"function":"assignTags","class":"OC\\SystemTag\\SystemTagObjectMapper","type":"->"},{"file":"/var/www/nextcloud/apps/recognize/lib/Classifiers/Images/ImagenetClassifier.php","line":50,"function":"assignTags","class":"OCA\\Recognize\\Service\\TagManager","type":"->"},{"file":"/var/www/nextcloud/apps/recognize/lib/BackgroundJobs/ClassifyImagenetJob.php","line":42,"function":"classify","class":"OCA\\Recognize\\Classifiers\\Images\\ImagenetClassifier","type":"->"},{"file":"/var/www/nextcloud/apps/recognize/lib/BackgroundJobs/ClassifierJob.php","line":74,"function":"classify","class":"OCA\\Recognize\\BackgroundJobs\\ClassifyImagenetJob","type":"->"},{"file":"/var/www/nextcloud/apps/recognize/lib/BackgroundJobs/ClassifyImagenetJob.php","line":34,"function":"runClassifier","class":"OCA\\Recognize\\BackgroundJobs\\ClassifierJob","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/Job.php","line":61,"function":"run","class":"OCA\\Recognize\\BackgroundJobs\\ClassifyImagenetJob","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php","line":97,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php","line":84,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/nextcloud/core/Command/Background/Job.php","line":71,"function":"execute","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OC\\Core\\Command\\Background\\Job","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Application.php","line":1078,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/lib/private/Console/Application.php","line":187,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/console.php","line":87,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/occ","line":33,"args":["/var/www/nextcloud/console.php"],"function":"require_once"}],"File":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php","Line":67,"Previous":{"Exception":"Doctrine\\DBAL\\Driver\\PDO\\Exception","Message":"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'etag' in 'SET'","Code":1054,"Trace":[{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","line":132,"function":"new","class":"Doctrine\\DBAL\\Driver\\PDO\\Exception","type":"::"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1212,"function":"execute","class":"Doctrine\\DBAL\\Driver\\PDO\\Statement","type":"->"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php","line":292,"function":"executeStatement","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/Connection.php","line":466,"function":"executeStatement","class":"Doctrine\\DBAL\\Connections\\PrimaryReadReplicaConnection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":67,"function":"executeStatement","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":306,"function":"executeStatement","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":268,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/SystemTag/SystemTagObjectMapper.php","line":216,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/SystemTag/SystemTagObjectMapper.php","line":159,"function":"updateEtagForTags","class":"OC\\SystemTag\\SystemTagObjectMapper","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/apps/recognize/lib/Service/TagManager.php","line":78,"function":"assignTags","class":"OC\\SystemTag\\SystemTagObjectMapper","type":"->"},{"file":"/var/www/nextcloud/apps/recognize/lib/Classifiers/Images/ImagenetClassifier.php","line":50,"function":"assignTags","class":"OCA\\Recognize\\Service\\TagManager","type":"->"},{"file":"/var/www/nextcloud/apps/recognize/lib/BackgroundJobs/ClassifyImagenetJob.php","line":42,"function":"classify","class":"OCA\\Recognize\\Classifiers\\Images\\ImagenetClassifier","type":"->"},{"file":"/var/www/nextcloud/apps/recognize/lib/BackgroundJobs/ClassifierJob.php","line":74,"function":"classify","class":"OCA\\Recognize\\BackgroundJobs\\ClassifyImagenetJob","type":"->"},{"file":"/var/www/nextcloud/apps/recognize/lib/BackgroundJobs/ClassifyImagenetJob.php","line":34,"function":"runClassifier","class":"OCA\\Recognize\\BackgroundJobs\\ClassifierJob","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/Job.php","line":61,"function":"run","class":"OCA\\Recognize\\BackgroundJobs\\ClassifyImagenetJob","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php","line":97,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php","line":84,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/nextcloud/core/Command/Background/Job.php","line":71,"function":"execute","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OC\\Core\\Command\\Background\\Job","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Application.php","line":1078,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/lib/private/Console/Application.php","line":187,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/console.php","line":87,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/occ","line":33,"args":["/var/www/nextcloud/console.php"],"function":"require_once"}],"File":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php","Line":24,"Previous":{"Exception":"PDOException","Message":"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'etag' in 'SET'","Code":"42S22","Trace":[{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","line":130,"function":"execute","class":"PDOStatement","type":"->"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php","line":1212,"function":"execute","class":"Doctrine\\DBAL\\Driver\\PDO\\Statement","type":"->"},{"file":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Connections/PrimaryReadReplicaConnection.php","line":292,"function":"executeStatement","class":"Doctrine\\DBAL\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/Connection.php","line":466,"function":"executeStatement","class":"Doctrine\\DBAL\\Connections\\PrimaryReadReplicaConnection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/ConnectionAdapter.php","line":67,"function":"executeStatement","class":"OC\\DB\\Connection","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":306,"function":"executeStatement","class":"OC\\DB\\ConnectionAdapter","type":"->"},{"file":"/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php","line":268,"function":"executeStatement","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/SystemTag/SystemTagObjectMapper.php","line":216,"function":"execute","class":"OC\\DB\\QueryBuilder\\QueryBuilder","type":"->"},{"file":"/var/www/nextcloud/lib/private/SystemTag/SystemTagObjectMapper.php","line":159,"function":"updateEtagForTags","class":"OC\\SystemTag\\SystemTagObjectMapper","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/nextcloud/apps/recognize/lib/Service/TagManager.php","line":78,"function":"assignTags","class":"OC\\SystemTag\\SystemTagObjectMapper","type":"->"},{"file":"/var/www/nextcloud/apps/recognize/lib/Classifiers/Images/ImagenetClassifier.php","line":50,"function":"assignTags","class":"OCA\\Recognize\\Service\\TagManager","type":"->"},{"file":"/var/www/nextcloud/apps/recognize/lib/BackgroundJobs/ClassifyImagenetJob.php","line":42,"function":"classify","class":"OCA\\Recognize\\Classifiers\\Images\\ImagenetClassifier","type":"->"},{"file":"/var/www/nextcloud/apps/recognize/lib/BackgroundJobs/ClassifierJob.php","line":74,"function":"classify","class":"OCA\\Recognize\\BackgroundJobs\\ClassifyImagenetJob","type":"->"},{"file":"/var/www/nextcloud/apps/recognize/lib/BackgroundJobs/ClassifyImagenetJob.php","line":34,"function":"runClassifier","class":"OCA\\Recognize\\BackgroundJobs\\ClassifierJob","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/Job.php","line":61,"function":"run","class":"OCA\\Recognize\\BackgroundJobs\\ClassifyImagenetJob","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php","line":97,"function":"start","class":"OCP\\BackgroundJob\\Job","type":"->"},{"file":"/var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php","line":84,"function":"start","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/nextcloud/core/Command/Background/Job.php","line":71,"function":"execute","class":"OCP\\BackgroundJob\\TimedJob","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Command/Command.php","line":326,"function":"execute","class":"OC\\Core\\Command\\Background\\Job","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Application.php","line":1078,"function":"run","class":"Symfony\\Component\\Console\\Command\\Command","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Application.php","line":324,"function":"doRunCommand","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/3rdparty/symfony/console/Application.php","line":175,"function":"doRun","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/lib/private/Console/Application.php","line":187,"function":"run","class":"Symfony\\Component\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/console.php","line":87,"function":"run","class":"OC\\Console\\Application","type":"->"},{"file":"/var/www/nextcloud/occ","line":33,"args":["/var/www/nextcloud/console.php"],"function":"require_once"}],"File":"/var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php","Line":130}},"message":"Error while running background job OCA\\Recognize\\BackgroundJobs\\ClassifyImagenetJob (id: 367592, arguments: {\"storageId\":2,\"rootId\":6})","exception":{"xdebug_message":"\nDoctrine\\DBAL\\Exception\\InvalidFieldNameException: An exception occurred while executing a query: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'etag' in 'SET' in /var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php on line 67\n\nCall Stack:\n 0.0001 391808 1. {main}() /var/www/nextcloud/occ:0\n 0.0002 409752 2. require_once('/var/www/nextcloud/console.php') /var/www/nextcloud/occ:33\n 0.2365 43566056 3. OC\\Console\\Application->run($input = class Symfony\\Component\\Console\\Input\\ArgvInput { protected $definition = class Symfony\\Component\\Console\\Input\\InputDefinition { private array $arguments = [...]; private int $requiredCount = 2; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastArrayArgument = NULL; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastOptionalArgument = NULL; private array $options = [...]; private array $negations = [...]; private array $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'background-job:execute', 'job-id' => '367592']; protected $interactive = TRUE; private array $tokens = [0 => 'background-job:execute', 1 => '367592']; private array $parsed = [] }, $output = ???) /var/www/nextcloud/console.php:87\n 0.2367 43575496 4. Symfony\\Component\\Console\\Application->run($input = class Symfony\\Component\\Console\\Input\\ArgvInput { protected $definition = class Symfony\\Component\\Console\\Input\\InputDefinition { private array $arguments = [...]; private int $requiredCount = 2; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastArrayArgument = NULL; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastOptionalArgument = NULL; private array $options = [...]; private array $negations = [...]; private array $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'background-job:execute', 'job-id' => '367592']; protected $interactive = TRUE; private array $tokens = [0 => 'background-job:execute', 1 => '367592']; private array $parsed = [] }, $output = NULL) /var/www/nextcloud/lib/private/Console/Application.php:187\n 0.2375 43583088 5. Symfony\\Component\\Console\\Application->doRun($input = class Symfony\\Component\\Console\\Input\\ArgvInput { protected $definition = class Symfony\\Component\\Console\\Input\\InputDefinition { private array $arguments = [...]; private int $requiredCount = 2; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastArrayArgument = NULL; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastOptionalArgument = NULL; private array $options = [...]; private array $negations = [...]; private array $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'background-job:execute', 'job-id' => '367592']; protected $interactive = TRUE; private array $tokens = [0 => 'background-job:execute', 1 => '367592']; private array $parsed = [] }, $output = class Symfony\\Component\\Console\\Output\\ConsoleOutput { private int ${Symfony\\Component\\Console\\Output\\Output}verbosity = 32; private Symfony\\Component\\Console\\Formatter\\OutputFormatterInterface ${Symfony\\Component\\Console\\Output\\Output}formatter = class Symfony\\Component\\Console\\Formatter\\OutputFormatter { private bool $decorated = TRUE; private array $styles = [...]; private Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack $styleStack = class Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack { ... } }; private ${Symfony\\Component\\Console\\Output\\StreamOutput}stream = resource(2) of type (stream); private Symfony\\Component\\Console\\Output\\OutputInterface $stderr = class Symfony\\Component\\Console\\Output\\StreamOutput { private int ${Symfony\\Component\\Console\\Output\\Output}verbosity = 32; private Symfony\\Component\\Console\\Formatter\\OutputFormatterInterface ${Symfony\\Component\\Console\\Output\\Output}formatter = class Symfony\\Component\\Console\\Formatter\\OutputFormatter { ... }; private $stream = resource(3) of type (stream) }; private array $consoleSectionOutputs = [] }) /var/www/nextcloud/3rdparty/symfony/console/Application.php:175\n 0.2377 43584968 6. Symfony\\Component\\Console\\Application->doRunCommand($command = class OC\\Core\\Command\\Background\\Job { private ?Symfony\\Component\\Console\\Application ${Symfony\\Component\\Console\\Command\\Command}application = class Symfony\\Component\\Console\\Application { private array $commands = [...]; private bool $wantHelps = FALSE; private ?Symfony\\Component\\Console\\Command\\Command $runningCommand = ...; private string $name = 'Pricey Cloud'; private string $version = '31.0.5'; private ?Symfony\\Component\\Console\\CommandLoader\\CommandLoaderInterface $commandLoader = NULL; private bool $catchExceptions = TRUE; private bool $catchErrors = FALSE; private bool $autoExit = FALSE; private Symfony\\Component\\Console\\Input\\InputDefinition $definition = class Symfony\\Component\\Console\\Input\\InputDefinition { ... }; private Symfony\\Component\\Console\\Helper\\HelperSet $helperSet = class Symfony\\Component\\Console\\Helper\\HelperSet { ... }; private ?Symfony\\Contracts\\EventDispatcher\\EventDispatcherInterface $dispatcher = NULL; private Symfony\\Component\\Console\\Terminal $terminal = class Symfony\\Component\\Console\\Terminal { ... }; private string $defaultCommand = 'list'; private bool $singleCommand = FALSE; private bool $initialized = TRUE; private ?Symfony\\Component\\Console\\SignalRegistry\\SignalRegistry $signalRegistry = class Symfony\\Component\\Console\\SignalRegistry\\SignalRegistry { ... }; private array $signalsToDispatchEvent = [...] }; private ?string ${Symfony\\Component\\Console\\Command\\Command}name = 'background-job:execute'; private ?string ${Symfony\\Component\\Console\\Command\\Command}processTitle = NULL; private array ${Symfony\\Component\\Console\\Command\\Command}aliases = []; private Symfony\\Component\\Console\\Input\\InputDefinition ${Symfony\\Component\\Console\\Command\\Command}definition = class Symfony\\Component\\Console\\Input\\InputDefinition { private array $arguments = [...]; private int $requiredCount = 1; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastArrayArgument = NULL; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastOptionalArgument = NULL; private array $options = [...]; private array $negations = [...]; private array $shortcuts = [...] }; private bool ${Symfony\\Component\\Console\\Command\\Command}hidden = FALSE; private string ${Symfony\\Component\\Console\\Command\\Command}help = ''; private string ${Symfony\\Component\\Console\\Command\\Command}description = 'Execute a single background job manually'; private ?Symfony\\Component\\Console\\Input\\InputDefinition ${Symfony\\Component\\Console\\Command\\Command}fullDefinition = class Symfony\\Component\\Console\\Input\\InputDefinition { private array $arguments = [...]; private int $requiredCount = 2; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastArrayArgument = NULL; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastOptionalArgument = NULL; private array $options = [...]; private array $negations = [...]; private array $shortcuts = [...] }; private bool ${Symfony\\Component\\Console\\Command\\Command}ignoreValidationErrors = FALSE; private ?Closure ${Symfony\\Component\\Console\\Command\\Command}code = NULL; private array ${Symfony\\Component\\Console\\Command\\Command}synopsis = []; private array ${Symfony\\Component\\Console\\Command\\Command}usages = []; private ?Symfony\\Component\\Console\\Helper\\HelperSet ${Symfony\\Component\\Console\\Command\\Command}helperSet = class Symfony\\Component\\Console\\Helper\\HelperSet { private array $helpers = [...] }; protected OCP\\BackgroundJob\\IJobList $jobList = class OC\\BackgroundJob\\JobList { protected OCP\\IDBConnection $connection = class OC\\DB\\ConnectionAdapter { ... }; protected OCP\\IConfig $config = class OC\\AllConfig { ... }; protected OCP\\AppFramework\\Utility\\ITimeFactory $timeFactory = class OC\\AppFramework\\Utility\\TimeFactory { ... }; protected Psr\\Log\\LoggerInterface $logger = class OC\\Log\\PsrLoggerAdapter { ... } } }, $input = class Symfony\\Component\\Console\\Input\\ArgvInput { protected $definition = class Symfony\\Component\\Console\\Input\\InputDefinition { private array $arguments = [...]; private int $requiredCount = 2; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastArrayArgument = NULL; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastOptionalArgument = NULL; private array $options = [...]; private array $negations = [...]; private array $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'background-job:execute', 'job-id' => '367592']; protected $interactive = TRUE; private array $tokens = [0 => 'background-job:execute', 1 => '367592']; private array $parsed = [] }, $output = class Symfony\\Component\\Console\\Output\\ConsoleOutput { private int ${Symfony\\Component\\Console\\Output\\Output}verbosity = 32; private Symfony\\Component\\Console\\Formatter\\OutputFormatterInterface ${Symfony\\Component\\Console\\Output\\Output}formatter = class Symfony\\Component\\Console\\Formatter\\OutputFormatter { private bool $decorated = TRUE; private array $styles = [...]; private Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack $styleStack = class Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack { ... } }; private ${Symfony\\Component\\Console\\Output\\StreamOutput}stream = resource(2) of type (stream); private Symfony\\Component\\Console\\Output\\OutputInterface $stderr = class Symfony\\Component\\Console\\Output\\StreamOutput { private int ${Symfony\\Component\\Console\\Output\\Output}verbosity = 32; private Symfony\\Component\\Console\\Formatter\\OutputFormatterInterface ${Symfony\\Component\\Console\\Output\\Output}formatter = class Symfony\\Component\\Console\\Formatter\\OutputFormatter { ... }; private $stream = resource(3) of type (stream) }; private array $consoleSectionOutputs = [] }) /var/www/nextcloud/3rdparty/symfony/console/Application.php:324\n 0.2377 43584968 7. Symfony\\Component\\Console\\Command\\Command->run($input = class Symfony\\Component\\Console\\Input\\ArgvInput { protected $definition = class Symfony\\Component\\Console\\Input\\InputDefinition { private array $arguments = [...]; private int $requiredCount = 2; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastArrayArgument = NULL; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastOptionalArgument = NULL; private array $options = [...]; private array $negations = [...]; private array $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'background-job:execute', 'job-id' => '367592']; protected $interactive = TRUE; private array $tokens = [0 => 'background-job:execute', 1 => '367592']; private array $parsed = [] }, $output = class Symfony\\Component\\Console\\Output\\ConsoleOutput { private int ${Symfony\\Component\\Console\\Output\\Output}verbosity = 32; private Symfony\\Component\\Console\\Formatter\\OutputFormatterInterface ${Symfony\\Component\\Console\\Output\\Output}formatter = class Symfony\\Component\\Console\\Formatter\\OutputFormatter { private bool $decorated = TRUE; private array $styles = [...]; private Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack $styleStack = class Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack { ... } }; private ${Symfony\\Component\\Console\\Output\\StreamOutput}stream = resource(2) of type (stream); private Symfony\\Component\\Console\\Output\\OutputInterface $stderr = class Symfony\\Component\\Console\\Output\\StreamOutput { private int ${Symfony\\Component\\Console\\Output\\Output}verbosity = 32; private Symfony\\Component\\Console\\Formatter\\OutputFormatterInterface ${Symfony\\Component\\Console\\Output\\Output}formatter = class Symfony\\Component\\Console\\Formatter\\OutputFormatter { ... }; private $stream = resource(3) of type (stream) }; private array $consoleSectionOutputs = [] }) /var/www/nextcloud/3rdparty/symfony/console/Application.php:1078\n 0.2377 43586728 8. OC\\Core\\Command\\Background\\Job->execute($input = class Symfony\\Component\\Console\\Input\\ArgvInput { protected $definition = class Symfony\\Component\\Console\\Input\\InputDefinition { private array $arguments = [...]; private int $requiredCount = 2; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastArrayArgument = NULL; private ?Symfony\\Component\\Console\\Input\\InputArgument $lastOptionalArgument = NULL; private array $options = [...]; private array $negations = [...]; private array $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'background-job:execute', 'job-id' => '367592']; protected $interactive = TRUE; private array $tokens = [0 => 'background-job:execute', 1 => '367592']; private array $parsed = [] }, $output = class Symfony\\Component\\Console\\Output\\ConsoleOutput { private int ${Symfony\\Component\\Console\\Output\\Output}verbosity = 32; private Symfony\\Component\\Console\\Formatter\\OutputFormatterInterface ${Symfony\\Component\\Console\\Output\\Output}formatter = class Symfony\\Component\\Console\\Formatter\\OutputFormatter { private bool $decorated = TRUE; private array $styles = [...]; private Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack $styleStack = class Symfony\\Component\\Console\\Formatter\\OutputFormatterStyleStack { ... } }; private ${Symfony\\Component\\Console\\Output\\StreamOutput}stream = resource(2) of type (stream); private Symfony\\Component\\Console\\Output\\OutputInterface $stderr = class Symfony\\Component\\Console\\Output\\StreamOutput { private int ${Symfony\\Component\\Console\\Output\\Output}verbosity = 32; private Symfony\\Component\\Console\\Formatter\\OutputFormatterInterface ${Symfony\\Component\\Console\\Output\\Output}formatter = class Symfony\\Component\\Console\\Formatter\\OutputFormatter { ... }; private $stream = resource(3) of type (stream) }; private array $consoleSectionOutputs = [] }) /var/www/nextcloud/3rdparty/symfony/console/Command/Command.php:326\n 0.2396 43653112 9. OCP\\BackgroundJob\\TimedJob->execute($jobList = class OC\\BackgroundJob\\JobList { protected OCP\\IDBConnection $connection = class OC\\DB\\ConnectionAdapter { private $inner = class OC\\DB\\Connection { ... } }; protected OCP\\IConfig $config = class OC\\AllConfig { private ?OCP\\IDBConnection $connection = NULL; private OCP\\Cache\\CappedMemoryCache $userCache = class OCP\\Cache\\CappedMemoryCache { ... }; private OC\\SystemConfig $systemConfig = class OC\\SystemConfig { ... } }; protected OCP\\AppFramework\\Utility\\ITimeFactory $timeFactory = class OC\\AppFramework\\Utility\\TimeFactory { protected DateTimeZone $timezone = class DateTimeZone { ... } }; protected Psr\\Log\\LoggerInterface $logger = class OC\\Log\\PsrLoggerAdapter { private OC\\Log $logger = class OC\\Log { ... } } }, $logger = ???) /var/www/nextcloud/core/Command/Background/Job.php:71\n 0.2396 43653112 10. OCP\\BackgroundJob\\TimedJob->start($jobList = class OC\\BackgroundJob\\JobList { protected OCP\\IDBConnection $connection = class OC\\DB\\ConnectionAdapter { private $inner = class OC\\DB\\Connection { ... } }; protected OCP\\IConfig $config = class OC\\AllConfig { private ?OCP\\IDBConnection $connection = NULL; private OCP\\Cache\\CappedMemoryCache $userCache = class OCP\\Cache\\CappedMemoryCache { ... }; private OC\\SystemConfig $systemConfig = class OC\\SystemConfig { ... } }; protected OCP\\AppFramework\\Utility\\ITimeFactory $timeFactory = class OC\\AppFramework\\Utility\\TimeFactory { protected DateTimeZone $timezone = class DateTimeZone { ... } }; protected Psr\\Log\\LoggerInterface $logger = class OC\\Log\\PsrLoggerAdapter { private OC\\Log $logger = class OC\\Log { ... } } }) /var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php:84\n 0.2396 43653112 11. OCP\\BackgroundJob\\Job->start($jobList = class OC\\BackgroundJob\\JobList { protected OCP\\IDBConnection $connection = class OC\\DB\\ConnectionAdapter { private $inner = class OC\\DB\\Connection { ... } }; protected OCP\\IConfig $config = class OC\\AllConfig { private ?OCP\\IDBConnection $connection = NULL; private OCP\\Cache\\CappedMemoryCache $userCache = class OCP\\Cache\\CappedMemoryCache { ... }; private OC\\SystemConfig $systemConfig = class OC\\SystemConfig { ... } }; protected OCP\\AppFramework\\Utility\\ITimeFactory $timeFactory = class OC\\AppFramework\\Utility\\TimeFactory { protected DateTimeZone $timezone = class DateTimeZone { ... } }; protected Psr\\Log\\LoggerInterface $logger = class OC\\Log\\PsrLoggerAdapter { private OC\\Log $logger = class OC\\Log { ... } } }) /var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php:97\n 0.2400 43653696 12. OCA\\Recognize\\BackgroundJobs\\ClassifyImagenetJob->run($argument = ['storageId' => 2, 'rootId' => 6]) /var/www/nextcloud/lib/public/BackgroundJob/Job.php:61\n 0.2400 43653696 13. OCA\\Recognize\\BackgroundJobs\\ClassifierJob->runClassifier($model = 'imagenet', $argument = ['storageId' => 2, 'rootId' => 6]) /var/www/nextcloud/apps/recognize/lib/BackgroundJobs/ClassifyImagenetJob.php:34\n"},"CustomMessage":"Error while running background job OCA\\Recognize\\BackgroundJobs\\ClassifyImagenetJob (id: 367592, arguments: {\"storageId\":2,\"rootId\":6})"}}
Hello Joseph,
thank you for taking the time to give feedback by opening this issue. It seems like you are missing a migration in your database: The etag column should be added by the following migration in the server repository: https://github.com/nextcloud/server/blob/master/apps/systemtags/lib/Migration/Version31000Date20241018063111.php
I'm not seeing this error in our test suite runs, which means this is likely a problem on your end.
Brill, thanks for responding @marcelklehr
I haven't messed with my database outside of app installs, nextcloud upgrades & # sudo -u www-data php occ db:add-missing-columns The instance has been around since Nextcloud 14'ish, I forget when recognise was first installed.
The latter reports nothing missing.
What's the best way to apply any missing migrations? (/Figure out why they weren't applied when they should've been?)
> select * from oc_migrations where app='systemtags';
Empty set (0.001 sec)
Aha the reason for this... systemtags is disabled on my instance!
So either/and:
- We probably shouldn't be able to enable the relevant options that rely on it, when systemtags is disabled?
- It'd be great if classifying faces didn't fail in the event adding tags for the other bits failed?
Any solution for this? I've the same issue since upgrading to NC31.
classifying fails.
Even if object recognition fails, face recognition and clustering should still progress. Or are you using the classify cli command?
We probably shouldn't be able to enable the relevant options that rely on it, when systemtags is disabled?
Good point.
Even if object recognition fails, face recognition and clustering should still progress. Or are you using the classify cli command?
I don't think it does progress. No new images seem to have faces recognised.
@PriceChild are you using the classify cli command? or do you rely on the background jobs?
Background jobs.
I have run the classify job in the past as a one off.
Mmh, are there no other recognize-related errors in the logs?
@marcelklehr
InvalidFieldNameExceptionAn exception occurred while executing a query: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'etag' in 'SET'Error while running background job OCA\Recognize\BackgroundJobs\ClassifyImagenetJob (id: 72102, arguments: {"storageId":3,"rootId":151})
This error is also not related to face recognition. My intution says, that the reason for face recognition not advancign may be separate from systemtags not being installed.