App Recognize not working

Nextcloud version (eg, 20.0.5): 28.0.1 - Docker image 28-fpm
Operating system and version (eg, Ubuntu 20.04): Ubuntu 22.04, Docker
Apache or nginx version (eg, Apache 2.4.25): nginx 1.25.1
PHP version (eg, 7.4): 8.2

The issue you are facing:

I’m using Nextcloud via docker, not AIO but the official docker image 28-fpm. It’s running behind an nginx reverse proxy. All is working fine, but since updating to nextcloud 28 I get the following error when going to my gallery and selecting “Persons”. Apart from this error nextcloud works fine.

Is this the first time you’ve seen this error? (Y/N):

Yes. It worked until the update.

The output of your Nextcloud log in Admin > Logging:

{"reqId":"UHZ6OaXgsU488qdN8diH","level":3,"time":"2024-01-17T18:20:22+00:00","app":"PHP","method":"PROPFIND","url":"/remote.php/dav/recognize/xxx/unassigned-faces","message":"Undefined property: OCA\\Recognize\\Dav\\Faces\\UnassignedFacesHome::$metadataManager at /var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php#108","version":"28.0.1.1","data":{"app":"PHP"}}

{"reqId":"UHZ6OaXgsU488qdN8diH","level":3,"time":"2024-01-17T18:20:22+00:00","app":"webdav","method":"PROPFIND","url":"/remote.php/dav/recognize/xxx/unassigned-faces","message":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacePhoto::__construct(): Argument #5 ($preview) must be of type OCP\\IPreview, null given, called in /var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php on line 108","version":"28.0.1.1","exception":{"Exception":"TypeError","Message":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacePhoto::__construct(): Argument #5 ($preview) must be of type OCP\\IPreview, null given, called in /var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php on line 108","Code":0,"Trace":[{"file":"/var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php","line":108,"function":"__construct","class":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacePhoto","type":"->","args":[["OCA\\Recognize\\Db\\FaceDetectionMapper"],"*** sensitive parameters replaced ***",["OC\\Files\\Node\\LazyUserFolder"],["OC\\TagManager"],null,["OC\\PreviewManager"]]},{"function":"OCA\\Recognize\\Dav\\Faces\\{closure}","class":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacesHome","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php","line":107,"function":"array_map","args":[["Closure"],["*** sensitive parameters replaced ***",["OCA\\Recognize\\Db\\FaceDetection",74013],["OCA\\Recognize\\Db\\FaceDetection",74014],["OCA\\Recognize\\Db\\FaceDetection",74017],["OCA\\Recognize\\Db\\FaceDetection",74018],"And 1645 more entries, set log level to debug to see all entries"]]},{"file":"/var/www/html/custom_apps/recognize/lib/Dav/Faces/PropFindPlugin.php","line":71,"function":"getChildren","class":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacesHome","type":"->","args":[]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/PropFind.php","line":95,"function":"OCA\\Recognize\\Dav\\Faces\\{closure}","class":"OCA\\Recognize\\Dav\\Faces\\PropFindPlugin","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/custom_apps/recognize/lib/Dav/Faces/PropFindPlugin.php","line":71,"function":"handle","class":"Sabre\\DAV\\PropFind","type":"->","args":["{http://nextcloud.org/ns}nbItems",["Closure"]]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"propFind","class":"OCA\\Recognize\\Dav\\Faces\\PropFindPlugin","type":"->","args":[["Sabre\\DAV\\PropFind"],["OCA\\Recognize\\Dav\\Faces\\UnassignedFacesHome"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1052,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["propFind",[["Sabre\\DAV\\PropFind"],["OCA\\Recognize\\Dav\\Faces\\UnassignedFacesHome"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":984,"function":"getPropertiesByNode","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\DAV\\PropFind"],["OCA\\Recognize\\Dav\\Faces\\UnassignedFacesHome"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1662,"function":"getPropertiesIteratorForPath","class":"Sabre\\DAV\\Server","type":"->","args":["recognize/Mailcow-markus@kadelke.de/unassigned-faces",["{DAV:}getcontentlength","{DAV:}getcontenttype","{DAV:}getetag","{DAV:}getlastmodified","{DAV:}resourcetype","And 12 more entries, set log level to debug to see all entries"],0]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1647,"function":"writeMultiStatus","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\Xml\\Writer",[],"/remote.php/dav/",["d","s","oc","nc"],[]],["Generator"],false]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":346,"function":"generateMultiStatus","class":"Sabre\\DAV\\Server","type":"->","args":[["Generator"],false]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPropFind","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["method:PROPFIND",[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":370,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":172,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacePhoto.php","Line":18,"message":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacePhoto::__construct(): Argument #5 ($preview) must be of type OCP\\IPreview, null given, called in /var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php on line 108","exception":{},"CustomMessage":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacePhoto::__construct(): Argument #5 ($preview) must be of type OCP\\IPreview, null given, called in /var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php on line 108"}}

The output of your Apache/nginx/system log in /var/log/____:

Nginx:

56 connect() failed (111: Connection refused) while connecting to upstream "GET /apps/recognize/admin/countQueued HTTP/2.0", upstream: "fastcgi://127.0.0.1:15900",
56 connect() failed (111: Connection refused) while connecting to upstream "GET /apps/recognize/admin/settings/landmarks.status HTTP/2.0", upstream: "fastcgi://127.0.0.1:15900

Any help would be appreciated.

This is likely fixed in the upcoming version of recognize, which is currently in beta. You can update to it now already, by setting your nextcloud release preference to beta, then updating recognize and setting the preference back to what it was.

1 Like

Thank you very much. Some kind of relaxed to read that it’s a known issue. I can wait for the regular update to come, then.

Thanks again :slight_smile:

Hm, seems to be still the same error with the beta version:

{"reqId":"wbzswYvzuVHP6iD6Zr09","level":3,"time":"2024-01-18T17:06:35+00:00","remoteAddr":"xxx","user":"xxx","app":"PHP","method":"PROPFIND","url":"/remote.php/dav/recognize/xxx/unassigned-faces","message":"Undefined property: OCA\\Recognize\\Dav\\Faces\\UnassignedFacesHome::$metadataManager at /var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php#108","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:121.0) Gecko/20100101 Firefox/121.0","version":"28.0.1.1","data":{"app":"PHP"}}
{"reqId":"wbzswYvzuVHP6iD6Zr09","level":3,"time":"2024-01-18T17:06:35+00:00","remoteAddr":"xxx","user":"xxx","app":"webdav","method":"PROPFIND","url":"/remote.php/dav/recognize/xxx/unassigned-faces","message":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacePhoto::__construct(): Argument #5 ($preview) must be of type OCP\\IPreview, null given, called in /var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php on line 108","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:121.0) Gecko/20100101 Firefox/121.0","version":"28.0.1.1","exception":{"Exception":"TypeError","Message":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacePhoto::__construct(): Argument #5 ($preview) must be of type OCP\\IPreview, null given, called in /var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php on line 108","Code":0,"Trace":[{"file":"/var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php","line":108,"function":"__construct","class":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacePhoto","type":"->","args":[["OCA\\Recognize\\Db\\FaceDetectionMapper"],"*** sensitive parameters replaced ***",["OC\\Files\\Node\\LazyUserFolder"],["OC\\TagManager"],null,["OC\\PreviewManager"]]},{"function":"OCA\\Recognize\\Dav\\Faces\\{closure}","class":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacesHome","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php","line":107,"function":"array_map","args":[["Closure"],["*** sensitive parameters replaced ***",["OCA\\Recognize\\Db\\FaceDetection",74013],["OCA\\Recognize\\Db\\FaceDetection",74014],["OCA\\Recognize\\Db\\FaceDetection",74017],["OCA\\Recognize\\Db\\FaceDetection",74018],"And 1645 more entries, set log level to debug to see all entries"]]},{"file":"/var/www/html/custom_apps/recognize/lib/Dav/Faces/PropFindPlugin.php","line":71,"function":"getChildren","class":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacesHome","type":"->","args":[]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/PropFind.php","line":95,"function":"OCA\\Recognize\\Dav\\Faces\\{closure}","class":"OCA\\Recognize\\Dav\\Faces\\PropFindPlugin","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/custom_apps/recognize/lib/Dav/Faces/PropFindPlugin.php","line":71,"function":"handle","class":"Sabre\\DAV\\PropFind","type":"->","args":["{http://nextcloud.org/ns}nbItems",["Closure"]]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"propFind","class":"OCA\\Recognize\\Dav\\Faces\\PropFindPlugin","type":"->","args":[["Sabre\\DAV\\PropFind"],["OCA\\Recognize\\Dav\\Faces\\UnassignedFacesHome"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1052,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["propFind",[["Sabre\\DAV\\PropFind"],["OCA\\Recognize\\Dav\\Faces\\UnassignedFacesHome"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":984,"function":"getPropertiesByNode","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\DAV\\PropFind"],["OCA\\Recognize\\Dav\\Faces\\UnassignedFacesHome"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1662,"function":"getPropertiesIteratorForPath","class":"Sabre\\DAV\\Server","type":"->","args":["recognize/Mailcow-markus@kadelke.de/unassigned-faces",["{DAV:}getcontentlength","{DAV:}getcontenttype","{DAV:}getetag","{DAV:}getlastmodified","{DAV:}resourcetype","And 12 more entries, set log level to debug to see all entries"],0]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":1647,"function":"writeMultiStatus","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\Xml\\Writer",[],"/remote.php/dav/",["d","s","oc","nc"],[]],["Generator"],false]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":346,"function":"generateMultiStatus","class":"Sabre\\DAV\\Server","type":"->","args":[["Generator"],false]},{"file":"/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpPropFind","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":472,"function":"emit","class":"Sabre\\DAV\\Server","type":"->","args":["method:PROPFIND",[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":253,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[["Sabre\\HTTP\\Request"],["Sabre\\HTTP\\Response"]]},{"file":"/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php","line":321,"function":"start","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/lib/Server.php","line":370,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/apps/dav/appinfo/v2/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"/var/www/html/remote.php","line":172,"args":["/var/www/html/apps/dav/appinfo/v2/remote.php"],"function":"require_once"}],"File":"/var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacePhoto.php","Line":18,"message":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacePhoto::__construct(): Argument #5 ($preview) must be of type OCP\\IPreview, null given, called in /var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php on line 108","exception":{},"CustomMessage":"OCA\\Recognize\\Dav\\Faces\\UnassignedFacePhoto::__construct(): Argument #5 ($preview) must be of type OCP\\IPreview, null given, called in /var/www/html/custom_apps/recognize/lib/Dav/Faces/UnassignedFacesHome.php on line 108"}}

Ah, I see. You’re right. This will make it into the next patch then.

1 Like

This topic was automatically closed 8 days after the last reply. New replies are no longer allowed.