Wowza Community

Cannot login to engine manager, error 500

Hi,
A few months a go, I upgrade Wowza to the latest version.

Everything was fine, until today when I try to login to the engine manager to set something.

After login, it gave me the message shown below.

As far as I can comprehend, the error caused by the lost of sunec.jar file.

The question is:

  1. Why in the past (before upgrade or after the upgrade) I never got that error?

  2. How can I get that file? I had checked that java-1.8.0-openjdk is already installed.

Thanks in advance for the help.

Status Code: 500

Exception:
Stacktrace:

java.lang.InternalError: java.io.FileNotFoundException: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/jre/lib/ext/sunec.jar
	at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:1052)
	at sun.misc.URLClassPath.getResource(URLClassPath.java:249)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:411)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at sun.security.jca.ProviderConfig$2.run(ProviderConfig.java:215)
	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.getService(ProviderList.java:331)
	at sun.security.jca.GetInstance.getInstance(GetInstance.java:157)
	at javax.net.ssl.SSLContext.getInstance(SSLContext.java:156)
	at org.restlet.engine.ssl.DefaultSslContextFactory.createSslContext(DefaultSslContextFactory.java:369)
	at org.restlet.ext.httpclient.HttpClientHelper.configure(HttpClientHelper.java:284)
	at org.restlet.ext.httpclient.HttpClientHelper.start(HttpClientHelper.java:513)
	at org.restlet.Client.start(Client.java:186)
	at org.restlet.routing.Filter.start(Filter.java:274)
	at org.restlet.Restlet.handle(Restlet.java:315)
	at org.restlet.routing.Filter.handle(Filter.java:202)
	at org.restlet.resource.ClientResource.handle(ClientResource.java:1104)
	at org.restlet.resource.ClientResource.handleOutbound(ClientResource.java:1188)
	at org.restlet.resource.ClientResource.handle(ClientResource.java:1059)
	at org.restlet.resource.ClientResource.handle(ClientResource.java:1035)
	at org.restlet.resource.ClientResource.handle(ClientResource.java:937)
	at org.restlet.resource.ClientResource.get(ClientResource.java:645)
	at com.wowza.wms.rest.WMSClientResource.get(Unknown Source)
	at com.wowza.wms.rest.ConfigBase.getObjectFromREST(Unknown Source)
	at com.wowza.wms.rest.user.UserConfig.getObjectFromREST(Unknown Source)
	at com.wowza.wms.spring.WowzaAuthenticationProvider.authenticate(WowzaAuthenticationProvider.java:58)
	at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)
	at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:174)
	at org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.attemptAuthentication(UsernamePasswordAuthenticationFilter.java:94)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:195)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
	at net.winstone.core.FilterConfiguration.execute(FilterConfiguration.java:189)
	at net.winstone.core.SimpleRequestDispatcher.doFilter(SimpleRequestDispatcher.java:321)
	at com.wowza.wms.webapp.Utf8Filter.doFilter(Utf8Filter.java:30)
	at net.winstone.core.FilterConfiguration.execute(FilterConfiguration.java:189)
	at net.winstone.core.SimpleRequestDispatcher.doFilter(SimpleRequestDispatcher.java:321)
	at net.winstone.core.SimpleRequestDispatcher.forward(SimpleRequestDispatcher.java:288)
	at net.winstone.core.listener.RequestHandlerThread.processRequest(RequestHandlerThread.java:213)
	at net.winstone.core.listener.RequestHandlerThread.run(RequestHandlerThread.java:144)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at net.winstone.util.BoundedExecutorService$1.run(BoundedExecutorService.java:81)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.FileNotFoundException: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/jre/lib/ext/sunec.jar
	at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:938)
	at sun.misc.URLClassPath$JarLoader.access$800(URLClassPath.java:801)
	at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:886)
	at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:879)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:878)
	at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:1050)
	... 62 more

Hi,
It seems the version of java openjdk installed in my server is higher than what is looked for by wowza engine manager.

Wowza engine manager look for the sunec.jar within package:

java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64

while installed on my system is the java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64

so, is the solution just downgrade the java openjdk or wowza has other solution to solve this?

The solution seems quite simple, just restart the WowzaStreamingEngineManager.

Right now, Engine uses Java 8, but will be releasing a new version in the next weeks that will support Java 9.

You CAN use a higher version of Java up to 11 and then you can configure it to make it backwards compatible with your current Engine server.

If you are having any issues at all, please submit a support ticket so we can make sure this is working properly for you. The engineers are more than happy to help.

https://www.wowza.com/support/open-ticket

Making sure you saw that Engine now supports Java 9 in 4.7.8 @Sobari Tanuwijaya.

https://www.wowza.com/docs/wowza-streaming-engine-4-7-8-release-notes

Thank you Rose, yes I noticed it.