Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sabnzbd not starting after upgrade sabnzbd to version 4.0.2-62 and Python to version 3.11.4-6 on my NAS DS212+ #5841

Closed
1 task done
MartinWingelaar opened this issue Aug 11, 2023 · 20 comments · Fixed by #5866
Labels

Comments

@MartinWingelaar
Copy link

MartinWingelaar commented Aug 11, 2023

Is this a new Bug?

  • I checked that the bug hasn't been reported before

Package Name

sabnzbd

Package Version

4.0.2-62

Device Model

DS212+

Device Architecture

ARMv5

Firmware Version

6.2.4-25556 Update 7

What happened?

After I installed the latest version of Sabnzbd 4.0.2-62 and Python 3.11.4-6 on my Synology NAS DS212+ sabnzbd is not starting.
My NAS is running DSM 6.2.4-25556 Update 7

The message in the log says:

Sun Aug 6 16:40:24 CEST 2023
Starting sabnzbd command env LANG=en_US.UTF-8 /volume1/@appstore/sabnzbd/env/bin/python3 -OO /volume1/@appstore/sabnzbd/share/SABnzbd/SABnzbd .py -f /volume1/@appstore/sabnzbd/var/config.ini --pidfile /volume1/@appstore/sabnzbd/var/sabnzbd.pid -d
Traceback (most recent call last):
File "/volume1/@appstore/sabnzbd/share/SABnzbd/SABnzbd .py, line 38, in <module>
import ssl
File "/var/packages/python311/target/lib/python3.11/ssl .py", line 100, in <module>
import _ssl # if we can't import it, let the error propagate
^^^^^^^^^^^
ModuleNotFoundError: No module named '_ssl'

Reproduction steps

  1. Updated sabnzbd and Python 3.11
  2. Start Sabnzbc

Install Log

https://pastebin.com/cqLesaL7

Service Log

No response

Other Logs

No response

@MartinWingelaar
Copy link
Author

MartinWingelaar commented Aug 11, 2023

I forgot to upload the service log:

Sun Aug  6 16:40:24 CEST 2023
Starting sabnzbd command env LANG=en_US.UTF-8 /volume1/@appstore/sabnzbd/env/bin/python3 -OO /volume1/@appstore/sabnzbd/share/SABnzbd/SABnzbd.py -f /volume1/@appstore/sabnzbd/var/config.ini --pidfile /volume1/@appstore/sabnzbd/var/sabnzbd.pid -d
Traceback (most recent call last):
  File "/volume1/@appstore/sabnzbd/share/SABnzbd/SABnzbd.py", line 38, in <module>
    import ssl
  File "/var/packages/python311/target/lib/python3.11/ssl.py", line 100, in <module>
    import _ssl             # if we can't import it, let the error propagate
    ^^^^^^^^^^^
ModuleNotFoundError: No module named '_ssl'
sabnzbd is not running

@mreid-tt
Copy link
Contributor

hey @th0ma7, i recall you were doing some work with openssl in #5818. would this error be related to it?

@th0ma7
Copy link
Contributor

th0ma7 commented Aug 11, 2023

Nope not related. This looks like the user as network issues somehow or that he is unable to resolve destination ssl certificate.

I would suggest uninstalling the reinstalling. If he does not want to loose his configs he could the manually download the package from our server then install manually over the existing.

@mreid-tt
Copy link
Contributor

Are you sure of this? Look at this section of the log:

2023/08/06 13:38:23	WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
2023/08/06 13:38:27	WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/

Wouldn't this suggest something missing in Python rather than a network issue? Should he uninstall and re-install Python 3.11?

@th0ma7
Copy link
Contributor

th0ma7 commented Aug 11, 2023

Good catch, indeed this looks new to me. Indeed providing python logs may help. Along with reinstalling python311. But something's fishy...

@MartinWingelaar
Copy link
Author

Hi all,
This is the python3.11 installation log
python311.log

@mreid-tt
Copy link
Contributor

The Python installation log seems to say about the same thing:

2023/08/06 12:58:43	Install packages from wheels [/volume1/@appstore/python311/share/wheelhouse/requirements.txt]
2023/08/06 13:04:22	WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

It may be that Python needs to be completely uninstalled and re-installed. @th0ma7 what do you think?

@th0ma7
Copy link
Contributor

th0ma7 commented Aug 11, 2023

Maybie... Or that there is a new pip version which introduces a new behavior. I'll have to try to reproduce on my end and maybe enforce using a fixed pip version instead .

@tovenaartejo
Copy link

I have the same problem, also with Python 3.11.4-7 version of today. I cannot see any loggings, just that the sabnzbd cannot start. Also on NAS 212

@Safihre
Copy link
Contributor

Safihre commented Aug 14, 2023

@th0ma7 We are getting multiple reports of this.
From the logging it seems clear that the _ssl.c module was not compiled on the DSM 6 toolchains, as on DSM 7 there seems to be no problems.
Do we have any build logs available for the DSM 6 builds?

EDIT: To clarify, the _ssl.c module is part of cpython, so not related to SABnzbd but to the Python build.

@mreid-tt
Copy link
Contributor

@th0ma7 Just to help set some context for this, I can confirm that on my DS916+ (Braswell arch, x64) with SABnzbd v4.0.3-64 and Python 3.11 v3.11.4-7 it works perfectly fine with the latest DSM 7. It could be a DSM 6 issue as suggested or perhaps an ARMv5 arch issue.

@zaadstra
Copy link

zaadstra commented Aug 14, 2023

Same issue here, DS213+ (Qoriq) with DSM 6.2.4. Strange thing that I got this version upgrading from SAB v63 to v64. Yesterday that gave an error about not updating because of Python 311 (this was on board). Today a new Python 311 package was offered, installed it and then SABnzbd v64, which succeeded. Then got an error "cannot start package service".

Uninstalled v64, reinstalled, no luck. Then grabbed the v63 .spk and this works.

By the way I see a huge size difference between the v63 and v64 spk's.

Another note: I also run a DS218+, same Python 311 update and then SAB v64 update. Running fine.
Python 3.11.4-7.

@Safihre
Copy link
Contributor

Safihre commented Aug 14, 2023

@zaadstra could you get the logging through ssh? See if you get the same error.

@th0ma7
Copy link
Contributor

th0ma7 commented Aug 14, 2023

By the way I see a huge size difference between the v63 and v64 spk's.

@zaadstra This was expected as it now relies on python311 libraries instead of re-providing it's own.

Another note: I also run a DS218+, same Python 311 update and then SAB v64 update. Running fine. Python 3.11.4-7.

Can you be more specific? the update works well on your DS218+ (apollolake (x64)but fails on DS213+ (qoriq), right?

Also, are you hitting the same issue as @MartinWingelaar where you have the following in your installation logs (/var/log/packages/python311.log or /var/log/packages/sabnzbd.log)

2023/08/06 12:58:43	Install packages from wheels [/volume1/@appstore/python311/share/wheelhouse/requirements.txt]
2023/08/06 13:04:22	WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

@Safihre
Copy link
Contributor

Safihre commented Aug 15, 2023

@th0ma7 actually the new package (6.2MB) is bigger than the old (4.7MB) not smaller.

@zaadstra
Copy link

zaadstra commented Aug 15, 2023

@th0ma7 @Safihre

Both DS213+ and DS218+ are running DSM 6.2.4 latest update.

Can you be more specific? the update works well on your DS218+ (apollolake (x64) but fails on DS213+ (qoriq), right?

Correct.

Actually the new package (6.2MB) is bigger than the old (4.7MB) not smaller.

Correct. For Qoriq v63 is 4610 KB and v64 is 6060 KB.

I uploaded the logs to pastebin, both for Python 3.11 and sabnzbd, for both NAS models:

python311.log ds218+ https://pastebin.com/WKFYnHv7

python311.log ds213+ https://pastebin.com/Lw5NGb1S

sabnzbd.log ds218+ https://pastebin.com/RhVYZm5N

2023/07/27 13:43:36 upgrade sabnzbd 4.0.2-62 -> 63
2023/08/14 13:22:27 upgrade sabnzbd 4.0.3-63 -> 64

sabnzbd.log ds213+ https://pastebin.com/uCqQFh04

2023/07/22 00:01:44 sabnzbd 4.0.2-62 -> 63
2023/08/14 13:25:52 sabnzbd 4.0.3-63 -> 64

(fails to start)
2023/08/14 13:35:38 start sabnzbd 4.0.3-64 Begin start-stop-status start
/var/packages/sabnzbd/scripts/start-stop-status: line 31: 15558 Illegal instruction (core dumped) ${service} >> ${OUT} 2>&1
2023/08/14 13:36:05 start sabnzbd 4.0.3-64 End start-stop-status start ret=[1]
2023/08/14 13:36:06 (system) trigger sabnzbd 4.0.3-64 Begin start-stop-status stop
2023/08/14 13:36:06 (system) trigger sabnzbd 4.0.3-64 End start-stop-status stop ret=[0]

(reboot)

2023/08/14 13:55:26 start sabnzbd 4.0.3-64 Begin start-stop-status start
/var/packages/sabnzbd/scripts/start-stop-status: line 31: 12265 Illegal instruction (core dumped) ${service} >> ${OUT} 2>&1
2023/08/14 13:55:56 start sabnzbd 4.0.3-64 End start-stop-status start ret=[1]
2023/08/14 13:55:57 (system) trigger sabnzbd 4.0.3-64 Begin start-stop-status stop
2023/08/14 13:55:57 (system) trigger sabnzbd 4.0.3-64 End start-stop-status stop ret=[0]

(uninstall)
2023/08/14 13:56:29 uninstall sabnzbd 4.0.3-64 Begin preuninst

(reinstall v64 from package service)
2023/08/14 13:57:46 install sabnzbd 4.0.3-64 Begin preinst

(uninstall)
2023/08/14 14:01:04 uninstall sabnzbd 4.0.3-64 End postuninst ret=[0]

(install v63 from .spk)
2023/08/14 14:02:33 install sabnzbd 4.0.3-63 Begin preinst

Hope this helps.

@th0ma7
Copy link
Contributor

th0ma7 commented Aug 15, 2023

@zaadstra this confirms my theory whereas your problem is different than the one encountered by @MartinWingelaar. Your pip calls are working out just fine, meaning you do have openssl working ok. The issue in your case really is the core dumped which I presume is due to cryptography wheel. I'll have to investigate a bit further.

Can you please open-up a different issue relatively to sabnzbd core dumped at startup on qoriq so we can track your issue from there? thnx.

@zaadstra
Copy link

Done, core dump goes to issue 5847.

@th0ma7
Copy link
Contributor

th0ma7 commented Sep 3, 2023

@MartinWingelaar Just returned from vacation and was able to find some time to further investigate. It hapens that ARMv5 can no longer be supported and a python 3.11 package update should not have been made available to your platform. The workaround for you is to revert to a previous version of Python 3.11 being version 3.11.4-6 (manually available at https://synocommunity.com/package/python311).

To manually downgrade you can follow this guide https://github.com/SynoCommunity/spksrc/wiki/Frequently-Asked-Questions#downgrade-a-package-without-uninstalling-advanced or simply uninstall and re-install the proper version (but will lose your local preferences).

In the meantime, I've removed the culprit package from our repository online to avoid other similar issues.

More information available at #5820 (comment)

@th0ma7 th0ma7 closed this as completed Sep 3, 2023
@mreid-tt
Copy link
Contributor

mreid-tt commented Jan 25, 2024

@MartinWingelaar Just returned from vacation and was able to find some time to further investigate. It hapens that ARMv5 can no longer be supported and a python 3.11 package update should not have been made available to your platform. The workaround for you is to revert to a previous version of Python 3.11 being version 3.11.4-6 (manually available at https://synocommunity.com/package/python311).

@th0ma7, this version of Python v3.11.4-6 does not seem to be available online anymore. Having a similar issue reported by an ARMv5 user but using python310 (from Discord).

EDIT: Refer to #5990 for details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants