nextcloud / recognize

👁 👂 Smart media tagging for Nextcloud: recognizes faces, objects, landscapes, music genres
https://apps.nextcloud.com/apps/recognize
GNU Affero General Public License v3.0
558 stars 46 forks source link

Classifier Error: "cannot open shared object file: No such file or directory" #720

Closed phil-lipp closed 1 year ago

phil-lipp commented 1 year ago

Which version of recognize are you using?

3.6.1

Enabled Modes

Face recognition

TensorFlow mode

WASM mode

Which Nextcloud version do you have installed?

25.0.4

Which Operating system do you have installed?

Debian 11

Which Docker container are you using to run Nextcloud? (if applicable)

-

How much RAM does your server have?

8GB

What processor Architecture does your CPU have?

ARM64

Describe the Bug

Running the classify-command intermittently throws an error, but keeps on running.

Expected Behavior

No errors during classification.

To Reproduce

Run occ recognize:classify

Debug log

[...]
  33 => '/media/ext_drive_one/nextcloud/data/tmp/oc_tmp_mpSn75-.jpg',
  34 => '/media/ext_drive_one/nextcloud/data/tmp/oc_tmp_t66Rp8-.jpg',
  35 => '/media/ext_drive_one/nextcloud/data/tmp/oc_tmp_HKyvR5-.jpg',
)
Running array (
  0 => '/var/www/nextcloud/apps/recognize/bin/node',
  1 => '/var/www/nextcloud/apps/recognize/src/classifier_faces.js',
  2 => '-',
)
Classifier process output: Error: /var/www/nextcloud/apps/recognize/node_modules/@tensorflow/tfjs-node/lib/napi-v8/tfjs_binding.node: cannot open shared object file: No such file or directory
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:1144:18)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:93:18)
    at Object.<anonymous> (/var/www/nextcloud/apps/recognize/node_modules/@tensorflow/tfjs-node/dist/index.js:72:16)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12) {
  code: 'ERR_DLOPEN_FAILED'
}

Classifier process output: Trying js-only mode

Result for /user/files/Photos & Videos/path/to/photo/DSC07205.JPG
[...]
marcelklehr commented 1 year ago

Can you try running occ maintenance:repair?

phil-lipp commented 1 year ago

Can you try running occ maintenance:repair?

Just did and the error persists.

Here's the output of the occ maintenance:repair

- Repair MySQL collation
     - All tables already have the correct collation -> nothing to do
 - Repair mime types
 - Clean tags and favorites
     - 0 tags of deleted users have been removed.
     - 0 tags for delete files have been removed.
     - 0 tag entries for deleted tags have been removed.
     - 0 tags with no entries have been removed.
 - Repair invalid shares
 - Move .step file of updater to backup location
 - Add move avatar background job
     - Repair step already executed
 - Add preview cleanup background jobs
 - Migrate oauth2_clients table to nextcloud schema
     - Update the oauth2_access_tokens table schema.
     - Update the oauth2_clients table schema.
 - Fix potential broken mount points
     - No mounts updated
 - Repair language codes
 - Add log rotate job
 - Clear frontend caches
     - Image cache cleared
     - JS cache cleared
 - Clear every generated avatar on major updates
 - Add preview background cleanup job
 - Queue a one-time job to cleanup old backups of the updater
 - Cleanup invalid photocache files for carddav
 - Add background job to cleanup login flow v2 tokens
 - Remove potentially over exposing share links
     - No need to remove link shares.
 - Clear access cache of projects
 - Reset generated avatar flag
 - Keep legacy encryption enabled
 - Check encryption key format
 - Remove old dashboard app config data
 - Add job to cleanup the bruteforce entries
 - Queue a one-time job to check for user uploaded certificates
 - Repair DAV shares
 - Add background job to set the lookup server share state for users
 - Add token cleanup job
 - Clean up abandoned apps
 - Add possibly missing system config
 - Deduplicate shared bookmark folders
     - Removed 0 duplicate shares
 - Remove superfluous shared bookmark folders
     - Removed 0 superfluous shares
 - Remove orphaned bookmark shares
     - Removed 0 orphaned shares
     - Removed 0 orphaned public links
 - Remove orphaned bookmark tree items
     - Removed 0 orphaned bookmarks entries
     - Removed 0 orphaned folders entries
     - Reinserted 0 orphaned children entries
     - Removed 0 orphaned bookmark folders
     - Reinserted 0 orphaned bookmarks
 - Update bookmark group shares
     - Removed 0 users and added 0 users to 0 groups
     - Removed 0 shares
 - Migrate user theme settings
 - Upgrading Circles App
 - Fix component of birthday calendars
     - 3 birthday calendars updated.
 - Regenerating birthday calendars to use new icons and fix old birthday events without year
     - Repair step already executed
 - Fix broken values of calendar objects
    0 [->--------------------------]
 - Registering building of calendar search index as background job
     - Repair step already executed
 - Register building of social profile search index as background job
 - Registering background jobs to update cache for webcal calendars
     - Added 0 background jobs to update webcal calendars
 - Registering building of calendar reminder index as background job
     - Repair step already executed
 - Clean up orphan event and contact data
     - 0 events without a calendar have been cleaned up
     - 0 properties without an events have been cleaned up
     - 0 changes without a calendar have been cleaned up
     - 0 cached events without a calendar subscription have been cleaned up
     - 0 changes without a calendar subscription have been cleaned up
     - 0 contacts without an addressbook have been cleaned up
     - 0 properties without a contact have been cleaned up
     - 0 changes without an addressbook have been cleaned up
 - Remove activity entries of private events
     - Removed 0 activity entries
 - Clean up old calendar subscriptions from deleted users that were not cleaned-up
    0 [----->----------------------]
     - 0 calendar subscriptions without an user have been cleaned up
 - Remove invalid object properties
     - 0 invalid object properties removed.
 - Copy default images to the app data directory
     - Icon external.svg already exists
     - Icon external-dark.svg already exists
     - Icon settings.svg already exists
     - Icon settings-dark.svg already exists
 - Add mimetypes for BPM
 - Fix the share type of guest shares when migrating from ownCloud
 - Copy the share password into the dedicated column
 - Set existing shares as accepted
 - Restore default tags that are missing
     - Looking up default tags
     - 6 accounts to check found
 6/6 [============================] 100%
 - Add a generated message-id to all Mail messages that have none
     - Looking up messages without a message-id
 - Purify and migrate collected mail addresses
 19/19 [============================] 100%
 - Insert background jobs for all accounts
 6/6 [============================] 100%
 - Make Mail itinerary extractor executable
 - Create or update provisioned Mail accounts
     - 0 accounts provisioned
 - Repair Broken Threads for all mail accounts
     - Repaired threads, 0 messages updated
 - Repair steps for Memories
 - Remove any playlist files mistakenly added to music_tracks table
 - Combine multi-disk albums and store disk numbers per track
 - Set creation and update dates for the library entities without one
 - Clean up meta table
 - Set binary permissions
 - Update OAuth token expiration times
 - Install dependencies
 - Switches from default updater server to the customer one if a valid subscription is available
     - Repair step already executed
 - Send an admin notification if monthly report is disabled
 - Initialize migration of background images from dashboard to theming app
 - Add background job to check for backup codes
 - Repair provider registrations
 - Populating added database structures for workflows
marcelklehr commented 1 year ago

I think this was resolved recently. Can you try updating?

phil-lipp commented 1 year ago

Yup, it's fixed :)