[Bug]: lockfile compromised. mtime is not ours #1094

Closed
opened 2026-04-24 23:31:54 +02:00 by adam · 3 comments
Owner

Originally created by @wtangofoxtrot on GitHub (Apr 24, 2023).

Describe the issue

  • Found audiobookshelf in an unresponsive state, logs showed no issues
  • restarted the docker container and now getting the below errors:
[2023-04-23 08:48:40] INFO: [Watcher] Initializing watcher for "Books".
[2023-04-23 08:48:40] INFO: Listening on port :80
[2023-04-23 08:48:40] INFO: [Watcher] "Books" Ready
lockfile "/config/settings/data/data.1.json" compromised. mtime is not ours
Error: Stale lock or attempt to update it after release
    at process.<anonymous> (/server/libs/njodb/index.js:101:37)
    at process.emit (node:events:513:28)
    at processEmit [as emit] (/server/libs/signalExit/index.js:204:34)
    at process._fatalException (node:internal/process/execution:149:25) {
  code: 'ECOMPROMISED'
}
lockfile "/config/settings/data/data.0.json" compromised. mtime is not ours
Error: Stale lock or attempt to update it after release
    at process.<anonymous> (/server/libs/njodb/index.js:101:37)
    at process.emit (node:events:513:28)
    at processEmit [as emit] (/server/libs/signalExit/index.js:204:34)
    at process._fatalException (node:internal/process/execution:149:25) {
  code: 'ECOMPROMISED'
}

Using : ghcr.io/advplyr/audiobookshelf:latest@sha256:9e4412cdc86f0dc8ae4043e8e41e0564f4e632ae504e8fa148d97dda5de57372

The webserver was inaccessible for some time, trying it after 24 hrs and its working now (docker logs show nothing new after the above error however)

Steps to reproduce the issue

  1. restart the container

Audiobookshelf version

2.2.19

How are you running audiobookshelf?

Docker

  version: "3.2"
  services:
    audiobookshelf:
      container_name: audiobookshelf
      image: ghcr.io/advplyr/audiobookshelf:latest
      environment:
        - AUDIOBOOKSHELF_UID=1000
        - AUDIOBOOKSHELF_GID=1000
      ports:
        - 13378:80
      volumes:
        - audiobooks:/audiobooks
        - config:/config
        - metadata:/metadata
      networks:
        - audiobookshelf-reverse-proxy-network
      restart: unless-stopped
      
       
  networks:
    audiobookshelf-reverse-proxy-network:
      external:
        name: proxy-network # this connects to the swag proxy network

  volumes:
    audiobooks:
      driver_opts:
        type: "nfs"
        o: "addr=<addr>,nolock,noatime,soft,ro"
        device: ":/mnt/tank/media/audiobooks"
    config:
      driver_opts:
        type: "nfs"
        o: "addr=<addr>,nolock,noatime,soft,rw"
        device: ":/mnt/ssd/configs/audiobookshelf"
    metadata:
      driver_opts:
        type: "nfs"
        o: "addr=<addr>,nolock,noatime,soft,rw"
        device: ":/mnt/ssd/configs/audiobookshelf_metadata"

Env:
ubuntu 22.04

Originally created by @wtangofoxtrot on GitHub (Apr 24, 2023). ### Describe the issue - Found audiobookshelf in an unresponsive state, logs showed no issues - restarted the docker container and now getting the below errors: ``` [2023-04-23 08:48:40] INFO: [Watcher] Initializing watcher for "Books". [2023-04-23 08:48:40] INFO: Listening on port :80 [2023-04-23 08:48:40] INFO: [Watcher] "Books" Ready lockfile "/config/settings/data/data.1.json" compromised. mtime is not ours Error: Stale lock or attempt to update it after release at process.<anonymous> (/server/libs/njodb/index.js:101:37) at process.emit (node:events:513:28) at processEmit [as emit] (/server/libs/signalExit/index.js:204:34) at process._fatalException (node:internal/process/execution:149:25) { code: 'ECOMPROMISED' } lockfile "/config/settings/data/data.0.json" compromised. mtime is not ours Error: Stale lock or attempt to update it after release at process.<anonymous> (/server/libs/njodb/index.js:101:37) at process.emit (node:events:513:28) at processEmit [as emit] (/server/libs/signalExit/index.js:204:34) at process._fatalException (node:internal/process/execution:149:25) { code: 'ECOMPROMISED' } ``` Using : ghcr.io/advplyr/audiobookshelf:latest@sha256:9e4412cdc86f0dc8ae4043e8e41e0564f4e632ae504e8fa148d97dda5de57372 The webserver was inaccessible for some time, trying it after 24 hrs and its working now (docker logs show nothing new after the above error however) ### Steps to reproduce the issue 1. restart the container ### Audiobookshelf version 2.2.19 ### How are you running audiobookshelf? Docker ``` version: "3.2" services: audiobookshelf: container_name: audiobookshelf image: ghcr.io/advplyr/audiobookshelf:latest environment: - AUDIOBOOKSHELF_UID=1000 - AUDIOBOOKSHELF_GID=1000 ports: - 13378:80 volumes: - audiobooks:/audiobooks - config:/config - metadata:/metadata networks: - audiobookshelf-reverse-proxy-network restart: unless-stopped networks: audiobookshelf-reverse-proxy-network: external: name: proxy-network # this connects to the swag proxy network volumes: audiobooks: driver_opts: type: "nfs" o: "addr=<addr>,nolock,noatime,soft,ro" device: ":/mnt/tank/media/audiobooks" config: driver_opts: type: "nfs" o: "addr=<addr>,nolock,noatime,soft,rw" device: ":/mnt/ssd/configs/audiobookshelf" metadata: driver_opts: type: "nfs" o: "addr=<addr>,nolock,noatime,soft,rw" device: ":/mnt/ssd/configs/audiobookshelf_metadata" ``` Env: ubuntu 22.04
adam added the bug label 2026-04-24 23:31:54 +02:00
adam closed this issue 2026-04-24 23:31:54 +02:00
Author
Owner

@advplyr commented on GitHub (Apr 25, 2023):

Can you share your docker compose or docker run command? What operating system are you running the server on?
Are you using NFS drives?

@advplyr commented on GitHub (Apr 25, 2023): Can you share your docker compose or docker run command? What operating system are you running the server on? Are you using NFS drives?
Author
Owner

@wtangofoxtrot commented on GitHub (Apr 25, 2023):

Can you share your docker compose or docker run command? What operating system are you running the server on? Are you using NFS drives?

sry updated the original comment, basically using the above compose file and the mounts are all nfs based.

@wtangofoxtrot commented on GitHub (Apr 25, 2023): > Can you share your docker compose or docker run command? What operating system are you running the server on? Are you using NFS drives? sry updated the original comment, basically using the above compose file and the mounts are all nfs based.
Author
Owner

@advplyr commented on GitHub (Jul 21, 2023):

The latest release 2.3.3 is using Sqlite now. The library that was being used where this error was coming from is no longer being used.

@advplyr commented on GitHub (Jul 21, 2023): The latest release 2.3.3 is using Sqlite now. The library that was being used where this error was coming from is no longer being used.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#1094