• Welcome to the Chevereto user community!

    Here users from all over the world gather around to learn the latest about Chevereto and contribute with ideas to improve the software.

    Please keep in mind:

    • 😌 This community is user driven. Be polite with other users.
    • 👉 Is required to purchase a Chevereto license to participate in this community (doesn't apply to Pre-sales).
    • 💸 Purchase a Pro Subscription to get access to active software support and faster ticket response times.
  • Chevereto Support CLST

    Support response

    Support checklist

    • ⚠️ Got a Something went wrong message? Read this guide and provide the actual error. Do not skip this.
    • ✅ Confirm that the server meets the System Requirements
    • 🔥 Check for any available Hotfix - your issue could be already reported/fixed
    • 📚 Read documentation - It will be required to Debug and understand Errors for a faster support response

Unable to destroy delete-expired-images lock

paffy

Chevereto Member
🎯Description of the issue

I see 2 error message in log files :

Error 1 : [proxy_fcgi:error] Got error 'PHP message: CHV\\LockException: Unable to destroy delete-expired-images lock in CHV\\Lock->process() in /app/lib/classes/class.lock.php:109\nStack trace:\n#0 /app/lib/classes/class.lock.php(61): CHV\\Lock->process('destroy', Array)\n#1 /app/loader.php(363): CHV\\Lock->__call('destroy', Array)\n#2 [internal function]: CHV\\{closure}()\n#3 {main}'

▶🚶‍Reproduction steps

N/A

😢Unexpected result

Duplicated images can't be deleted when needed permissions are given to files and folders.

📃Error log message

Error 1 :
[proxy_fcgi:error] Got error 'PHP message: CHV\\LockException: Unable to destroy delete-expired-images lock in CHV\\Lock->process() in /app/lib/classes/class.lock.php:109\nStack trace:\n#0 /app/lib/classes/class.lock.php(61): CHV\\Lock->process('destroy', Array)\n#1 /app/loader.php(363): CHV\\Lock->__call('destroy', Array)\n#2 [internal function]: CHV\\{closure}()\n#3 {main}'
 
Last edited by a moderator:
The alleged error is thrown here:

[CODE lang="php" title="app/lib/classes/class.lock.php" highlight="2"] if(file_exists($lock_file) && !@unlink($lock_file)) {
throw new LockException('Unable to destroy ' . $this->lock . ' lock in ' . $method);
}[/CODE]

If you get this error is because the permissions on the lock folder is missing. This happens all the time, specially when you backup without preserving the file-system permissions.

https://chevereto.com/docs/requirements

Chevereto requires write access in the following paths (recursive):
  • app/content
  • app/content/languages
  • app/content/languages/cache
  • app/content/locks
  • app/content/system
  • content
  • images
 
Can you give more details which permission exactly need these files and folders?

  • app/content
  • app/content/languages
  • app/content/languages/cache
  • app/content/locks
  • app/content/system
  • content
  • images
 
Sure, with writable I mean that the user executing the PHP process (usually www-data) must have full permissions in all these folders. This is achieved by setting this user as part of the owner group.

Chmod 777 refers to write/read access for everybody (public, owner, group) and it shouldn't be ever used. It determines the general permissions and in any system you want to be specific on who has writable access. Chmod 755 means owner r/w, everybody else just execute.

I strongly suggest you to don't rely in chmod, use proper user groups permissions. Also, note that you must make the changes recursive, the system is telling you that the alleged lock file that already exists has permission issues.

You could simply try deleting these lock files manually.
 
Back
Top