Enable debug logging in SickChill settings, reproduce the error (be sure to disable after the bug is fixed)
Branch/Commit: 64e55244d Release 2020.9.6.post7
OS: raspbian
Browser: all
What you did: upgraded Sichchill to the Python3 version and updated to startup script accordingly
What happened: ShckChill fails to start (log below)
What you expected: SichChill to start
Logs:
Traceback (most recent call last):
File "/mnt/Elements/usr/local/SickChill/SickChill.py", line 14, in <module>
import sickchill.start
File "/mnt/Elements/usr/local/SickChill/sickchill/__init__.py", line 1, in <module>
from .show.indexers import indexer, ShowIndexer
File "/mnt/Elements/usr/local/SickChill/sickchill/show/indexers/__init__.py", line 1, in <module>
from .handler import ShowIndexer
File "/mnt/Elements/usr/local/SickChill/sickchill/show/indexers/handler.py", line 5, in <module>
from sickchill.tv import Show, TVEpisode
File "/mnt/Elements/usr/local/SickChill/sickchill/tv.py", line 21, in <module>
import sickchill.oldbeard.providers
File "/mnt/Elements/usr/local/SickChill/sickchill/oldbeard/providers/__init__.py", line 6, in <module>
from sickchill.oldbeard.providers import (abnormal, alpharatio, archetorrent, binsearch, bitcannon, bjshare, btn, cpasbien, danishbits, demonoid, elitetorrent,
File "/mnt/Elements/usr/local/SickChill/sickchill/oldbeard/providers/abnormal.py", line 10, in <module>
from sickchill.providers.torrent.TorrentProvider import TorrentProvider
ImportError: bad magic number in 'sickchill.providers': b'\x03\xf3\r\n'
I manually updated SickChill to the Python3 version with git pull command:
sudo git reset --hard FETCH_HEAD
HEAD is now at 64e55244d Release 2020.9.6.post7
I also updated my startup script to use python3:
sb_datadir=/mnt/Elements/var/sickbeard
sb_config=${sb_datadir}/sickbeard.ini
/usr/bin/sudo -u pi -H python3 /mnt/Elements/usr/local/SickChill/SickChill.py -d --datadir ${sb_datadir} --config ${sb_config}
Starting SickChill without arguments also gives the error showing above.
Did I do something wrong? Did I miss something?
Issue-Label Bot is automatically applying the label Bug / Issue to this issue, with a confidence of 0.96. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!
Links: app homepage, dashboard and code for this bot.
Did a search in google for the magic numbers error and found that when migrating from python2 to python3 we need to clean the pyc files, so I've executed the following command on the installation folder and also on the settings folder:
find . -name \*.pyc -delete
I also deleted the cache.db file.
Now SickChill starts, but I can't see the web interface, instead I see the following error in the browser:
Looks like we do not have enough disk space to render the page! {error}
On the log file I can only see this:
2020-09-07 12:58:13 INFO :: MAIN :: Starting SickChill [master] using '/mnt/Elements/var/sickbeard/sickbeard.ini'
2020-09-07 12:58:13 INFO :: WEBSERVER :: Starting SickChill on http://0.0.0.0:8081/
2020-09-07 12:58:13 INFO :: MAIN :: Checking for scene exception updates from https://sickchill.github.io/scene_exceptions/scene_exceptions.json
2020-09-07 12:58:13 INFO :: MAIN :: Checking for XEM scene exception updates for theTVDB
2020-09-07 12:58:13 INFO :: MAIN :: Checking for scene exception updates for AniDB
Solved!
Here's what I did after reading some more:
Deleted several files and folders that are not needed (will be recreated after SickChill starts) with the following commands on the SickChill install dir and also on the data dir:
find . -name "*.pyc" -delete
find . -type d -empty -delete
find . -type d -name __pycache__ -delete
Deleted the cache.db file and cache folder from the data dir.
Changed the permissions to the pi user (I run SickChill with the pi user) to all files in the install dir and also on the data dir:
sudo chown pi:pi
Started the SickChill service and now the page loads. No errors so far.
Finally, on the web interface, I had to go to the Mass Update page to perform a rescan on all TV Shows for the images to be shown.
The End. :)
I would leave this issue open for a few days so it is shown for everybody in case they face the same issue.
I'm having a very similar problem. I've tried the advice above but hasn't had an impact:
Traceback (most recent call last):
File "SickChill.py", line 14, in <module>
import sickchill.start
File "/etc/sickchill/sickchill/__init__.py", line 1, in <module>
from .show.indexers import indexer, ShowIndexer
File "/etc/sickchill/sickchill/show/indexers/__init__.py", line 1, in <module>
from .handler import ShowIndexer
File "/etc/sickchill/sickchill/show/indexers/handler.py", line 3, in <module>
from sickchill import logger, settings
File "/etc/sickchill/sickchill/logger.py", line 72
msg = re.sub(fr'\b({item})\b', '*' * 8, msg)
^
@raydowe it needs to be started with a python3.6+ interpreter.
Same issue as @modem above :
Looks like we do not have enough disk space to render the page! {error}
Tried deleting all the cache, pyc and pycache files as stated but it hasn't changed anything unfortunately.
Not much in the logs either.
EDIT: Nevermind, guess something didn't go well when I git pulled.
I re-cloned the repo and it's starting fine now
I am running into the same
Looks like we do not have enough disk space to render the page! {error}
after updating using pip on python 3.8 (was working fine on a version from a few days ago)
I tried deleting pyc and pycache but didn't make a difference. (and no errors in the logs)
I have also tried resetting the permissions on the sickchill data directory, but no luck :(
It's permissions on the cache dir.
@raydowe it needs to be started with a python3.6+ interpreter.
That's going to be a major problem for Debian 8/Jessie/Netgear ReadyNAS users, as Python 3.4 is the latest packaged Python available.
Python 3.1-3.4 is persona-non-grata. Talk to the maintainers about providing a package or compile it yourself.
@miigotu I have deleted the cache directory and cache.db and they get recreated by sickchill no problem but the issue still persists. (I have even tried running chmod -R 777 on the sickchill data directory as well just in case)
chmod -R 777 /path/to/sickchill/gui/slick/cache
Problem arises because you did the pip install with sudo or in the global site packages rather than --user.
@jamver very likely that a python3 deb from the deadsnakes PPA which uses systemd (xenial most likely) will install and work fine on Jessie.
https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa/+packages
Netgear really needs to get on the ball and get you up to Debian 10+.
I'm doing this all in a FreeNAS jail, can't really run pip commands without being the root user it seems :/
why does sickchill need to modify the files in the pip directories? aren't those static files? (I have my sickchill data directory in ~/sickchill, separately from the pip install location)
edit: I finally got it working by running chmod -R 777 /usr/local/lib/python3.8/site-packages/sickchill, gross 🤮
hopefully future versions of sickchill can function without needing modification permissions on pip install files
@miigotu wrote:
very likely that a python3 deb from the deadsnakes PPA which uses systemd (xenial most likely) will install and work fine on Jessie.
https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa/+packages
Deadsnakes Python 3.7 installs, but needs OpenSSL 1.1.1, also not available packaged.
Deadsnakes Python 3.6 works but issues the following warning:
DEPRECATION: The OpenSSL being used by this python install (OpenSSL 1.0.1t 3 May 2016) does not meet the minimum supported version (>= OpenSSL 1.1.1) in order to support TLS 1.3 required by Cloudflare, You may encounter an unexpected Capt.
Netgear really needs to get on the ball and get you up to Debian 10+.
This would be nice, but I don't see it happening any time soon.
@fireph or you could just use the updated iocage...
https://github.com/ix-plugin-hub/iocage-plugin-sickchill/pull/1
https://github.com/ix-plugin-hub/iocage-plugin-index/pull/106
@miigotu wrote:
very likely that a python3 deb from the deadsnakes PPA which uses systemd (xenial most likely) will install and work fine on Jessie.
https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa/+packages
Deadsnakes Python 3.7 installs, but needs OpenSSL 1.1.1, also not available packaged.
Deadsnakes Python 3.6 works but issues the following warning:
DEPRECATION: The OpenSSL being used by this python install (OpenSSL 1.0.1t 3 May 2016) does not meet the minimum supported version (>= OpenSSL 1.1.1) in order to support TLS 1.3 required by Cloudflare, You may encounter an unexpected Capt.Netgear really needs to get on the ball and get you up to Debian 10+.
This would be nice, but I don't see it happening any time soon.
You'll get a captcha either way if you don't add cookies for the providers that need them. Looks like that python3.6 will work (or you can find the newer openssl1.1.1 externally)
I'm on Raspbian as well and after the upgrade, Sickchill crashes constantly. I've tried all of the above solutions, but it seems it still won't work. I've tried erasing and reinstalling the whole thing but still no luck. It might have something to do with the systemd script, which I had to write myself because Sickchill doens't come with init scripts anymore (?).
THis is the error I'm getting:
2020-09-10 14:26:17 ERROR :: MAIN :: Unable to setup GitHub properly. GitHub will not be available. Error: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /orgs/SickChill (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
2020-09-09 06:58:37 ERROR :: MAIN :: Unable to setup GitHub properly. GitHub will not be available. Error: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /orgs/SickChill (Caused by ConnectTimeoutError(, 'Connection to api.github.com timed out. (connect timeout=15)'))
2020-09-08 23:36:05 ERROR :: MAIN :: Unable to setup GitHub properly. GitHub will not be available. Error: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /orgs/SickChill (Caused by ConnectTimeoutError(, 'Connection to api.github.com timed out. (connect timeout=15)'))
2020-09-08 18:38:53 ERROR :: MAIN :: Unable to setup GitHub properly. GitHub will not be available. Error: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /orgs/SickChill (Caused by ConnectTimeoutError(, 'Connection to api.github.com timed out. (connect timeout=15)'))
2020-09-08 18:38:31 ERROR :: MAIN :: Unable to setup GitHub properly. GitHub will not be available. Error: HTTPSConnectionPool(host='api.github.com', port=443): Max retries exceeded with url: /orgs/SickChill (Caused by ConnectTimeoutError(, 'Connection to api.github.com timed out. (connect timeout=15)'))
2020-09-08 15:34:04 ERROR :: MAIN :: Fatal error executing query with db.action in database /opt/sickchill/cache.db: near "?": syntax error
Sickchill constantly restarts:
2020-09-10 15:05:27 INFO :: CHECKVERSION :: Checking for updates using GIT
2020-09-10 15:05:27 INFO :: WEBSERVER :: Starting SickChill on http://0.0.0.0:8081/
2020-09-10 15:05:27 INFO :: MAIN :: Starting SickChill [master] using '/opt/sickchill/config.ini'
2020-09-10 15:05:20 INFO :: WEBSERVER :: Starting SickChill on http://0.0.0.0:8081/
2020-09-10 15:05:20 INFO :: MAIN :: Starting SickChill [master] using '/opt/sickchill/config.ini'
2020-09-10 15:03:46 INFO :: CHECKVERSION :: Checking for updates using GIT
This is the sickchill.service file
`[Unit]
Description=SickChill Daemon
After=network.target
[Service]
Restart=always
User=pi
Group=pi
ExecStart=/usr/bin/python3.7 /opt/sickchill/SickChill.py -q --daemon --nolaunch$
[Install]
WantedBy=multi-user.target`
Thanks for your time
@DavidPinilo the runscripts are in the contrib/runscripts folder
However it seems your cache.db is borked and causes the service to fail and then it is automatically restarted:
Fatal error executing query with db.action in database /opt/sickchill/cache.db: near "?": syntax error
systemctl stop sickchill
rm /opt/sickchill/cache.db
systemctl start sickchill
Traceback (most recent call last): File "/mnt/Elements/usr/local/SickChill/SickChill.py", line 14, in <module> import sickchill.start File "/mnt/Elements/usr/local/SickChill/sickchill/__init__.py", line 1, in <module> from .show.indexers import indexer, ShowIndexer File "/mnt/Elements/usr/local/SickChill/sickchill/show/indexers/__init__.py", line 1, in <module> from .handler import ShowIndexer File "/mnt/Elements/usr/local/SickChill/sickchill/show/indexers/handler.py", line 5, in <module> from sickchill.tv import Show, TVEpisode File "/mnt/Elements/usr/local/SickChill/sickchill/tv.py", line 21, in <module> import sickchill.oldbeard.providers File "/mnt/Elements/usr/local/SickChill/sickchill/oldbeard/providers/__init__.py", line 6, in <module> from sickchill.oldbeard.providers import (abnormal, alpharatio, archetorrent, binsearch, bitcannon, bjshare, btn, cpasbien, danishbits, demonoid, elitetorrent, File "/mnt/Elements/usr/local/SickChill/sickchill/oldbeard/providers/abnormal.py", line 10, in <module> from sickchill.providers.torrent.TorrentProvider import TorrentProvider ImportError: bad magic number in 'sickchill.providers': b'\x03\xf3\r\n'
Congratulations on the baby, @miigotu!
I am seeing the same errors on macOS. It would be great to have step by step instructions on how to upgrade seamlessly to the Python3 version of SickChill and get everything working again. Things are very confusing as they stand and I am sure a lot of people would be helped by clear, platform specific instructions. Looking forward to SickChill being back up and running again!
@rEes9P find /mnt/Elements/usr/local/SickChill -name '*.pyc' -delete
and restart the service
@rEes9P I started a few pages on the wiki, we need people to update and edit the wiki as needed.
https://github.com/SickChill/SickChill/wiki/Python-3-Migration
@DavidPinilo the runscripts are in the
contrib/runscriptsfolder
However it seems your cache.db is borked and causes the service to fail and then it is automatically restarted:
Fatal error executing query with db.action in database /opt/sickchill/cache.db: near "?": syntax errorsystemctl stop sickchill rm /opt/sickchill/cache.db systemctl start sickchill
I had already removed the cache and it didn't work but copying the runscript seems to have worked.
Thanks!
Thanks for the super quick response, @miigotu. On digging further, I see that following @modem's instructions got SickChill back up and running. However, I can't get the AppleScript I had working earlier (do shell script "python /Applications/SickChill/SickChill.py") to run as it doesn't work on Python 3 scripts. I conflated the issue with the script with the SickChill upgrade but see now that I can get SickChill to start running via the Terminal.
In case others on macOS are curious, these are the steps that I followed to get SickChill working.
Stop SickChill if it is running.
Cd into the SickChill directory and run the following commands (from the FAQ) to update to the Python 3 version. @miigotu, please correct me if this is incorrect!
git remote set-url origin https://github.com/SickChill/SickChill.git
git remote set-branches --add origin master
git remote update
git fetch origin
git checkout master
git branch --set-upstream-to origin/master
git reset --hard origin/master
git pull
find . -name \*.pyc -delete
find . -name "*.pyc" -delete
find . -type d -empty -delete
find . -type d -name pycache -delete
Delete the cache.db file and cache folder from the data directory.
Start SickChill by running the python /Applications/SickChill/SickChill.py command in Terminal
do shell script "python3 /Applications/SickChill/SickChill.py
do shell script "python3 /Applications/SickChill/SickChill.py
I tried that but I get "Syntax Error: sh: python3: command not found" 🤷🏻♂️
FWIW, I have Python 3 installed via MacPorts
@rEes9P use the full path to python3 do shell script "/path/to/python3 /Applications/SickChill/SickChill.py
You can do whereis python3 to find the path
@miigotu Thanks, that worked like a charm! I had to make one minor modification to find the path for Python as whereis python3 did not work but which python did. So, the modified shell script for my setup is:
do shell script "/opt/local/bin/python /Applications/SickChill/SickChill.py"
Again, for those just looking at this post, this is for macOS with Python 3.7 installed via MacPorts. I have set Python 3.7 as the default version. For those that don't have Python 3 as the default version, find the path to Python 3 with the command which python3 and modify the script accordingly.
@raydowe it needs to be started with a python3.6+ interpreter.
Why 3.6 in particular ? The latest version of Python shipped in Debian Stretch is 3.5.3. 😞
@DBMandrake because 3.6 introduces breaking changes again to strings that are not backwards compatible and we rely on libraries that use those features.
https://tecadmin.net/install-python-3-8-ubuntu/
Or better yet, update to a secure linux.
Debian 9 has been superseded by Debian 10 (buster). Security updates have been discontinued as of July 6th, 2020.
Ubuntu 16.04 Server Error. I've installed Python 3 following the link provided by @miigotu , and updated the systemctl script to reference Py3, but I am still getting this error.
I have tried all the solutions listed in both this thread and the other Python thread to no success.
● sickchill.service - SickChill Daemon
Loaded: loaded (/etc/systemd/system/sickchill.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2020-09-11 17:02:25 MST; 8s ago
Process: 16648 ExecStart=/usr/bin/python3 /opt/sickchill/SickChill.py -q --daemon --nolaunch --datadir=/opt/sickchill (code=exited, status=1/FAILURE)
Sep 11 17:02:25 mcserver python3[16648]: File "/opt/sickchill/sickchill/show/indexers/handler.py", line 3, in <module>
Sep 11 17:02:25 mcserver python3[16648]: from sickchill import logger, settings
Sep 11 17:02:25 mcserver python3[16648]: File "/opt/sickchill/sickchill/logger.py", line 72
Sep 11 17:02:25 mcserver python3[16648]: msg = re.sub(fr'\b({item})\b', '*' * 8, msg)
Sep 11 17:02:25 mcserver python3[16648]: ^
Sep 11 17:02:25 mcserver python3[16648]: SyntaxError: invalid syntax
Sep 11 17:02:25 mcserver systemd[1]: sickchill.service: Control process exited, code=exited status=1
Sep 11 17:02:25 mcserver systemd[1]: Failed to start SickChill Daemon.
Sep 11 17:02:25 mcserver systemd[1]: sickchill.service: Unit entered failed state.
Sep 11 17:02:25 mcserver systemd[1]: sickchill.service: Failed with result 'exit-code'.
It has to be python3.6+
It has to be python3.6+
I have 3.8 installed currently.
EDIT: User error. I had a symlink pointing at an older version. Sorry to bother.
I noticed I was some commits behind when launching today, so I hit update and everything broke! I'm on netgear readynas. I followed all instructions above, deleting the files, installing python 3.8, updating my service script. This is what I get when I just try and run it:
python3.8 SickChill.py
/apps/sickchill/sickchill/locale
/apps/sickchill/sickchill/locale
Traceback (most recent call last):
File "SickChill.py", line 14, in
import sickchill.start
File "/apps/sickchill/sickchill/__init__.py", line 1, in
from .show.indexers import indexer, ShowIndexer
File "/apps/sickchill/sickchill/show/indexers/__init__.py", line 1, in
from .handler import ShowIndexer
File "/apps/sickchill/sickchill/show/indexers/handler.py", line 5, in
from sickchill.tv import Show, TVEpisode
File "/apps/sickchill/sickchill/tv.py", line 21, in
import sickchill.oldbeard.providers
File "/apps/sickchill/sickchill/oldbeard/providers/__init__.py", line 4, in
import sickchill.oldbeard.helpers
File "/apps/sickchill/sickchill/oldbeard/helpers.py", line 12, in
import ssl
File "/usr/local/lib/python3.8/ssl.py", line 98, in
import _ssl # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'
I probably did several things wrong, I have an apps/SickChill/SickChill folder with another complete glone of the repository - but that also doesn't run either and gives the same error.
@sempisan You seem to have compiled python3.8 without openssl support.
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget curl
curl -O https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz
tar -xf Python-3.8.5.tar.xz
cd Python-3.8.5
./configure --enable-optimizations
make
sudo make altinstall
python3.8 --version
python3.8 -c 'import ssl'
@sempisan You seem to have compiled python3.8 without openssl support.
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget curl curl -O https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz tar -xf Python-3.8.5.tar.xz cd Python-3.8.5 ./configure --enable-optimizations make sudo make altinstall python3.8 --version python3.8 -c 'import ssl'
Thanks for the quick response. I had to run those commands without --enable-optimizations based on the error I received and this article: https://bugs.python.org/issue35074
However, when I run the last command I'm getting the same error:
/opt/Python-3.8.5# python3.8 -c 'import ssl'
Traceback (most recent call last):
File "
File "/usr/local/lib/python3.8/ssl.py", line 98, in
import _ssl # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'
Thanks!
@sempisan SC issue tracker really isnt the place to get help compiling another project.
before the configure line:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/ssl
./configure --with-openssl=/path/to/ssl
Good point. I was able to install Python 3.6.9 and have it work with just the error message about Cloudflare.
It runs fine as root, but when I run as admin, the user the service uses to run it I get
"Looks like we do not have enough disk space to render the page! {error}" when trying to access the site.
There is plenty of space on the drive.
/dev/md0 4.0G 2.9G 882M 77% /
/dev/md127 37T 22T 15T 61% /apps
I searched and saw it may be a permissions error on the cache folder, so I changed it recursively on the entire sickchill folder:
drwxrwxrwx 1 admin admin 36 Sep 12 00:54 cache
-rwxrwxrwx 1 admin admin 471040 Sep 12 09:33 cache.db
However I'm still getting that error and I can't seem to find where in the logs it says what is causing it, I see no ERRORS or WARNINGS in the log file. Sickchill is still running and searching for files, but the site doesn't work.
/usr/local/bin/python3.6 /apps/sickchill/SickChill.py --nolaunch --datadir=/apps/sickchill/app- config --config=/apps/sickchill/app-config/config.ini --port=6766
/apps/sickchill/sickchill/locale
/apps/sickchill/sickchill/locale
DEPRECATION: The OpenSSL being used by this python install (OpenSSL 1.0.1t 3 May 2016) does not meet the minim um supported version (>= OpenSSL 1.1.1) in order to support TLS 1.3 required by Cloudflare, You may encounter a n unexpected Captcha or cloudflare 1020 blocks.
/apps/sickchill/sickchill/locale
/apps/sickchill/sickchill/locale
2020-09-12 10:20:13 DEBUG :: MAIN :: Parsed Show.Name.S02E03.HDTV.XviD-SICKCHILL into Show Name - S02E03 [GROUP : SICKCHILL] [ABD: False] [ANIME: False] [whichReg: ['standard']] Score: 5
2020-09-12 10:20:13 DEBUG :: MAIN :: Found codec for 'Show Name: Ep Name'.
2020-09-12 10:20:13 DEBUG :: MAIN :: formatting pattern: %SN - S%0SE%0E - %EN -> Show Name - S02E03 - Ep Name
2020-09-12 10:20:13 DEBUG :: MAIN :: Trying to parse Show Name - S02E03 - Ep Name.ext
2020-09-12 10:20:13 DEBUG :: MAIN :: Parsed Show Name - S02E03 - Ep Name.ext into Show Name - S02E03 [ABD: Fals e] [ANIME: False] [whichReg: ['standard']] Score: 5
2020-09-12 10:20:13 DEBUG :: MAIN :: The name Show Name - S02E03 - Ep Name.ext parsed into Show Name - S02E03 [ ABD: False] [ANIME: False] [whichReg: ['standard']] Score: 5
2020-09-12 10:20:14 DEBUG :: MAIN :: Checking database structure...sickchill.db
2020-09-12 10:20:14 DEBUG :: MAIN :: Checking database structure...cache.db
2020-09-12 10:20:14 DEBUG :: MAIN :: Checking database structure...failed.db
2020-09-12 10:20:14 DEBUG :: MAIN :: Checking for archived episodes not qualified
2020-09-12 10:20:14 DEBUG :: MAIN :: Checking if we can use git commands: git version
2020-09-12 10:20:14 DEBUG :: MAIN :: Executing git version with your shell in /apps/sickchill/sickchill
2020-09-12 10:20:14 DEBUG :: MAIN :: git version : returned successful
2020-09-12 10:20:14 DEBUG :: MAIN :: Using: git
2020-09-12 10:20:14 DEBUG :: MAIN :: Executing git symbolic-ref -q HEAD with your shell in /apps/sickchill/sick chill
2020-09-12 10:20:14 DEBUG :: MAIN :: git symbolic-ref -q HEAD : returned successful
2020-09-12 10:20:14 DEBUG :: MAIN :: Retrieving the last check time from the DB
2020-09-12 10:20:14 DEBUG :: MAIN :: Loading initial show list
2020-09-12 10:20:14 INFO :: MAIN :: Starting SickChill [master] using '/apps/sickchill/app-config/config.ini'
2020-09-12 10:20:14 INFO :: MAIN :: Forcing web server to port 6766
2020-09-12 10:20:14 INFO :: WEBSERVER :: Starting SickChill on http://0.0.0.0:6766/
2020-09-12 10:20:14 DEBUG :: CHECKVERSION :: Starting new thread: CHECKVERSION
2020-09-12 10:20:14 DEBUG :: CHECKVERSION :: Executing git symbolic-ref -q HEAD with your shell in /apps/sickch ill/sickchill
2020-09-12 10:20:14 DEBUG :: CHECKVERSION :: git symbolic-ref -q HEAD : returned successful
2020-09-12 10:20:14 DEBUG :: CHECKVERSION :: Executing git rev-parse HEAD with your shell in /apps/sickchill/si ckchill
2020-09-12 10:20:14 DEBUG :: CHECKVERSION :: git rev-parse HEAD : returned successful
2020-09-12 10:20:14 DEBUG :: CHECKVERSION :: Executing git config remote.origin.url https://github.com/SickChil l/SickChill.git with your shell in /apps/sickchill/sickchill
Thanks!
You need to add the permissions to /apps/sickchill/sickchill/gui/slick/cache in your case.
Thank you so much! I thought I had done everything, but turns out that folder was a symbolic link and so it didn't propagate!
@sempisan Hi, could you write up a step by step guide on what you did to make sickchill work with python3 on netgear readynas?
@sempisan Hi, could you write up a step by step guide on what you did to make sickchill work with python3 on netgear readynas?
Yes and no, there was way to many things to even remember, and lots of missed steps. What I can remember is:
1) backup SickChill settings
2) Install everything that will be needed:
apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev libgdbm-dev libnss3-dev libssl-dev openssl
3) Install Python 3.6.9
cd /root
wget http://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar zxf Python-3.6.9.tgz
cd Python-3.6.9
./configure --enable-loadable-sqlite-extensions --enable-optimizations
make
make altinstall
4) Update SickChill
5) Test new SickChill
/usr/local/bin/python3.6 /<YourSickChillLocation>/SickChill.py
6) Update your sickchill.service to use python3.6
@sempisan stealing for the wiki =P
Thought it would be best to ask for help in this issue rather than open a new one.
Problem description: A new install of SickChill on Centos 8 with python 3.6.8 fails to start via systemd. I can start it manually as sickchill:sickchill but when I try to systemctl start sickchill.service it fails.
Contents of sickchill.service file:
[Unit]
Description=SickChill Daemon
After=network.target
[Service]
Restart=always
User=sickchill
Group=sickchill
ExecStart=/usr/bin/env python3.6 /home/SickChill/sickchill/SickBeard.py
[Install]
Output of 'systemctl status sickchill' :
sickchill.service - SickChill Daemon
Loaded: loaded (/usr/lib/systemd/system/sickchill.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Sun 2020-09-13 10:02:05 CDT; 4s ago
Process: 8535 ExecStart=/usr/bin/env python3.6 /home/SickChill/sickchill/SickBeard.py (code=exited, status=2)
Main PID: 8535 (code=exited, status=2)
Sep 13 10:02:05 linux01 systemd[1]: sickchill.service: Service RestartSec=100ms expired, scheduling restart.
Sep 13 10:02:05 linux01 systemd[1]: sickchill.service: Scheduled restart job, restart counter is at 5.
Sep 13 10:02:05 linux01 systemd[1]: Stopped SickChill Daemon.
Sep 13 10:02:05 linux01 systemd[1]: sickchill.service: Start request repeated too quickly.
Sep 13 10:02:05 linux01 systemd[1]: sickchill.service: Failed with result 'exit-code'.
Sep 13 10:02:05 linux01 systemd[1]: Failed to start SickChill Daemon.
Output of 'journalctl -u sickchill.service | tail -100' command:
Sep 13 10:02:05 linux01 systemd[1]: sickchill.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Sep 13 10:02:05 linux01 systemd[1]: sickchill.service: Failed with result 'exit-code'.
Sep 13 10:02:05 linux01 systemd[1]: sickchill.service: Service RestartSec=100ms expired, scheduling restart.
Sep 13 10:02:05 linux01 systemd[1]: sickchill.service: Scheduled restart job, restart counter is at 5.
Sep 13 10:02:05 linux01 systemd[1]: Stopped SickChill Daemon.
Sep 13 10:02:05 linux01 systemd[1]: sickchill.service: Start request repeated too quickly.
Sep 13 10:02:05 linux01 systemd[1]: sickchill.service: Failed with result 'exit-code'.
Sep 13 10:02:05 linux01 systemd[1]: Failed to start SickChill Daemon.
Not sure what I'm missing....any help would be greatly appreciated :+1:
@sempisan Hi, could you write up a step by step guide on what you did to make sickchill work with python3 on netgear readynas?
Yes and no, there was way to many things to even remember, and lots of missed steps. What I can remember is:
- backup SickChill settings
- Install everything that will be needed:
apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev libgdbm-dev libnss3-dev libssl-dev openssl- Install Python 3.6.9
cd /root
wget http://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar zxf Python-3.6.9.tgz
cd Python-3.6.9
./configure --enable-loadable-sqlite-extensions --enable-optimizations
make
make altinstall- Update SickChill
- Test new SickChill
/usr/local/bin/python3.6 /<YourSickChillLocation>/SickChill.py- Update your sickchill.service to use python3.6
Hi, when I test new SickCill i get this error:
admin@NAS-516:~$ /usr/local/bin/python3.6 /apps/sickchill/SickChill.py
Traceback (most recent call last):
File "/apps/sickchill/SickChill.py", line 14, in
import sickchill.start
File "/apps/sickchill/sickchill/__init__.py", line 5, in
from .show.indexers import indexer, ShowIndexer
File "/apps/sickchill/sickchill/show/indexers/__init__.py", line 22, in
from .handler import ShowIndexer
File "/apps/sickchill/sickchill/show/indexers/handler.py", line 25, in
import six
ModuleNotFoundError: No module named 'six'
It runs fine on Python 2.7.9 and seams to run latest commit
Branch: master
Commit: 23ad7189c5c3b310c041f087a7059f47e0cbdd9d
Database Version: 44.0
Python Version: 2.7.9 (default, Sep 14 2019, 20:00:08) [GCC 4.9.2]
I´ve updated fvapp-sickchill.service /usr/local/bin/python3.6 /apps/sickchill/SickChill.py but Python version remain 2.7.9
Do you have any idea bout what to do to get it updated?
I just realized I had the incorrect filename in the sickchill.service file, fixed it and now I'm able to start sickchill through systemd. Sorry for posting and wasting people's time :+1:
@kooolkat357
ReadyNAS does not have a git install, you need to update the code manually since you didn't let the updater break your install first =P
systemctl stop fvapp-sickchill
mkdir /data/sickchill-backup
cd /data/sickchill-backup
wget https://github.com/SickChill/SickChill/archive/master.zip
unzip master.zip
cd /apps/sickchill
mv app-config config.xml fvapp-sickchill.service logo.png /data/sickchill-backup/
mv server.key server.cert /data/sickchill-backup/ 2> /dev/null
mv gui/slick/cache /data/sickchill-backup/
find ./ -mindepth 1 -delete
cd /data/sickchill-backup
cp -R app-config app-config-backup
mv app-config config.xml fvapp-sickchill.service logo.png /apps/sickchill/
mv server.key server.cert /apps/sickchill/ 2> /dev/null
mv SickChill-master/* /apps/sickchill
mv cache /apps/sickchill/gui/slick/
rmdir SickChill-master
systemctl start fvapp-sickchill
This should update your source code
@kooolkat357
ReadyNAS does not have a git install, you need to update the code manually since you didn't let the updater break your install first =Psystemctl stop fvapp-sickchill mkdir /data/sickchill-backup cd /data/sickchill-backup wget https://github.com/SickChill/SickChill/archive/master.zip unzip master.zip cd /apps/sickchill mv app-config config.xml fvapp-sickchill.service logo.png /data/sickchill-backup/ mv server.key server.cert /data/sickchill-backup/ 2> /dev/null mv gui/slick/cache /data/sickchill-backup/ find ./ -mindepth 1 -delete cd /data/sickchill-backup cp -R app-config app-config-backup mv app-config config.xml fvapp-sickchill.service logo.png /apps/sickchill/ mv server.key server.cert /apps/sickchill/ 2> /dev/null mv SickChill-master/* /apps/sickchill mv cache /apps/sickchill/gui/slick/ rmdir SickChill-master systemctl start fvapp-sickchillThis should update your source code
What should I do if I already let the updater break the code on READYNAS?
Same thing, but you should also have a backup folder in there with a zip you can save and restore after
python3 /Applications/SickChill/SickChill.py
@miigotu thanks a lot, this solved my problem with the syntax issue. It launches and works great like this, but when directly opening the file SickChill.py it doesn't work.
A bit off-topic, but any idea how to launch this on startup? (using macos) I'm trying to use Automator, but not having any luck.
/path/to/python3 /Applications/SickChill/SickChill.py it isnt any different than starting any other program with the correct binary
Unfortunately that doesn't quite help me. I don't understand what you mean.
python3 /Applications/SickChill/SickChill.py
Works in Terminal to launch SickChill, which is great. No issues there. But I just don't know how to launch it on startup. I used to just load the file on startup (not using a script, but using Apple's startup items). But now, the only way that I can launch SickChill through terminal, otherwise I get the syntax error.
I'm not great with writing even basic code, so I'm lost atm.
I do not use mac, I cant develop the software and also help you with administering your own system. "startup items" and "login items" are incorrect. You should be using launchd since Tiger.
The plist should look something like:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SickChill</key>
<string>io.github.sickchill</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/python3</string>
<string>/path/to/sickchill/SickChill.py</string>
</array>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
@miigotu I completely understand. I just struggle to fully understand the differences in systems and which approaches are relevant to each system.
Anyway, that was just the direction I needed, still took me a while to get it tweaked to work and run on startup.
Thanks a lot for the assistance and all your effort on such an amazing application.
First result on Google 😉
The package runs fine, but when I try to update I get
Looks like we do not have enough disk space to render the page! {error}
I'm on Syno, installed the package by Nyaran.
Sorry, newbie here. Thanks in advance for help.
The package runs fine, but when I try to update I get
Looks like we do not have enough disk space to render the page! {error}I'm on Syno, installed the package by Nyaran.
Sorry, newbie here. Thanks in advance for help.
Fix the permissions on your cache dir, they were set to root by the other package.
The package runs fine, but when I try to update I get
Looks like we do not have enough disk space to render the page! {error}
I'm on Syno, installed the package by Nyaran.
Sorry, newbie here. Thanks in advance for help.Fix the permissions on your cache dir, they were set to root by the other package.
Which permissions does it need to have? It doesn't seem to be root:
ash-4.3# ls -la /volume1/@appstore/sickchill/var/data/cache
total 16
drwxrwxrwx 4 sc-sickchill sickchill 4096 Sep 18 15:35 .
drwxr--r-- 4 sc-sickchill sickchill 4096 Sep 18 20:34 ..
drwxrwxrwx 3 sc-sickchill sickchill 4096 Sep 18 16:02 images
drwxrwxr-x 4 sc-sickchill sickchill 4096 Sep 18 15:56 mako
On my ubuntu 18.04 LTS system with the ubuntu python3.8, pip pulled in an older version of imdbpy, leading to this error:
:~$ python3 .local/bin/SickChill.py
/home/telsin/.local/lib/python3.8/site-packages/sickchill/locale
/home/telsin/.local/lib/python3.8/site-packages/sickchill/locale
/home/telsin/.local/lib/python3.8/site-packages/sickchill/locale
Traceback (most recent call last):
File ".local/bin/SickChill.py", line 40, in
from sickchill.views.server_settings import SRWebServer
File "/home/telsin/.local/lib/python3.8/site-packages/sickchill/views/__init__.py", line 15, in
from .manage import AddShows, Manage, ManageSearches, PostProcess
File "/home/telsin/.local/lib/python3.8/site-packages/sickchill/views/manage/__init__.py", line 1, in
from .add_shows import AddShows
File "/home/telsin/.local/lib/python3.8/site-packages/sickchill/views/manage/add_shows.py", line 21, in
from sickchill.show.recommendations.imdb import imdb_popular
File "/home/telsin/.local/lib/python3.8/site-packages/sickchill/show/recommendations/imdb.py", line 66, in
imdb_popular = imdbPopular()
File "/home/telsin/.local/lib/python3.8/site-packages/sickchill/show/recommendations/imdb.py", line 17, in __init__
self.imdb.topBottomProxy.tvmeter100_parser.rules[0].extractor.rules.append(
File "/home/telsin/.local/lib/python3.8/site-packages/imdb/parser/http/__init__.py", line 90, in __getattr__
return getattr(_sm, name)
AttributeError: module 'imdb.parser.http.topBottomParser' has no attribute 'tvmeter100_parser'
The fix was to install the latest git version:
pip install git+https://github.com/alberanid/imdbpy
The package runs fine, but when I try to update I get
Looks like we do not have enough disk space to render the page! {error}
I'm on Syno, installed the package by Nyaran.
Sorry, newbie here. Thanks in advance for help.Fix the permissions on your cache dir, they were set to root by the other package.
Which permissions does it need to have? It doesn't seem to be root:
ash-4.3# ls -la /volume1/@appstore/sickchill/var/data/cache total 16 drwxrwxrwx 4 sc-sickchill sickchill 4096 Sep 18 15:35 . drwxr--r-- 4 sc-sickchill sickchill 4096 Sep 18 20:34 .. drwxrwxrwx 3 sc-sickchill sickchill 4096 Sep 18 16:02 images drwxrwxr-x 4 sc-sickchill sickchill 4096 Sep 18 15:56 mako
check also the permissions of that two folders. Or just apply the right permissions recursively chown -R sc-sickchill:sickchill /volume1/@appstore/sickchill/var
Just discovered the pip version doesn't remake ..../python3.8/site-packages/sickchill/gui/slick/cache, a symlink pointing into your data dir, on launch. It only creates if it doesn't exist. So when I moved my datadir to do a little cleanup and consolidation into defaults, that link wound up pointing to a non-existent directory and I got the "Not enough disk space to render" error.
Removing the broken link and relaunching cleaned it up and got it working for me.
check also the permissions of that two folders. Or just apply the right permissions recursively
chown -R sc-sickchill:sickchill /volume1/@appstore/sickchill/var
@Nyaran
Did that, didn't work, unfortunately. Still get the error when trying to update.
check also the permissions of that two folders. Or just apply the right permissions recursively
chown -R sc-sickchill:sickchill /volume1/@appstore/sickchill/var@Nyaran
Did that, didn't work, unfortunately. Still get the error when trying to update.
That's really weird... can you try a clean install?
"rm -rf /volume1/@appstore/sickchill (probably you will need to do it with sudo)With the update the day before yesterday, there is no longer a symlink for the cache, and there will not be any disk space error on the gui.
Most helpful comment
Solved!
Here's what I did after reading some more:
Deleted several files and folders that are not needed (will be recreated after SickChill starts) with the following commands on the SickChill install dir and also on the data dir:
find . -name "*.pyc" -delete
find . -type d -empty -delete
find . -type d -name __pycache__ -delete
Deleted the cache.db file and cache folder from the data dir.
Changed the permissions to the pi user (I run SickChill with the pi user) to all files in the install dir and also on the data dir: -R
sudo chown pi:pi
Started the SickChill service and now the page loads. No errors so far.
Finally, on the web interface, I had to go to the Mass Update page to perform a rescan on all TV Shows for the images to be shown.
The End. :)