-
-
Notifications
You must be signed in to change notification settings - Fork 235
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
[Bug] sqlite issue on aarch64 #354
Comments
Can you provide more information about your hardware in general, and cpu model in particular? |
/proc/cpuinfoprocessor : 0 BogoMIPS : 108.00 Features : fp asimd evtstrm crc32 cpuid CPU implementer : 0x41 CPU architecture: 8 CPU variant : 0x0 CPU part : 0xd08 CPU revision : 3 lscpuArchitecture: aarch64 Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 Vendor ID: ARM Model: 3 Model name: Cortex-A72 Stepping: r0p3 CPU max MHz: 1500.0000 CPU min MHz: 600.0000 BogoMIPS: 108.00 Flags: fp asimd evtstrm crc32 cpuid /etc/os-releasePRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" |
Can you perform a |
|
From the look of it, the code for the sqlite native loader doesn't branch properly on your system. I'll need to add more debug logs in the sqlite native loader. |
Actually since you are running on docker, could you exec inside the container and perform the same |
|
I've published a new version |
It just hangs there until i kill the container. Also |
You seem to have the same issue as #349, which seems to confirm my intuition that your pi is not properly configured for proper 64bits. I don't own a pi but read that it can be configured as 32 and 64 bits. |
Could you try with this image |
It's been released in the latest version so you can try that instead. |
Quick try with
That looks like a permission issue on my end, i'll look into that |
you might be correct that my pi is not properly configured for 64bit support, i don't even know how i got here tbh. but i do know that the other containers i run play nice with it, as i never had this problem before. the other containers being nginx, pihole and a bunch of linuxserver containers. running komga without docker via |
Would you be able to get me the logs when running with the jar? I'll try to have a look at those. |
And if you could also get the sha256 of the docker image that was pulled and used? |
With the newly added logs it seems this comparison fails, but it should work. I suppose the string is not strictly equals to So your system appear to be
Other containers you have are working because they are not trying to load a native library which is dependent of the architecture. I will add some more logs, and try to fix that failing comparison. |
I've pushed a new version on DockerHub |
Thanks. That confirms there was a bug in the original sqlite loader, which is now fixed. Basically With the additional logs i found a second bug, where the resolved architecture is I have pushed a new version on the same docker image tag. Can you try to pull the latest |
Now it loads but there's a format error. I have a very strong feeling this never worked at all un the upstream library, I will take it there and see if we can fix it upstream, as my knowledge around native compilation is limited. |
Would you be able to run the following and report back with the output ?
It will output the result of Given it's apparently very difficult to match the sha256 of a local image with the sha256 of an image on DockerHub for multi-arch images, i would like to try this to confirm what your docker client is actually pulling. The error above suggests that a 32bit JVM is trying to load a 64bit binary, which means the sqlite native library for aarch64 would be correct, but your docker client would have somehow pulled an arm32 image for Komga. Those are speculations, hopefully the containerized java version will tell us more! |
Just found this by checking again the output of your docker inspect :
Looks like your docker client is pulling the arm32 image instead of aarch64. You could try to force the pull of the aarch64 by using the sha256 directly I think, to give it a try. |
Could you provide the output of |
An running the following just exited with no output.
|
I think there's a problem with your docker client: It should be The
I think you can try having a look in that direction, maybe on the Raspbian forums/chat ? You could try uninstalling and reinstalling docker completely, maybe it was installed before you switched your Pi to 64bits ? |
So the problem turned out to be on my end, as expected. I was running raspbian with the 64bit kernel but still with 32bit userland. And i guess multiarch images are kind of funky with that kind of setup. Anyway, had some free time and reinstalled everything properly and now komga seems to be working fine on 64bit rpi. Thanks for the help and your time trying to figure things out. |
Glad you sorted it out! Thanks to you I uncovered quite a big bug in sqlite-jdbc which has been corrected. I also learned a lot about native libraries, and Docker. |
Komga environment
Describe the bug
Starting Komga prints the Same error as #345 & #349. Adding
--env LOGGING_LEVEL_ORG_GOTSON_KOMGA=DEBUG
shows some architecture warnings (i'm using aarch64) and something about sqlite library missing.Log
The text was updated successfully, but these errors were encountered: