mikenye / docker-picard

Docker container for MusicBrainz Picard
87 stars 11 forks source link

inode exhaustion in log #45

Open 004a opened 2 years ago

004a commented 2 years ago

I'm attempting to start this container for the first time and am receiving the following errors, which look to be preventing startup and proper run of the image.

I've tried both :latest [2.6.3] and 2.6.2. Both present the same output.

Neither the host system nor the container itself report inode exhaustion via a df check.

docker version 20.10.8.

% docker logs -f picard
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-app-niceness.sh: executing...
[cont-init.d] 00-app-niceness.sh: exited 0.
[cont-init.d] 00-app-script.sh: executing...
[cont-init.d] 00-app-script.sh: exited 0.
[cont-init.d] 00-app-user-map.sh: executing...
[cont-init.d] 00-app-user-map.sh: exited 0.
[cont-init.d] 00-clean-logmonitor-states.sh: executing...
[cont-init.d] 00-clean-logmonitor-states.sh: exited 0.
[cont-init.d] 00-clean-tmp-dir.sh: executing...
[cont-init.d] 00-clean-tmp-dir.sh: exited 0.
[cont-init.d] 00-set-app-deps.sh: executing...
[cont-init.d] 00-set-app-deps.sh: exited 0.
[cont-init.d] 00-set-home.sh: executing...
[cont-init.d] 00-set-home.sh: exited 0.
[cont-init.d] 00-take-config-ownership.sh: executing...
[cont-init.d] 00-take-config-ownership.sh: exited 0.
[cont-init.d] 00-xdg-runtime-dir.sh: executing...
[cont-init.d] 00-xdg-runtime-dir.sh: exited 0.
[cont-init.d] 10-certs.sh: executing...
[cont-init.d] 10-certs.sh: exited 0.
[cont-init.d] 10-cjk-font.sh: executing...
[cont-init.d] 10-cjk-font.sh: exited 0.
[cont-init.d] 10-nginx.sh: executing...
[cont-init.d] 10-nginx.sh: exited 0.
[cont-init.d] 10-vnc-password.sh: executing...
[cont-init.d] 10-vnc-password.sh: exited 0.
[cont-init.d] 10-web-index.sh: executing...
[cont-init.d] 10-web-index.sh: exited 0.
[cont-init.d] 90-dbus: executing...
[cont-init.d] 90-dbus: exited 0.
[cont-init.d] 95-check-optical-drive.sh: executing...
[cont-init.d] 95-check-optical-drive.sh: looking for usable optical drives...
[cont-init.d] 95-check-optical-drive.sh: no usable optical drive found.
[cont-init.d] 95-check-optical-drive.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] starting s6-fdholderd...
[services.d] starting certsmonitor...
[services.d] starting xvfb...
[certsmonitor] disabling service: secure connection not enabled.
[xvfb] starting...
[services.d] starting nginx...
[services.d] starting logmonitor...
[nginx] starting...
[services.d] starting statusmonitor...
[logmonitor] no file to monitor: disabling service...
[statusmonitor] no file to monitor: disabling service...
s6-svwait: fatal: timed out
[services.d] starting dbus...
[services.d] starting x11vnc...
[services.d] starting openbox...
[openbox] starting...
[x11vnc] starting...
unix:path=/var/run/dbus/system_bus_socket,guid=8dbeef3f7fdc4cb68995d6b86126fe24
25/08/2021 22:36:20 passing arg to libvncserver: -rfbport
25/08/2021 22:36:20 passing arg to libvncserver: 5900
25/08/2021 22:36:20 passing arg to libvncserver: -rfbportv6
25/08/2021 22:36:20 passing arg to libvncserver: -1
25/08/2021 22:36:20 passing arg to libvncserver: -httpportv6
25/08/2021 22:36:20 passing arg to libvncserver: -1
25/08/2021 22:36:20 passing arg to libvncserver: -desktop
25/08/2021 22:36:20 passing arg to libvncserver: MusicBrainz Picard
25/08/2021 22:36:20 x11vnc version: 0.9.14 lastmod: 2015-11-14  pid: 901
25/08/2021 22:36:20 Using X display :0
25/08/2021 22:36:20 rootwin: 0x298 reswin: 0x200001 dpy: 0x107934d0
25/08/2021 22:36:20
25/08/2021 22:36:20 ------------------ USEFUL INFORMATION ------------------
25/08/2021 22:36:20 X DAMAGE available on display, using it for polling hints.
25/08/2021 22:36:20   To disable this behavior use: '-noxdamage'
25/08/2021 22:36:20
25/08/2021 22:36:20   Most compositing window managers like 'compiz' or 'beryl'
25/08/2021 22:36:20   cause X DAMAGE to fail, and so you may not see any screen
25/08/2021 22:36:20   updates via VNC.  Either disable 'compiz' (recommended) or
25/08/2021 22:36:20   supply the x11vnc '-noxdamage' command line option.
25/08/2021 22:36:20 X COMPOSITE available on display, using it for window polling.
25/08/2021 22:36:20   To disable this behavior use: '-noxcomposite'
25/08/2021 22:36:20
25/08/2021 22:36:20 Wireframing: -wireframe mode is in effect for window moves.
25/08/2021 22:36:20   If this yields undesired behavior (poor response, painting
25/08/2021 22:36:20   errors, etc) it may be disabled:
25/08/2021 22:36:20    - use '-nowf' to disable wireframing completely.
25/08/2021 22:36:20    - use '-nowcr' to disable the Copy Rectangle after the
25/08/2021 22:36:20      moved window is released in the new position.
25/08/2021 22:36:20   Also see the -help entry for tuning parameters.
25/08/2021 22:36:20   You can press 3 Alt_L's (Left "Alt" key) in a row to
25/08/2021 22:36:20   repaint the screen, also see the -fixscreen option for
25/08/2021 22:36:20   periodic repaints.
25/08/2021 22:36:20 GrabServer control via XTEST.
25/08/2021 22:36:20
25/08/2021 22:36:20 Scroll Detection: -scrollcopyrect mode is in effect to
25/08/2021 22:36:20   use RECORD extension to try to detect scrolling windows
25/08/2021 22:36:20   (induced by either user keystroke or mouse input).
25/08/2021 22:36:20   If this yields undesired behavior (poor response, painting
25/08/2021 22:36:20   errors, etc) it may be disabled via: '-noscr'
25/08/2021 22:36:20   Also see the -help entry for tuning parameters.
25/08/2021 22:36:20   You can press 3 Alt_L's (Left "Alt" key) in a row to
25/08/2021 22:36:20   repaint the screen, also see the -fixscreen option for
25/08/2021 22:36:20   periodic repaints.
25/08/2021 22:36:20
25/08/2021 22:36:20 XKEYBOARD: number of keysyms per keycode 7 is greater
25/08/2021 22:36:20   than 4 and 51 keysyms are mapped above 4.
25/08/2021 22:36:20   Automatically switching to -xkb mode.
25/08/2021 22:36:20   If this makes the key mapping worse you can
25/08/2021 22:36:20   disable it with the "-noxkb" option.
25/08/2021 22:36:20   Also, remember "-remap DEAD" for accenting characters.
25/08/2021 22:36:20
25/08/2021 22:36:20 X FBPM extension not supported.
25/08/2021 22:36:20 X display is not capable of DPMS.
25/08/2021 22:36:20 --------------------------------------------------------
25/08/2021 22:36:20
25/08/2021 22:36:20 Default visual ID: 0x21
25/08/2021 22:36:20 Read initial data from X display into framebuffer.
25/08/2021 22:36:20 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/5120
25/08/2021 22:36:20
25/08/2021 22:36:20 X display :0 is 32bpp depth=24 true color
25/08/2021 22:36:20
25/08/2021 22:36:20 Listening for VNC connections on TCP port 5900
25/08/2021 22:36:20
25/08/2021 22:36:20 Xinerama is present and active (e.g. multi-head).
25/08/2021 22:36:20 Xinerama: number of sub-screens: 1
25/08/2021 22:36:20 Xinerama: no blackouts needed (only one sub-screen)
25/08/2021 22:36:20
25/08/2021 22:36:20 fb read rate: 1792 MB/sec
25/08/2021 22:36:20 fast read: reset -wait  ms to: 10
25/08/2021 22:36:20 fast read: reset -defer ms to: 10
25/08/2021 22:36:20 The X server says there are 10 mouse buttons.
25/08/2021 22:36:20 screen setup finished.
25/08/2021 22:36:20

The VNC desktop is:      625fc3ce7c60:0
PORT=5900

******************************************************************************
Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?

The scheme stores pixel data offscreen on the VNC viewer side for faster
retrieval.  It should work with any VNC viewer.  Try it by running:

    x11vnc -ncache 10 ...

One can also add -ncache_cr for smooth 'copyrect' window motion.
More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching

[services.d] starting app...
[app] starting MusicBrainz Picard...
+ HOME=/config
+ export HOME
+ rm -rf /config/xdg/config/chromium/Singleton*
[services.d] done.
+ /usr/local/bin/picard
inotify_add_watch(/) failed: (No space left on device)
inotify_add_watch(/config) failed: (No space left on device)
^C

Any ideas?

mikenye commented 2 years ago

Can you please post the output of df and df -i from the underlying host?

Also can you please post your docker-compose.yml or docker run command?

004a commented 2 years ago

As you can see below, the filesystem and inodes are nowhere near max.

% df /
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/md2       949781556 229342884 672122704  26% /

% df -i /
Filesystem       Inodes   IUsed    IFree IUse% Mounted on
/dev/md2       60375040 1140133 59234907    2% /

Here's the simple compose file:

version: '3'

services:
  picard:
    container_name: picard
    image: mikenye/picard
    # image: mikenye/picard:2.6.2
    environment:
      TZ: America/New_York
      USER_ID: '997'
      GROUP_ID: '996'
      UMASK: '002'
      KEEP_APP_RUNNING: 1
    networks:
      - default
      - private
    ports:
      - "127.0.0.1:5801:5800"
    restart: unless-stopped
    volumes:
      - ./config:/config:rw
      - data:/data

volumes:
  data:
    driver: local
  config:
    driver: local
  logs:
    driver: local

networks:
  default:
  private:
    external:
     name: private
mikenye commented 2 years ago

Can you please run the following and post the output:

sysctl fs.inotify.max_user_watches
sysctl fs.inotify.max_user_watches=16384

Can you then re-run the container and see if that's fixed the issue?

004a commented 2 years ago

The number of watches is already double that of your suggestion.

% sudo sysctl fs.inotify.max_user_watches
fs.inotify.max_user_watches = 32768