Closed capntrips closed 3 years ago
I already submitted a bug report with nzbget, but I don't expect immediate resolution, and the arm32 builds won't work, in the meantime.
The issue is that with v21.0-ls71, Alpine was was upgraded to 3.13, which uses musl 1.2.2. As of 1.2.0, musl uses time64, even on 32-bit archs:
musl 1.2.0 changes the definition of
time_t
, and thereby the definitions of all derived types, to be 64-bit across all archs. This and related changes are collectively referred to as "time64", and are necessary so that data types and functions dealing with time can represent time past early 2038, where the existing 32-bit type on 32-bit archs would overflow.
I asked about legacy compatibility on the musl IRC and was told that apps built against the old headers will continue to use time32. I tested this by compiling nzbget on Alpine 3.12 in the build stage then running it on Alpine 3.13, and it works fine.
I also tested it on the latest Ubuntu base image (which obviously doesn't use musl), and it worked fine (with nearly double the image size).
I'm happy to submit a PR for either of those scenarios.
For anyone that ends up here that wants a quick fix, just roll back to linuxserver/nzbget:v21.0-ls70 for now.
Sounds like you need to upgrade your libseccomp2: https://docs.linuxserver.io/faq#my-host-is-incompatible-with-images-based-on-ubuntu-focal
# docker exec nzbget date
Tue Mar 2 02:51:45 CST 2021
Also, if the nzbget binary is compiled on Alpine 3.12, it runs on Alpine 3.13 without issue.
I think compiling on 3.12 until/if this get fixed upstream is the best approach.
Expected Behavior
nzbget should not segfault on arm32
Current Behavior
nzbget segfaults when a time is encountered (when an nzb is in the queue or history).
Steps to Reproduce
Environment
OS: linux CPU architecture: arm32 How docker service was installed: from the official docker repo
Command used to create docker container (run/create/compose/screenshot)
Docker logs