Closed robco closed 3 years ago
Can you try with more ram in the Xmx
?
Hi @gotson, does not relate to memory setting.
Meaning you tried with more and it still crash?
Indeed, tried with various memory settings, up to 1GB. This setting has no effect and still crashes with the same error.
Can you do a uname -m
?
$ uname -m
armv7l
Like this I would say the webp native library for armv7 is not compatible with armv7l.
Any chance you could run it in docker to give a try?
Already tried. Since docker is running on armv7l platform as well I am getting the same issue :/
I'm not sure I can fix the root cause, cross compiling for various hardware is quite difficult, but I could try to add a configuration flag to disable the loading of the native library, and fallback to the pure Java version.
Before I try though, given there is also the sqlite library which is native, could you try to open the jar, delete the webp jars inside (there should be 2), and try again with that modified jar?
Because if sqlite cannot run on your hardware there's nothing I will be able to do.
Probably related : https://github.com/gotson/komga/issues/398
Just a note, the device I am trying to set this up, is WD My Cloud EX2 Ultra NAS. On NAS systems is armv7l is pretty common. Would be great if such architecture was supported but definitely undestand it is not easy to support multiple architectures.
@gotson, I am not sure how to modify JAR file, unfortunatelly all my attempts were not successful.
Btw. sqlite
normally works on this NAS (installed via apt-get
).
I've removed 2 JAR files from komga.jar (webp-imageio-0.2.0.jar
, webp-imageio-decoder-plugin-0.2.jar
) but unfortunatelly not able to run it since I am getting Error: Invalid or corrupt jarfile
error message..
I've seen #398 before I've filed this bug, but I do not particullary see any "sqlite errors" in my run log file..
I'll try to provide a modified jar for you soon so you can give it a try.
I've just tried with jar -xvf komga.jar
+ delete webp + ``jar -cvf komga-patched.jar but now I am getting error
no main manifest attribute, in komga-patched.jar``. Seems it is not that trivial for me.
Thank you for your support!
In fact I get this problem also when trying to open komga on Windows and I get that fatal error.
Why is this problem? Because I wanted to try the program but I can't. I appreciate your help please
In fact I get this problem also when trying to open komga on Windows and I get that fatal error.
Why is this problem? Because I wanted to try the program but I can't. I appreciate your help please
Please open a separate issue and provide all the required information.
Just a note, the device I am trying to set this up, is WD My Cloud EX2 Ultra NAS. On NAS systems is armv7l is pretty common. Would be great if such architecture was supported but definitely undestand it is not easy to support multiple architectures.
I see that they have their own OS, MyCloud OS. But you mentioned Debian. Did you reinstall Debian on that? Or is MyCloud based on Debian?
I am running multiple dockers on this machine, each "service" sandboxed. Base system is Debian as mentioned above.
I am running multiple dockers on this machine, each "service" sandboxed. Base system is Debian as mentioned above.
The webpage you pointed out does not mention Debian, it mentions MyCloud OS…
MyCloud OS = BusyBox Linux. Which runs Docker Engine, in my case Docker v 19.03.8. Within docker I am able to run multiple instances, each instance can be based on different linux OS. In my case I am using Debian 10.
So you are running the jar within a container, container that is running in docker on mycloud os?
What I've tried were 2 scenarios:
Seems the issue is with the architecture armv7l since both cases are failing in the same way..
MyCloud OS5 is BusyBox Linux distribution with WebUI built on top of that where Docker engine is installed and enabling usage of different "VMs" using custom Linux OSes.
@robco Does this still happen with the newly released 0.88.1, which replaces the native webp binaries with optimized Java implementations?
@robco Does this still happen with the newly released 0.88.1, which replaces the native webp binaries with optimized Java implementations?
It does not replace the native lib, it replaces a java lib with another java lib.
@robco could you try with this jar ? It will not load the native webp library automatically.
If that works fine, I will do a change in my fork of the native webp library wrapper to handle armv7l
differently than armv7
@mihailim, same issue with 0.88.1.
@gotson, seems I do not have access to this file in Google Drive. Just sent you a request for access. Thank you.
Hi @gotson, seems your build made Komga to start, spin Tomcat and hook to my defined port (80) properly.
But as soon as I try to open the komga URL for the first time it crashes with error:
my run command: sudo java -jar komga-0.88.1-fix.jar --server.port=80
2021-04-27 08:10:56.968 INFO 25631 --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService 'taskScheduler'
2021-04-27 08:10:59.541 INFO 25631 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 80 (http) with context path ''
2021-04-27 08:11:01.778 INFO 25631 --- [10003-24899729)] org.apache.activemq.audit.base : AMQ601267: User anonymous@invm:0 is creating a core session on target resource ActiveMQServerImpl::serverUUID=250d8585-a71f-11eb-a49e-0242ac110003 [with parameters: [576454fe-a71f-11eb-a49e-0242ac110003, null, ****, 102400, RemotingConnectionImpl [ID=56d92bfb-a71f-11eb-a49e-0242ac110003, clientID=null, nodeID=250d8585-a71f-11eb-a49e-0242ac110003, transportConnection=InVMConnection [serverID=0, id=56d92bfb-a71f-11eb-a49e-0242ac110003]], false, false, false, false, null, org.apache.activemq.artemis.core.protocol.core.impl.CoreSessionCallback@dad3c2, true, OperationContextImpl [24996820] [minimalStore=9223372036854775807, storeLineUp=0, stored=0, minimalReplicated=9223372036854775807, replicationLineUp=0, replicated=0, paged=0, minimalPage=9223372036854775807, pageLineUp=0, errorCode=-1, errorMessage=null, executorsPending=0, executor=OrderedExecutor(tasks=[])], anonymous@invm:0]]
2021-04-27 08:11:02.285 INFO 25631 --- [10003-24899729)] org.apache.activemq.audit.base : AMQ601267: User anonymous@invm:0 is creating a core session on target resource ActiveMQServerImpl::serverUUID=250d8585-a71f-11eb-a49e-0242ac110003 [with parameters: [57b88f7f-a71f-11eb-a49e-0242ac110003, null, ****, 102400, RemotingConnectionImpl [ID=56d92bfb-a71f-11eb-a49e-0242ac110003, clientID=null, nodeID=250d8585-a71f-11eb-a49e-0242ac110003, transportConnection=InVMConnection [serverID=0, id=56d92bfb-a71f-11eb-a49e-0242ac110003]], false, false, false, false, null, org.apache.activemq.artemis.core.protocol.core.impl.CoreSessionCallback@951d64, true, OperationContextImpl [3544700] [minimalStore=9223372036854775807, storeLineUp=0, stored=0, minimalReplicated=9223372036854775807, replicationLineUp=0, replicated=0, paged=0, minimalPage=9223372036854775807, pageLineUp=0, errorCode=-1, errorMessage=null, executorsPending=0, executor=OrderedExecutor(tasks=[])], anonymous@invm:0]]
2021-04-27 08:11:03.418 INFO 25631 --- [Impl$6@10a251b)] org.apache.activemq.audit.base : AMQ601265: User null@invm:0 is creating a core consumer on target resource ServerSessionImpl(jms-session=*N/A*) [with parameters: [0, tasks.background, type = 'task', 0, false, true, null]]
2021-04-27 08:11:03.446 INFO 25631 --- [ main] org.gotson.komga.ApplicationKt : Started ApplicationKt in 138.604 seconds (JVM running for 146.169)
2021-04-27 08:14:32.732 INFO 25631 --- [p-nio-80-exec-1] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header
Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x020x000x010x000x010xfc0x030x030xaa0xa8#G0xe40xe40xaad0xbd0x02i0xc1]. HTTP method names must be tokens
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:417) ~[tomcat-embed-core-9.0.43.jar!/:9.0.43]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:261) ~[tomcat-embed-core-9.0.43.jar!/:9.0.43]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.43.jar!/:9.0.43]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887) ~[tomcat-embed-core-9.0.43.jar!/:9.0.43]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684) ~[tomcat-embed-core-9.0.43.jar!/:9.0.43]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.43.jar!/:9.0.43]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.43.jar!/:9.0.43]
at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
HTTP method names must be tokens
Are you trying to access it via https
? A quick google search on your error seems to indicate that you are trying to use https
instead of http
.
huh, that was it. I was explicitly opening http
, but probably before Komga got booted Safari invisibly tried https
. Now I can successfully create account and login to Komga!
Thanks for the report. I'll do the necessary changes in the webp library and deliver a new Komga release to fix your problem, so you can use mainline releases.
Before trying some changes on the webp library, i would like to test something within Komga to prevent loading the library via a configuration flag. That could come in handy later on for other people having the same kind of problem.
Could you try this jar:
--komga.native-webp=false
, it should not crash and should display in the logs Unloading native WebP library
Hi there.
Just tried and can confim all worked as expected:
--komga.native-webp=false
makes run komga normally. Unloading native WebP library
mesg in the logs present as well.
--komga.native-webp=true
or parameter not specified makes komga to fail on my armv7l
arch.
awesome, thanks for confirming. I'll ship that feature, and also try fixing the lib to disable it for armv7l
.
@robco The new release will include 2 fixes:
armv7l
:tada: This issue has been resolved in version 0.89.2 :tada:
The release is available on:
v0.89.2
Your semantic-release bot :package::rocket:
Komga environment
jar
java -Xmx384m -jar komga-0.85.0.jar
Describe the bug
Komga is unable to start, A fatal error has been detected by the Java Runtime Environment.
Steps to reproduce
Expected behavior
Komga to start successfully
Actual behavior
Launch console dump
Log file
hs_err_pid3624.log