You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Heiko Seeberger (JIRA)" <ji...@apache.org> on 2009/01/02 09:35:44 UTC

[jira] Created: (FELIX-869) SCR throws exception on invalidating a component with a reference to a service that was already unregistered

SCR throws exception on invalidating a component with a reference to a service that was already unregistered
------------------------------------------------------------------------------------------------------------

                 Key: FELIX-869
                 URL: https://issues.apache.org/jira/browse/FELIX-869
             Project: Felix
          Issue Type: Bug
          Components: Declarative Services (SCR)
    Affects Versions: scr-1.0.6
         Environment: Felix 1.4.1, SCR 1.0.6
            Reporter: Heiko Seeberger


Simple scenario: A component references (statically, 1:1, look-up strategy) a service. When the bundle providing that service is stopped and hence the reference no longer satisfied, stopping the bundle providing the component will result in the below exception.

I checked with Equinox 3.4.1 and there everything is working fine.

ERROR: net.eclipsetraining.backoffice.tplan.app.swing (9): [net.eclipsetraining.backoffice.tplan.ui.swing.internal.Component] BundleComponentActivator : Exception invalidating
java.lang.IllegalStateException: The service registration is no longer valid.
	at org.apache.felix.framework.ServiceRegistrationImpl.getReference(ServiceRegistrationImpl.java:88)
	at org.apache.felix.framework.ServiceReferenceImpl.hashCode(ServiceReferenceImpl.java:87)
	at java.util.HashMap.removeEntryForKey(HashMap.java:548)
	at java.util.HashMap.remove(HashMap.java:538)
	at java.util.Collections$SynchronizedMap.remove(Collections.java:1982)
	at org.apache.felix.scr.impl.DependencyManager.ungetService(DependencyManager.java:578)
	at org.apache.felix.scr.impl.DependencyManager.close(DependencyManager.java:374)
	at org.apache.felix.scr.impl.AbstractComponentManager.disableInternal(AbstractComponentManager.java:589)
	at org.apache.felix.scr.impl.AbstractComponentManager.disposeInternal(AbstractComponentManager.java:616)
	at org.apache.felix.scr.impl.AbstractComponentManager.dispose(AbstractComponentManager.java:272)
	at org.apache.felix.scr.impl.ImmediateComponentManager.dispose(ImmediateComponentManager.java:120)
	at org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:258)
	at org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:264)
	at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:177)
	at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:745)
	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:674)
	at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:587)
	at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3629)
	at org.apache.felix.framework.Felix._stopBundle(Felix.java:2076)
	at org.apache.felix.framework.Felix.stopBundle(Felix.java:2034)
	at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:418)
	at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:405)
	at org.apache.felix.shell.impl.StopCommandImpl.execute(StopCommandImpl.java:70)
	at org.apache.felix.shell.impl.Activator$ShellServiceImpl.executeCommand(Activator.java:276)
	at org.apache.felix.shell.tui.Activator$ShellTuiRunnable.run(Activator.java:167)
	at java.lang.Thread.run(Thread.java:637)



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (FELIX-869) SCR throws exception on invalidating a component with a reference to a service that was already unregistered

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger updated FELIX-869:
------------------------------------

          Component/s:     (was: Declarative Services (SCR))
                       Framework
    Affects Version/s:     (was: scr-1.0.6)
                       felix-1.4.0
                       felix-1.4.1
        Fix Version/s: felix-1.6.0

Reassign this issue to the framework component and mark it as happening with 1.4.0 and 1.4.1. Earlier versions are not succeptible to this issue, since these did not throw the IllegalStateException.

> SCR throws exception on invalidating a component with a reference to a service that was already unregistered
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-869
>                 URL: https://issues.apache.org/jira/browse/FELIX-869
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-1.4.0, felix-1.4.1
>         Environment: Felix 1.4.1, SCR 1.0.6
>            Reporter: Heiko Seeberger
>             Fix For: felix-1.6.0
>
>
> Simple scenario: A component references (statically, 1:1, look-up strategy) a service. When the bundle providing that service is stopped and hence the reference no longer satisfied, stopping the bundle providing the component will result in the below exception.
> I checked with Equinox 3.4.1 and there everything is working fine.
> ERROR: net.eclipsetraining.backoffice.tplan.app.swing (9): [net.eclipsetraining.backoffice.tplan.ui.swing.internal.Component] BundleComponentActivator : Exception invalidating
> java.lang.IllegalStateException: The service registration is no longer valid.
> 	at org.apache.felix.framework.ServiceRegistrationImpl.getReference(ServiceRegistrationImpl.java:88)
> 	at org.apache.felix.framework.ServiceReferenceImpl.hashCode(ServiceReferenceImpl.java:87)
> 	at java.util.HashMap.removeEntryForKey(HashMap.java:548)
> 	at java.util.HashMap.remove(HashMap.java:538)
> 	at java.util.Collections$SynchronizedMap.remove(Collections.java:1982)
> 	at org.apache.felix.scr.impl.DependencyManager.ungetService(DependencyManager.java:578)
> 	at org.apache.felix.scr.impl.DependencyManager.close(DependencyManager.java:374)
> 	at org.apache.felix.scr.impl.AbstractComponentManager.disableInternal(AbstractComponentManager.java:589)
> 	at org.apache.felix.scr.impl.AbstractComponentManager.disposeInternal(AbstractComponentManager.java:616)
> 	at org.apache.felix.scr.impl.AbstractComponentManager.dispose(AbstractComponentManager.java:272)
> 	at org.apache.felix.scr.impl.ImmediateComponentManager.dispose(ImmediateComponentManager.java:120)
> 	at org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:258)
> 	at org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:264)
> 	at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:177)
> 	at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:745)
> 	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:674)
> 	at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:587)
> 	at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3629)
> 	at org.apache.felix.framework.Felix._stopBundle(Felix.java:2076)
> 	at org.apache.felix.framework.Felix.stopBundle(Felix.java:2034)
> 	at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:418)
> 	at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:405)
> 	at org.apache.felix.shell.impl.StopCommandImpl.execute(StopCommandImpl.java:70)
> 	at org.apache.felix.shell.impl.Activator$ShellServiceImpl.executeCommand(Activator.java:276)
> 	at org.apache.felix.shell.tui.Activator$ShellTuiRunnable.run(Activator.java:167)
> 	at java.lang.Thread.run(Thread.java:637)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (FELIX-869) SCR throws exception on invalidating a component with a reference to a service that was already unregistered

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger closed FELIX-869.
-----------------------------------

    Resolution: Duplicate
      Assignee: Felix Meschberger

Closing this since it is a duplicate.

> SCR throws exception on invalidating a component with a reference to a service that was already unregistered
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-869
>                 URL: https://issues.apache.org/jira/browse/FELIX-869
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-1.4.0, felix-1.4.1
>         Environment: Felix 1.4.1, SCR 1.0.6
>            Reporter: Heiko Seeberger
>            Assignee: Felix Meschberger
>             Fix For: felix-1.6.0
>
>
> Simple scenario: A component references (statically, 1:1, look-up strategy) a service. When the bundle providing that service is stopped and hence the reference no longer satisfied, stopping the bundle providing the component will result in the below exception.
> I checked with Equinox 3.4.1 and there everything is working fine.
> ERROR: net.eclipsetraining.backoffice.tplan.app.swing (9): [net.eclipsetraining.backoffice.tplan.ui.swing.internal.Component] BundleComponentActivator : Exception invalidating
> java.lang.IllegalStateException: The service registration is no longer valid.
> 	at org.apache.felix.framework.ServiceRegistrationImpl.getReference(ServiceRegistrationImpl.java:88)
> 	at org.apache.felix.framework.ServiceReferenceImpl.hashCode(ServiceReferenceImpl.java:87)
> 	at java.util.HashMap.removeEntryForKey(HashMap.java:548)
> 	at java.util.HashMap.remove(HashMap.java:538)
> 	at java.util.Collections$SynchronizedMap.remove(Collections.java:1982)
> 	at org.apache.felix.scr.impl.DependencyManager.ungetService(DependencyManager.java:578)
> 	at org.apache.felix.scr.impl.DependencyManager.close(DependencyManager.java:374)
> 	at org.apache.felix.scr.impl.AbstractComponentManager.disableInternal(AbstractComponentManager.java:589)
> 	at org.apache.felix.scr.impl.AbstractComponentManager.disposeInternal(AbstractComponentManager.java:616)
> 	at org.apache.felix.scr.impl.AbstractComponentManager.dispose(AbstractComponentManager.java:272)
> 	at org.apache.felix.scr.impl.ImmediateComponentManager.dispose(ImmediateComponentManager.java:120)
> 	at org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:258)
> 	at org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:264)
> 	at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:177)
> 	at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:745)
> 	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:674)
> 	at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:587)
> 	at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3629)
> 	at org.apache.felix.framework.Felix._stopBundle(Felix.java:2076)
> 	at org.apache.felix.framework.Felix.stopBundle(Felix.java:2034)
> 	at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:418)
> 	at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:405)
> 	at org.apache.felix.shell.impl.StopCommandImpl.execute(StopCommandImpl.java:70)
> 	at org.apache.felix.shell.impl.Activator$ShellServiceImpl.executeCommand(Activator.java:276)
> 	at org.apache.felix.shell.tui.Activator$ShellTuiRunnable.run(Activator.java:167)
> 	at java.lang.Thread.run(Thread.java:637)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.