You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Jeremy Hughes (JIRA)" <ji...@apache.org> on 2012/11/29 18:54:58 UTC

[jira] [Created] (ARIES-976) BlueprintContainerImpl swallowing NPE prevents error being logged

Jeremy Hughes created ARIES-976:
-----------------------------------

             Summary: BlueprintContainerImpl swallowing NPE prevents error being logged
                 Key: ARIES-976
                 URL: https://issues.apache.org/jira/browse/ARIES-976
             Project: Aries
          Issue Type: Bug
          Components: Blueprint
            Reporter: Jeremy Hughes


I'm seeing a timing issue in the case where a blueprint bundle (the client) has a service reference to a service in a second bundle (the service). But the service bean is for a class that can't be found. When the service bundle is processed first I get a helpful stacktrace of ClassNotFoundException. In the case where the client bundle is processed first, the GRACE_PERIOD event is sent then the service bundle is processed. After the ClassNotFoundException is thrown, the service bundle blueprint container is cleaned up - in the catch (Throwable t) at the end of BlueprintContainerImpl.doRun(). Eventually the BlueprintRepository.destroy() is called which gets a null back from BlueprintRepository.getInstance(). BlueprintRepository.destroy() passes that to BundleRecipe.destroy() which casts it and NPEs. The NPE gets swallowed by the BlueprintContainerImpl.doRun() and I never see the error message holding the original ClassNotFoundException.

I'll commit a fix later.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (ARIES-976) BlueprintContainerImpl swallowing NPE prevents error being logged

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

Jeremy Hughes updated ARIES-976:
--------------------------------

    Assignee: Jeremy Hughes
    
> BlueprintContainerImpl swallowing NPE prevents error being logged
> -----------------------------------------------------------------
>
>                 Key: ARIES-976
>                 URL: https://issues.apache.org/jira/browse/ARIES-976
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>            Reporter: Jeremy Hughes
>            Assignee: Jeremy Hughes
>
> I'm seeing a timing issue in the case where a blueprint bundle (the client) has a service reference to a service in a second bundle (the service). But the service bean is for a class that can't be found. When the service bundle is processed first I get a helpful stacktrace of ClassNotFoundException. In the case where the client bundle is processed first, the GRACE_PERIOD event is sent then the service bundle is processed. After the ClassNotFoundException is thrown, the service bundle blueprint container is cleaned up - in the catch (Throwable t) at the end of BlueprintContainerImpl.doRun(). Eventually the BlueprintRepository.destroy() is called which gets a null back from BlueprintRepository.getInstance(). BlueprintRepository.destroy() passes that to BundleRecipe.destroy() which casts it and NPEs. The NPE gets swallowed by the BlueprintContainerImpl.doRun() and I never see the error message holding the original ClassNotFoundException.
> I'll commit a fix later.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Resolved] (ARIES-976) BlueprintContainerImpl swallowing NPE prevents error being logged

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

Jeremy Hughes resolved ARIES-976.
---------------------------------

    Resolution: Not A Problem

My mistake, already fixed by ARIES-847
                
> BlueprintContainerImpl swallowing NPE prevents error being logged
> -----------------------------------------------------------------
>
>                 Key: ARIES-976
>                 URL: https://issues.apache.org/jira/browse/ARIES-976
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>            Reporter: Jeremy Hughes
>            Assignee: Jeremy Hughes
>
> I'm seeing a timing issue in the case where a blueprint bundle (the client) has a service reference to a service in a second bundle (the service). But the service bean is for a class that can't be found. When the service bundle is processed first I get a helpful stacktrace of ClassNotFoundException. In the case where the client bundle is processed first, the GRACE_PERIOD event is sent then the service bundle is processed. After the ClassNotFoundException is thrown, the service bundle blueprint container is cleaned up - in the catch (Throwable t) at the end of BlueprintContainerImpl.doRun(). Eventually the BlueprintRepository.destroy() is called which gets a null back from BlueprintRepository.getInstance(). BlueprintRepository.destroy() passes that to BundleRecipe.destroy() which casts it and NPEs. The NPE gets swallowed by the BlueprintContainerImpl.doRun() and I never see the error message holding the original ClassNotFoundException.
> I'll commit a fix later.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Reopened] (ARIES-976) BlueprintContainerImpl swallowing NPE prevents error being logged

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

Jeremy Hughes reopened ARIES-976:
---------------------------------


The fix in ARIES-847 is ok, but if another unchecked exception comes out of the cleanup we swallow it. I'll add debug so at least we can see what's happening.
                
> BlueprintContainerImpl swallowing NPE prevents error being logged
> -----------------------------------------------------------------
>
>                 Key: ARIES-976
>                 URL: https://issues.apache.org/jira/browse/ARIES-976
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>            Reporter: Jeremy Hughes
>            Assignee: Jeremy Hughes
>
> I'm seeing a timing issue in the case where a blueprint bundle (the client) has a service reference to a service in a second bundle (the service). But the service bean is for a class that can't be found. When the service bundle is processed first I get a helpful stacktrace of ClassNotFoundException. In the case where the client bundle is processed first, the GRACE_PERIOD event is sent then the service bundle is processed. After the ClassNotFoundException is thrown, the service bundle blueprint container is cleaned up - in the catch (Throwable t) at the end of BlueprintContainerImpl.doRun(). Eventually the BlueprintRepository.destroy() is called which gets a null back from BlueprintRepository.getInstance(). BlueprintRepository.destroy() passes that to BundleRecipe.destroy() which casts it and NPEs. The NPE gets swallowed by the BlueprintContainerImpl.doRun() and I never see the error message holding the original ClassNotFoundException.
> I'll commit a fix later.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira