2

I have been testing Wso2 Identity Server. I have set it as key manager to wso2 api manager 4.0.0. Everything was working fine unless I restarted wso2 api manager. First, after restarting wso2 api manager the error with following stacktrace appeared:

TID: [-1234] [] [2023-08-08 11:14:22,305] ERROR {org.wso2.carbon.registry.indexing} - [SCR] Exception occurred while unbinding reference Reference[name = registry.service, interface = org.wso2.carbon.registry.core.service.RegistryService, policy = dynamic, cardinality = 1..1, target = null, bind = setRegistryService, unbind = unsetRegistryService]
        Details:
        Problematic reference = Reference[name = registry.service, interface = org.wso2.carbon.registry.core.service.RegistryService, policy = dynamic, cardinality = 1..1, target = null, bind = setRegistryService, unbind = unsetRegistryService]
        of service component = org.wso2.carbon.registry.indexing
        component implementation class = org.wso2.carbon.registry.indexing.internal.IndexingServiceComponent
        located in bundle with symbolic name = org.wso2.carbon.registry.indexing
        bundle location = reference:file:../plugins/org.wso2.carbon.registry.indexing_4.7.39.jar java.lang.reflect.InvocationTargetException
        at jdk.internal.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.eclipse.equinox.internal.ds.model.ComponentReference.unbind(ComponentReference.java:476)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.unbindReference(ServiceComponentProp.java:617)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.unbind(ServiceComponentProp.java:262)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:350)
        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
        at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
        at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
        at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
        at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
        at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
        at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.wso2.carbon.registry.indexing.RegistryConfigLoader
        at org.wso2.carbon.registry.indexing.IndexingManager.<init>(IndexingManager.java:60)
        at org.wso2.carbon.registry.indexing.IndexingManager.getInstance(IndexingManager.java:71)
        at org.wso2.carbon.registry.indexing.internal.IndexingServiceComponent.stopIndexing(IndexingServiceComponent.java:128)
        at org.wso2.carbon.registry.indexing.internal.IndexingServiceComponent.unsetRegistryService(IndexingServiceComponent.java:123)
        ... 15 more

I thought it was related to identity server, then I restarted wso2 identity server as well, but then I have received following error:

TID: [-1234] [] [2023-08-08 06:42:44,291] [] ERROR {org.wso2.carbon.tomcat.internal.CarbonTomcat} - error while parsing xml stream org.xml.sax.SAXParseException; lineNumber: 37; columnNumber: 93; Error at line [37] column [93]: [org.wso2.carbon.identity.auth.valve.AuthenticationValve]
        at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:1902)
        at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:1934)
        at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1223)
        at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
        at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
        at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1495)
        at org.wso2.carbon.tomcat.internal.CarbonTomcat.configure(CarbonTomcat.java:90)
        at org.wso2.carbon.tomcat.internal.ServerManager.init(ServerManager.java:156)
        at org.wso2.carbon.tomcat.internal.TomcatBundleActivator.start(TomcatBundleActivator.java:40)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:842)
        at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:834)
        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:791)
        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1013)
        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:365)
        at org.eclipse.osgi.container.Module.doStart(Module.java:598)
        at org.eclipse.osgi.container.Module.start(Module.java:462)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$1.run(ModuleContainer.java:1820)
        at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$2$1.execute(EquinoxContainerAdaptor.java:150)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1813)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1770)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1735)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1661)
        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)
Caused by: java.lang.ClassNotFoundException: org.wso2.carbon.identity.auth.valve.AuthenticationValve
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
        at org.eclipse.osgi.internal.framework.ContextFinder.loadClass(ContextFinder.java:139)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
        at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:104)
        at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1220)
        ... 32 more

I would like to have them working intact

Yaroslavm
  • 1,762
  • 2
  • 7
  • 15
  • Are you running on Windows? – ycr Aug 09 '23 at 11:35
  • @ycr having the same error with APIM 4.2 and default Key Manager (no IS). Everything worked fine before restart – Teodor Mysko Aug 16 '23 at 05:34
  • additionally, in my logs I see a lot of errors related to unresolved module/dependencies like: FrameworkEvent ERROR org.osgi.framework.BundleException: Could not resolve module: org.wso2.carbon.identity.application.authentication.framework – Teodor Mysko Aug 16 '23 at 06:06

2 Answers2

1

This WSO2 IS/APIM startup failure encounters when using the latest JDK versions 11 (JDK 11.0.20) and 17 (JDK 17.0.8+9). This is due to a fix that has been implemented by JDK [1].

According to the JDK release notes [2] [3], we can disable these newly introduced validations to preserve backward compatibility. These validations can be disabled by adding the following.

Linux / MacOS Users:

Include the provided lines below after the line: "-Djava.net.preferIPv4Stack=true " in either:

wso2server.sh for WSO2 Identity Server and API Manager versions prior to 4.0.0, or api-manager.sh for WSO2 API Manager versions 4.0.0 and later.

-Djdk.util.zip.disableZip64ExtraFieldValidation=true \
-Djdk.nio.zipfs.allowDotZipEntry=true \

Windows Users:

Append the provided parameters below to the CMD_LINE_ARGS parameter (at the end of the line starting with "set CMD_LINE_ARGS") in either:

wso2server.bat for WSO2 Identity Server and API Manager versions prior to 4.0.0, or api-manager.bat for WSO2 API Manager versions 4.0.0 and later.

-Djdk.util.zip.disableZip64ExtraFieldValidation=true 
-Djdk.nio.zipfs.allowDotZipEntry=true

[1] - https://bugs.openjdk.org/browse/JDK-8251329

[2] - https://www.oracle.com/java/technologies/javase/11-0-20-relnotes.html

[3] - https://www.oracle.com/java/technologies/javase/17all-relnotes.html

Anuradha Karunarathna
  • 2,717
  • 2
  • 9
  • 17
0

Seems issue with the latest Java path.

We use Java 11 with our WSO2APIM and after the latest system upgrade newer version of Java was installed - 11.0.20. That patch broke WSO. We rolled back to 11.0.19 and it started to work again

Teodor Mysko
  • 148
  • 7