wso2 / product-apim

Welcome to the WSO2 API Manager source code! For info on working with the WSO2 API Manager repository and contributing code, click the link below.
http://wso2.github.io/
Apache License 2.0
841 stars 784 forks source link

Closing inbound endpoint throws an error after websocket client disconnects and server is shutdown #3452

Closed fazlan-nazeem closed 5 years ago

fazlan-nazeem commented 6 years ago

Description: 1) Call a WebSocket API hosted in APIM 2) Disconnect the WebSocket client 3) Shutdown API Manager

Following error is thrown.

ERROR - InboundEndpoint Unable to destroy Inbound endpoint java.lang.NumberFormatException: null at java.lang.Integer.parseInt(Integer.java:542) at java.lang.Integer.parseInt(Integer.java:615) at org.wso2.carbon.inbound.endpoint.protocol.websocket.management.WebsocketEndpointManager.closeEndpoint(WebsocketEndpointManager.java:200) at org.wso2.carbon.inbound.endpoint.protocol.websocket.InboundWebsocketListener.destroy(InboundWebsocketListener.java:58) at org.apache.synapse.inbound.InboundEndpoint.destroy(InboundEndpoint.java:157) at org.apache.synapse.config.SynapseConfiguration.destroy(SynapseConfiguration.java:1458) at org.apache.synapse.Axis2SynapseController.destroySynapseConfiguration(Axis2SynapseController.java:509) at org.apache.synapse.ServerManager.stop(ServerManager.java:279) at org.wso2.carbon.mediation.initializer.ServiceBusInitializer.deactivate(ServiceBusInitializer.java:292) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.equinox.internal.ds.model.ServiceComponent.deactivate(ServiceComponent.java:387) at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.deactivate(ServiceComponentProp.java:161) at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.dispose(ServiceComponentProp.java:387) at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.dispose(ServiceComponentProp.java:102) at org.eclipse.equinox.internal.ds.InstanceProcess.disposeInstances(InstanceProcess.java:344) at org.eclipse.equinox.internal.ds.InstanceProcess.disposeInstances(InstanceProcess.java:306) at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:368) at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222) at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:225) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.unregisterServices(ServiceRegistry.java:635) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.close(BundleContextImpl.java:88) at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:514) at org.eclipse.osgi.framework.internal.core.AbstractBundle.suspend(AbstractBundle.java:566) at org.eclipse.osgi.framework.internal.core.Framework.suspendBundle(Framework.java:1206) at org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL(StartLevelManager.java:592) at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:257) at org.eclipse.osgi.framework.internal.core.StartLevelManager.shutdown(StartLevelManager.java:215) at org.eclipse.osgi.framework.internal.core.InternalSystemBundle.suspend(InternalSystemBundle.java:284) at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:692) at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:600) at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown(EclipseStarter.java:400) at org.wso2.carbon.core.init.CarbonServerManager.shutdown(CarbonServerManager.java:851) at org.wso2.carbon.core.init.CarbonServerManager.shutdownGracefully(CarbonServerManager.java:885) at org.wso2.carbon.core.init.CarbonServerManager$4.run(CarbonServerManager.java:903)

Suggested Labels:

Suggested Assignees:

Affected Product Version: 2.5.0.RC2 OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Nirothipan commented 6 years ago

Fixed with https://github.com/wso2/carbon-mediation/pull/1063.