You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Brian Romanowski (JIRA)" <ui...@incubator.apache.org> on 2009/01/30 18:18:59 UTC
[jira] Created: (UIMA-1284)
PrimitiveAnalysisEngine_impl.collectionProcessComplete() does not log
RuntimeExceptions or Errors
PrimitiveAnalysisEngine_impl.collectionProcessComplete() does not log RuntimeExceptions or Errors
-------------------------------------------------------------------------------------------------
Key: UIMA-1284
URL: https://issues.apache.org/jira/browse/UIMA-1284
Project: UIMA
Issue Type: Bug
Components: Core Java Framework
Reporter: Brian Romanowski
Priority: Minor
The PrimitiveAnalysisEngine_impl has a few methods that hide all unchecked Throwables thrown from annotators. For example, collectionProcessComplete() will silently fail if the underlying AnalysisComponent.collectionProcessingComplete() method throws a RuntimeException.
public void collectionProcessComplete() throws AnalysisEngineProcessException {
enterCollectionProcessComplete();
try {
getAnalysisComponent().collectionProcessComplete();
} finally {
exitCollectionProcessComplete();
}
}
This also appears to be an issue with PrimitiveAnalysisEngine_impl.processAndOutputNewCASes() and PrimitiveAnalysisEngine_impl.batchProcessComplete(). Hmm, it looks like PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess() gets it almost right, but will still hide Errors because they are not converted into AnalysisEngineProcessExceptions.
This is important because the lack of a logged stack trace makes it hard to find a RuntimeException or Error thrown from a component that runs for a number of hours.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (UIMA-1284)
PrimitiveAnalysisEngine_impl.collectionProcessComplete() does not log
RuntimeExceptions or Errors
Posted by "Brian Romanowski (JIRA)" <ui...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/UIMA-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brian Romanowski closed UIMA-1284.
----------------------------------
Resolution: Invalid
Not a bug.
> PrimitiveAnalysisEngine_impl.collectionProcessComplete() does not log RuntimeExceptions or Errors
> -------------------------------------------------------------------------------------------------
>
> Key: UIMA-1284
> URL: https://issues.apache.org/jira/browse/UIMA-1284
> Project: UIMA
> Issue Type: Bug
> Components: Core Java Framework
> Reporter: Brian Romanowski
> Priority: Minor
>
> The PrimitiveAnalysisEngine_impl has a few methods that hide all unchecked Throwables thrown from annotators. For example, collectionProcessComplete() will silently fail if the underlying AnalysisComponent.collectionProcessingComplete() method throws a RuntimeException.
> public void collectionProcessComplete() throws AnalysisEngineProcessException {
> enterCollectionProcessComplete();
> try {
> getAnalysisComponent().collectionProcessComplete();
> } finally {
> exitCollectionProcessComplete();
> }
> }
> This also appears to be an issue with PrimitiveAnalysisEngine_impl.processAndOutputNewCASes() and PrimitiveAnalysisEngine_impl.batchProcessComplete(). Hmm, it looks like PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess() gets it almost right, but will still hide Errors because they are not converted into AnalysisEngineProcessExceptions.
> This is important because the lack of a logged stack trace makes it hard to find a RuntimeException or Error thrown from a component that runs for a number of hours.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (UIMA-1284)
PrimitiveAnalysisEngine_impl.collectionProcessComplete() does not log
RuntimeExceptions or Errors
Posted by "Brian Romanowski (JIRA)" <ui...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/UIMA-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12669086#action_12669086 ]
Brian Romanowski commented on UIMA-1284:
----------------------------------------
Ah, whoops, you're completely right. It even does get logged higher in the calling chain, I just didn't have my logging configured properly. Sorry!
> PrimitiveAnalysisEngine_impl.collectionProcessComplete() does not log RuntimeExceptions or Errors
> -------------------------------------------------------------------------------------------------
>
> Key: UIMA-1284
> URL: https://issues.apache.org/jira/browse/UIMA-1284
> Project: UIMA
> Issue Type: Bug
> Components: Core Java Framework
> Reporter: Brian Romanowski
> Priority: Minor
>
> The PrimitiveAnalysisEngine_impl has a few methods that hide all unchecked Throwables thrown from annotators. For example, collectionProcessComplete() will silently fail if the underlying AnalysisComponent.collectionProcessingComplete() method throws a RuntimeException.
> public void collectionProcessComplete() throws AnalysisEngineProcessException {
> enterCollectionProcessComplete();
> try {
> getAnalysisComponent().collectionProcessComplete();
> } finally {
> exitCollectionProcessComplete();
> }
> }
> This also appears to be an issue with PrimitiveAnalysisEngine_impl.processAndOutputNewCASes() and PrimitiveAnalysisEngine_impl.batchProcessComplete(). Hmm, it looks like PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess() gets it almost right, but will still hide Errors because they are not converted into AnalysisEngineProcessExceptions.
> This is important because the lack of a logged stack trace makes it hard to find a RuntimeException or Error thrown from a component that runs for a number of hours.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (UIMA-1284)
PrimitiveAnalysisEngine_impl.collectionProcessComplete() does not log
RuntimeExceptions or Errors
Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
[ https://issues.apache.org/jira/browse/UIMA-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12669033#action_12669033 ]
Marshall Schor commented on UIMA-1284:
--------------------------------------
Hmmm, in the example shown, the try block has no catch block, only a finally block. So anything thrown (including a runtime exception) will execute the finally block, and then the throw will continue up the chain. So that block of code isn't hiding the exception, I think.
It is true that the exception isn't getting logged here. But it may be logged in some caller of this, or even returned to the top level application as an exception. Have you found a case where some routine in the calling chain *should be logging* the exception (as opposed to passing it up to a higher point in the calling chain)?
> PrimitiveAnalysisEngine_impl.collectionProcessComplete() does not log RuntimeExceptions or Errors
> -------------------------------------------------------------------------------------------------
>
> Key: UIMA-1284
> URL: https://issues.apache.org/jira/browse/UIMA-1284
> Project: UIMA
> Issue Type: Bug
> Components: Core Java Framework
> Reporter: Brian Romanowski
> Priority: Minor
>
> The PrimitiveAnalysisEngine_impl has a few methods that hide all unchecked Throwables thrown from annotators. For example, collectionProcessComplete() will silently fail if the underlying AnalysisComponent.collectionProcessingComplete() method throws a RuntimeException.
> public void collectionProcessComplete() throws AnalysisEngineProcessException {
> enterCollectionProcessComplete();
> try {
> getAnalysisComponent().collectionProcessComplete();
> } finally {
> exitCollectionProcessComplete();
> }
> }
> This also appears to be an issue with PrimitiveAnalysisEngine_impl.processAndOutputNewCASes() and PrimitiveAnalysisEngine_impl.batchProcessComplete(). Hmm, it looks like PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess() gets it almost right, but will still hide Errors because they are not converted into AnalysisEngineProcessExceptions.
> This is important because the lack of a logged stack trace makes it hard to find a RuntimeException or Error thrown from a component that runs for a number of hours.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.