MinimServer Forum
I encountered an error while installing MinimServer on OpenWrt. Can anyone help me so - Printable Version

+- MinimServer Forum (https://forum.minimserver.com)
+-- Forum: MinimServer (/forumdisplay.php?fid=1)
+--- Forum: Support (/forumdisplay.php?fid=4)
+--- Thread: I encountered an error while installing MinimServer on OpenWrt. Can anyone help me so (/showthread.php?tid=7288)



I encountered an error while installing MinimServer on OpenWrt. Can anyone help me so - Bryant_Hifi - 22-07-2024 09:11

I encountered an error while installing MinimServer on OpenWrt. Can anyone help me solve this issue?

java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (IcedTea 3.18.0) (Alpine 8.282.08-r1)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)

MinimServer 2.2, Copyright © 2012-2022 Simon Nash. All rights reserved.
autoUpdate: installed package 'minimserver-update-253'
Enter command (? for help):
autoUpdate: relaunching
>MinimServer 2.2 update 253, Copyright © 2012-2024 Simon Nash. All rights reserved.
MinimServer: startup error (see crash file for stack trace)
MinimServer fatal error: stopping runtime


Log

MinimServer crash dump, produced at 20240722-154910.858

MinimServer: startup error

java.lang.ExceptionInInitializerError
at sun.security.ssl.SignatureAlgorithmsExtension$CHSignatureSchemesProducer.produce​(SignatureAlgorithmsExtension.java:188)
at sun.security.ssl.SSLExtension.produce(SSLExtension.java:542)
at sun.security.ssl.SSLExtensions.produce(SSLExtensions.java:253)
at sun.security.ssl.ClientHello$ClientHelloKickstartProducer.produce(ClientHello.ja​va:572)
at sun.security.ssl.SSLHandshake.kickstart(SSLHandshake.java:500)
at sun.security.ssl.ClientHandshakeContext.kickstart(ClientHandshakeContext.java:10​7)
at sun.security.ssl.TransportContext.kickstart(TransportContext.java:231)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:387)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDe​legateHttpsURLConnection.java:185)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl​.java:167)
at org.jminim.core.RuntimeImpl.urlConnect(RuntimeImpl.java:2891)
at org.jminim.core.RuntimeImpl.urlLoadProperties(RuntimeImpl.java:2794)
at org.jminim.lib.RuntimeService$Proxy.urlLoadProperties(RuntimeService.java:310)
at org.jminim.lib.PackageManager.urlLoadProperties(PackageManager.java:160)
at org.jminim.lib.PackageManager.getUpdatePackages(PackageManager.java:764)
at org.jminim.lib.PackageManager.checkOffer(PackageManager.java:1117)
at org.jminim.lib.PackageManager.doCheckUpdateOffer(PackageManager.java:1090)
at org.jminim.lib.PackageManager.checkUpdateOffer(PackageManager.java:136)
at com.minimserver.lib.ServerControl.checkUpdateOffer(ServerControl.java:698)
at com.minimserver.lib.ServerControl.installAutoUpdate(ServerControl.java:1108)
at com.minimserver.Server.doStart(Server.java:1811)
at com.minimserver.Server.start(Server.java:1427)
at org.jminim.core.ContextImpl.startComponent(ContextImpl.java:214)
at org.jminim.core.ContextImpl.start(ContextImpl.java:139)
at org.jminim.core.RootContextImpl.startComponent(RootContextImpl.java:81)
at org.jminim.core.ContextImpl.start(ContextImpl.java:139)
at org.jminim.core.RuntimeImpl.run(RuntimeImpl.java:2975)
at org.jminim.core.LauncherImpl.run(LauncherImpl.java:1327)
at org.jminim.core.LauncherImpl.launch(LauncherImpl.java:126)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav​a:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jminim.mlaunch.MinimLaunch.doLaunch(MinimLaunch.java:525)
at org.jminim.mlaunch.MinimLaunch.launch(MinimLaunch.java:150)
at org.jminim.mlaunch.MinimLaunch.launch(MinimLaunch.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav​a:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jminim.launch.Launcher.launch(Launcher.java:88)
at com.minimserver.launch.LaunchServer.main(LaunchServer.java:38)
Caused by: java.security.ProviderException: Could not initialize NSS
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:223)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:103)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorI​mpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorA​ccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:224)
at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:206)
at java.security.AccessController.doPrivileged(Native Method)
at sun.security.jca.ProviderConfig.doLoadProvider(ProviderConfig.java:206)
at sun.security.jca.ProviderConfig.getProvider(ProviderConfig.java:187)
at sun.security.jca.ProviderList.getProvider(ProviderList.java:233)
at sun.security.jca.ProviderList.getIndex(ProviderList.java:263)
at sun.security.jca.ProviderList.getProviderConfig(ProviderList.java:247)
at sun.security.jca.ProviderList.getProvider(ProviderList.java:253)
at java.security.Security.getProvider(Security.java:503)
at sun.security.ssl.SignatureScheme.<init>(SignatureScheme.java:307)
at sun.security.ssl.SignatureScheme.<init>(SignatureScheme.java:246)
at sun.security.ssl.SignatureScheme.<init>(SignatureScheme.java:238)
at sun.security.ssl.SignatureScheme.<init>(SignatureScheme.java:231)
at sun.security.ssl.SignatureScheme.<clinit>(SignatureScheme.java:129)
... 43 more
Caused by: java.io.FileNotFoundException: /usr/lib/libnss3.so
at sun.security.pkcs11.Secmod.initialize(Secmod.java:193)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:218)
... 63 more

"Thread-1" id=10 WAITING
at java.lang.Object.wait(Native Method)
- waiting on org.jminim.core.RuntimeImpl$TimerThread@4e9ba398
at org.jminim.core.RuntimeImpl$TimerThread.run(RuntimeImpl.java:4719)

"Thread-0" id=9 WAITING
at java.lang.Object.wait(Native Method)
- waiting on org.jminim.core.RuntimeImpl$ActionThread@6d7b4f4c
at java.lang.Object.wait(Object.java:502)
at org.jminim.core.RuntimeImpl$ActionThread.run(RuntimeImpl.java:4673)

"Signal Dispatcher" id=4 RUNNABLE

"Finalizer" id=3 WAITING
at java.lang.Object.wait(Native Method)
- waiting on java.lang.ref.ReferenceQueue$Lock@527740a2
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:165)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:216)

"Reference Handler" id=2 WAITING
at java.lang.Object.wait(Native Method)
- waiting on java.lang.ref.Reference$Lock@13a5fe33
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

"main" id=1 RUNNABLE
at sun.management.ThreadImpl.dumpThreads0(Native Method)
at sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:461)
at org.jminim.core.LogImpl.writeCrashDump(LogImpl.java:1249)
at org.jminim.core.LogImpl.printStackTraceSync(LogImpl.java:1174)
- locked org.jminim.core.LogImpl@3108bc
at org.jminim.core.LogImpl.fatalEx(LogImpl.java:267)
at com.minimserver.Server.start(Server.java:1455)
at org.jminim.core.ContextImpl.startComponent(ContextImpl.java:214)
at org.jminim.core.ContextImpl.start(ContextImpl.java:139)
- locked java.lang.Object@370736d9
at org.jminim.core.RootContextImpl.startComponent(RootContextImpl.java:81)
at org.jminim.core.ContextImpl.start(ContextImpl.java:139)
- locked java.lang.Object@5f9d02cb
at org.jminim.core.RuntimeImpl.run(RuntimeImpl.java:2975)
at org.jminim.core.LauncherImpl.run(LauncherImpl.java:1327)
at org.jminim.core.LauncherImpl.launch(LauncherImpl.java:126)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav​a:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jminim.mlaunch.MinimLaunch.doLaunch(MinimLaunch.java:525)
at org.jminim.mlaunch.MinimLaunch.launch(MinimLaunch.java:150)
at org.jminim.mlaunch.MinimLaunch.launch(MinimLaunch.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav​a:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jminim.launch.Launcher.launch(Launcher.java:88)
at com.minimserver.launch.LaunchServer.main(LaunchServer.java:38)

- - - - - - - - - - - - - - - -


RE: I encountered an error while installing MinimServer on OpenWrt - simoncn - 22-07-2024 09:55

I think the important line is this:
Caused by: java.io.FileNotFoundException: /usr/lib/libnss3.so

The file /usr/lib/libnss3.so is needed by Java to support SSL and this file is not present on your OpenWRT system.

What device are you using to run OpenWRT and what version of OpenWRT are you running?


RE: I encountered an error while installing MinimServer on OpenWrt. Can anyone help me so - Bryant_Hifi - 24-07-2024 02:52

(22-07-2024 09:55)simoncn Wrote:  I think the important line is this:
Caused by: java.io.FileNotFoundException: /usr/lib/libnss3.so

The file /usr/lib/libnss3.so is needed by Java to support SSL and this file is not present on your OpenWRT system.

What device are you using to run OpenWRT and what version of OpenWRT are you running?


Thank you very much for your answer. I am using a soft router running OpenWrt, with a CPU of ARMv8 architecture RK3568, and the OpenWrt version is 23.10. How should I handle this SSL issue? Is my Java version compatible?


RE: I encountered an error while installing MinimServer on OpenWrt - simoncn - 24-07-2024 14:30

I will try to set up an OpenWrt image for my Raspberry Pi 4 to confirm what has caused this problem.

In the interim, you should be able to get MinimServer running by disabling automatic updates. To do this, create a file named minimserver.defaults in the minimserver/data directory. This file should contain the following line:

.autoUpdate = false

After doing this, start MinimServer and it should run without producing this error.

Edit: I was able to start OpenWrt and confirm that it doesn't contain the provider library needed to support SSL. This causes Java to throw an error. MinimServer should detect this error and fall back to a non-SSL connection. Changing the Java version wouldn't make any difference. When this MinimServer fix is available, I will post back here with details of how to install the fix on OpenWrt.


RE: I encountered an error while installing MinimServer on OpenWrt. Can anyone help me so - Bryant_Hifi - 26-07-2024 07:35

(24-07-2024 14:30)simoncn Wrote:  I will try to set up an OpenWrt image for my Raspberry Pi 4 to confirm what has caused this problem.

In the interim, you should be able to get MinimServer running by disabling automatic updates. To do this, create a file named minimserver.defaults in the minimserver/data directory. This file should contain the following line:

.autoUpdate = false

After doing this, start MinimServer and it should run without producing this error.

Edit: I was able to start OpenWrt and confirm that it doesn't contain the provider library needed to support SSL. This causes Java to throw an error. MinimServer should detect this error and fall back to a non-SSL connection. Changing the Java version wouldn't make any difference. When this MinimServer fix is available, I will post back here with details of how to install the fix on OpenWrt.

Using this method results in another exception as follows:

root@photonicat-openwrt:/usr/share# minimserver/bin/startc

MinimServer 2.2, Copyright © 2012-2022 Simon Nash. All rights reserved.
java.lang.UnsatisfiedLinkError: /usr/share/minimserver/tmp/native/libohNet.so: Error loading shared library ld-linux-aarch64.so.1: No such file or directory (needed by /usr/share/minimserver/tmp/native/libohNet.so)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1946)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1841)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1124)
at org.jminim.lib.OhNetService.createLibrary(OhNetService.java:835)
at org.jminim.lib.OhNetService.createDeviceStack(OhNetService.java:737)
at org.jminim.lib.OhNetService.createDeviceFactory(OhNetService.java:645)
at org.jminim.lib.OhNetService.access$3300(OhNetService.java:59)
at org.jminim.lib.OhNetService$Proxy.createDeviceFactory(OhNetService.java:1339)
at org.jminim.lib.MonitorService$Monitor.startDevice(MonitorService.java:318)
at org.jminim.lib.MonitorService$Monitor.createDevice(MonitorService.java:299)
at org.jminim.lib.MonitorService$Monitor.listenerAdded(MonitorService.java:394)
at org.jminim.core.RuntimeImpl.addEventListener(RuntimeImpl.java:2563)
at org.jminim.lib.RuntimeService$Proxy.addEventListener(RuntimeService.java:236)
at com.minimserver.Server.doStart(Server.java:1824)
at com.minimserver.Server.start(Server.java:1400)
at org.jminim.core.ContextImpl.startComponent(ContextImpl.java:240)
at org.jminim.core.ContextImpl.start(ContextImpl.java:128)
at org.jminim.core.RootContextImpl.startComponent(RootContextImpl.java:80)
at org.jminim.core.ContextImpl.start(ContextImpl.java:128)
at org.jminim.core.RuntimeImpl.run(RuntimeImpl.java:2796)
at org.jminim.core.LauncherImpl.run(LauncherImpl.java:1317)
at org.jminim.core.LauncherImpl.launch(LauncherImpl.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav​a:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jminim.mlaunch.MinimLaunch.doLaunch(MinimLaunch.java:525)
at org.jminim.mlaunch.MinimLaunch.launch(MinimLaunch.java:150)
at org.jminim.mlaunch.MinimLaunch.launch(MinimLaunch.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav​a:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jminim.launch.Launcher.launch(Launcher.java:88)
at com.minimserver.launch.LaunchServer.main(LaunchServer.java:38)
MinimServer error: now stopped, use 'restart' or 'exit'


RE: I encountered an error while installing MinimServer on OpenWrt - simoncn - 26-07-2024 15:48

I have investigated why you are getting this error. The file libohNet.so (needed by MinimServer for UPnP support) is compiled with glibc and needs ld-linux-aarch64.so.1. OpenWrt doesn't include this file but instead includes the file ld-musl-aarch64.so.1.

To solve this problem, you would need to build OpenWrt with glibc instead of musl. There are instructions for doing this on this page. I haven't tried this and I can't be sure that it would be enough to enable MinimServer to run.


RE: I encountered an error while installing MinimServer on OpenWrt. Can anyone help me so - Bryant_Hifi - 29-07-2024 04:30

(26-07-2024 15:48)simoncn Wrote:  I have investigated why you are getting this error. The file libohNet.so (needed by MinimServer for UPnP support) is compiled with glibc and needs ld-linux-aarch64.so.1. OpenWrt doesn't include this file but instead includes the file ld-musl-aarch64.so.1.

To solve this problem, you would need to build OpenWrt with glibc instead of musl. There are instructions for doing this on this page. I haven't tried this and I can't be sure that it would be enough to enable MinimServer to run.

Reconstructing OpenWrt from scratch is quite difficult for me, and I have already set up a variety of plugins. Are there any alternative solutions? Thank you.


RE: I encountered an error while installing MinimServer on OpenWrt - simoncn - 02-08-2024 18:17

I have done some web searching and I haven't been able to find any other solution.


RE: I encountered an error while installing MinimServer on OpenWrt. Can anyone help me so - Bryant_Hifi - 16-08-2024 07:36

(02-08-2024 18:17)simoncn Wrote:  I have done some web searching and I haven't been able to find any other solution.

Thank you very much for your answer. It seems that I can only give up using minimserver as the server. It’s so miserable.


RE: I encountered an error while installing MinimServer on OpenWrt - simoncn - 16-08-2024 10:05

You could use a Raspberry Pi to run MinimServer. In the UK, the RPi4 2GB model can be purchased for GBP 43.