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