linuxserver / docker-headphones

http://linuxserver.io
GNU General Public License v3.0
48 stars 24 forks source link

Database error: disk I/O error #24

Closed Azazel666 closed 7 years ago

Azazel666 commented 7 years ago

Im having trouble getting headphones running. Im currently setting up a new media server and trying to run all services (eg. sonarr, headphones, etc.) as docker containers. When browsing the server at port 8181 i get: Traceback (most recent call last): File "/app/headphones/lib/cherrypy/_cprequest.py", line 670, in respond response.body = self.handler() File "/app/headphones/lib/cherrypy/lib/encoding.py", line 217, in call self.body = self.oldhandler(*args, *kwargs) File "/app/headphones/lib/cherrypy/_cpdispatch.py", line 61, in call return self.callable(self.args, **self.kwargs) File "/app/headphones/headphones/webserve.py", line 69, in home myDB = db.DBConnection() File "/app/headphones/headphones/db.py", line 47, in init self.connection.execute("PRAGMA synchronous = OFF") OperationalError: disk I/O error

My server is running Debian 8. And i have setup my server using docker compose file. Here is my setup on the headphones: headphones: image: linuxserver/headphones container_name: headphones depends_on:

Checking the logfile in the /mnt/storage/appdata/headphones (/config in the docker container): 25-May-2017 18:45:48 - INFO :: MainThread : Checking to see if the database has all tables.... 25-May-2017 18:45:48 - INFO :: MainThread : Retrieving latest version information from GitHub 25-May-2017 18:45:49 - INFO :: MainThread : Headphones is up to date 25-May-2017 18:45:49 - INFO :: MainThread : Using forced web server port: 8181 25-May-2017 18:45:49 - INFO :: MainThread : Starting Headphones web server on http://0.0.0.0:8181/ 25-May-2017 18:45:49 - INFO :: MainThread : Scheduled background task: Search for Wanted 25-May-2017 18:45:49 - INFO :: MainThread : Scheduled background task: Download Scan 25-May-2017 18:45:49 - INFO :: MainThread : Scheduled background task: Library Scan 25-May-2017 18:45:49 - INFO :: MainThread : Scheduled background task: MusicBrainz Update 25-May-2017 18:45:49 - INFO :: MainThread : Scheduled background task: Check GitHub for updates 25-May-2017 18:50:49 - ERROR :: Thread-12 : Database error: disk I/O error

Don't know if this is something to cause an issue but im running mergerfs, currently only have one disk but when will use the disks from the old server when its all migrated. /mnt/storage is the mergerfs mount point where the actual mounted disk /mnt/disk1 is shown.

have read this issue https://github.com/linuxserver/docker-headphones/issues/5 and posting some of the debug commands referenced here too. from inside the container: root@dd67a8e0609a:/$ ls -l /config/ total 184 drwxr-xr-x 2 abc abc 4096 May 25 20:45 cache -rw-r--r-- 1 abc abc 5313 May 25 20:45 config.ini -rw-r--r-- 1 abc abc 131072 May 25 20:50 headphones.db -rw-r--r-- 1 abc abc 32768 May 26 07:51 headphones.db-shm -rw-r--r-- 1 abc abc 0 May 25 20:50 headphones.db-wal drwxr-xr-x 2 abc abc 4096 May 25 20:45 logs -rw-r--r-- 1 abc abc 40 May 26 07:01 version.lock

root@dd67a8e0609a:/$ ps aux | grep headphones 210 root 0:00 s6-supervise headphones 213 abc 0:02 python /app/headphones/Headphones.py -p 8181 --datadir=/config

docker logs: [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] 10-adduser: executing... 'roupmod: invalid group ID '1050 'sermod: invalid user ID '1050


      _     _ _
     | |___| (_) ___
     | / __| | |/ _ \
     | \__ \ | | (_) |
     |_|___/ |_|\___/
           |_|

Brought to you by linuxserver.io We gratefully accept donations at: https://www.linuxserver.io/donations/

GID/UID

User uid: 911 User gid: 1001

[cont-init.d] 10-adduser: exited 0. [cont-init.d] 30-install: executing... Cloning into '/app/headphones'... [cont-init.d] 30-install: exited 0. [cont-init.d] 40-config: executing... [cont-init.d] 40-config: exited 0. [cont-init.d] done. [services.d] starting services [services.d] done. 26-May-2017 06:55:52 - INFO :: MainThread : Checking to see if the database has all tables.... 26-May-2017 06:55:52 - ERROR :: MainThread : Can't connect to the database: disk I/O error 26-May-2017 06:55:52 - INFO :: MainThread : Retrieving latest version information from GitHub 26-May-2017 06:55:53 - INFO :: MainThread : Headphones is up to date 26-May-2017 06:55:53 - INFO :: MainThread : Using forced web server port: 8181 26-May-2017 06:55:53 - INFO :: MainThread : Starting Headphones web server on http://0.0.0.0:8181/ 26-May-2017 06:55:53 - INFO :: MainThread : Scheduled background task: Search for Wanted 26-May-2017 06:55:53 - INFO :: MainThread : Scheduled background task: Download Scan 26-May-2017 06:55:53 - INFO :: MainThread : Scheduled background task: Library Scan 26-May-2017 06:55:53 - INFO :: MainThread : Scheduled background task: MusicBrainz Update 26-May-2017 06:55:53 - INFO :: MainThread : Scheduled background task: Check GitHub for updates 26-May-2017 07:00:51 - INFO :: MainThread : Signal 15 caught, saving and exiting... [cont-finish.d] executing container finish scripts... [cont-finish.d] done. [s6-finish] syncing disks. [s6-finish] sending all processes the TERM signal. [s6-finish] sending all processes the KILL signal and exiting. [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] 10-adduser: executing... 'roupmod: invalid group ID '1050 'sermod: invalid user ID '1050

i have pretty much no idea whats wrong here.

sparklyballs commented 7 years ago

i have no experience with mergerfs but in the unraid environment we recommend that a non array drive be used for appdata especially when apps use sqlite or postgres databases.

Azazel666 commented 7 years ago

so just change from /mnt/storage/ to /mnt/disk1/ might resolve it or using the system disk all toghether. I will try it out, think i'm having the same problem with sonarr too.

Azazel666 commented 7 years ago

i have changed my /config location to /opt/appdata/headphones wich is on the system os storage and now i get another error. Container does not log or creates any files except config.ini. used the docker logs command and it gave me this error on repeat: Traceback (most recent call last): File "/app/headphones/Headphones.py", line 23, in from headphones import webstart, logger File "/app/headphones/headphones/init.py", line 28, in from apscheduler.schedulers.background import BackgroundScheduler File "/app/headphones/lib/apscheduler/schedulers/background.py", line 4, in from apscheduler.schedulers.base import BaseScheduler File "/app/headphones/lib/apscheduler/schedulers/base.py", line 10, in from tzlocal import get_localzone ImportError: No module named tzlocal

Azazel666 commented 7 years ago

now my headphones docker works, dunno why but it might be related to .env not setup right. both PUID=${PUID} & PGID=${PGID} was unset it thought but when i copied my file to the same dir and renamed it .env and re-runned my docker creation headphones now work.