Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Oracle] Crashes during shutdown with NullPointerException in RuleEvaluationServiceComponent #22439

Open
NilukaSripalim opened this issue Jan 25, 2025 · 0 comments
Labels
DB/Oracle Oracle DB related Issues will be tracked under this label. Priority/Highest QA-Reported Issues reported by a QA Severity/Major Team/API Access Mgt & Authorization Type/Bug

Comments

@NilukaSripalim
Copy link
Contributor

Description

Configured with an Oracle database, encounters a crash during the shutdown process. The error log shows a NullPointerException in the org.wso2.carbon.identity.rule.evaluation component, specifically related to the unbinding of the "RuleMetadataService" reference. Below are the details of the error.

ERROR {org.wso2.carbon.identity.rule.evaluation} - [SCR] Exception occurred while unbinding reference Reference[name = rule.metadata.service.component, interface = org.wso2.carbon.identity.rule.metadata.service.RuleMetadataService, policy = dynamic, cardinality = 1..1, target = null, bind = setRuleMetadataService, unbind = unsetRuleMetadataService]
	Details:
	Problematic reference = Reference[name = rule.metadata.service.component, interface = org.wso2.carbon.identity.rule.metadata.service.RuleMetadataService, policy = dynamic, cardinality = 1..1, target = null, bind = setRuleMetadataService, unbind = unsetRuleMetadataService]
	of service component = rule.evaluation.service.component
	component implementation class = org.wso2.carbon.identity.rule.evaluation.internal.RuleEvaluationServiceComponent
	located in bundle with symbolic name = org.wso2.carbon.identity.rule.evaluation
	bundle location = reference:file:../plugins/org.wso2.carbon.identity.rule.evaluation_7.7.124.jar java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:115)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	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.dispose(ServiceComponentProp.java:388)
	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:113)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:985)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:866)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:804)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:227)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.unregisterServices(ServiceRegistry.java:668)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.close(BundleContextImpl.java:133)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.stopWorker0(EquinoxBundle.java:1029)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.stopWorker(EquinoxBundle.java:370)
	at org.eclipse.osgi.container.Module.doStop(Module.java:653)
	at org.eclipse.osgi.container.Module.stop(Module.java:515)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(ModuleContainer.java:1861)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1753)
	at org.eclipse.osgi.container.SystemModule.stopWorker(SystemModule.java:275)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(EquinoxBundle.java:202)
	at org.eclipse.osgi.container.Module.doStop(Module.java:653)
	at org.eclipse.osgi.container.Module.stop(Module.java:515)
	at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:207)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:220)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.NullPointerException: Cannot invoke "org.wso2.carbon.identity.rule.metadata.service.RuleMetadataService.getApplicableOperatorsInExpressions()" because "ruleMetadataService" is null
	at org.wso2.carbon.identity.rule.evaluation.core.OperatorRegistry.loadOperators(OperatorRegistry.java:67)
	at org.wso2.carbon.identity.rule.evaluation.internal.RuleEvaluationComponentServiceHolder.setRuleMetadataService(RuleEvaluationComponentServiceHolder.java:66)
	at org.wso2.carbon.identity.rule.evaluation.internal.RuleEvaluationServiceComponent.unsetRuleMetadataService(RuleEvaluationServiceComponent.java:89)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	... 32 more

Steps to Reproduce

Start the WSO2 Identity Server, configured against an Oracle database.
Attempt to shut down the server gracefully. ( contol + C)
Observe the logs during the shutdown process.

Version

wso2is-7.1.0-m8

Environment Details (with versions)

DB : Oracle 23ai
Java version: temurin-21
OS: MacOS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DB/Oracle Oracle DB related Issues will be tracked under this label. Priority/Highest QA-Reported Issues reported by a QA Severity/Major Team/API Access Mgt & Authorization Type/Bug
Projects
Status: No status
Development

No branches or pull requests

1 participant