[
https://issues.apache.org/jira/browse/OODT-584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13613320#comment-13613320
]
Rishi Verma commented on OODT-584:
----------------------------------
Patch proposed at: https://reviews.apache.org/r/10132/
> PGETaskInstance logger and NullPointerException
> -----------------------------------------------
>
> Key: OODT-584
> URL: https://issues.apache.org/jira/browse/OODT-584
> Project: OODT
> Issue Type: Bug
> Components: pge wrapper framework
> Affects Versions: 0.5
> Reporter: Rishi Verma
> Assignee: Rishi Verma
> Fix For: 0.6
>
>
> When trying to execute PGEs using the latest trunk build of CAS-PGE
> (r1460925), I keep getting NullPointerExceptions when a batchstub (or
> Workflow Manager locally) tries to execute PgeTaskInstance's run() method.
> After some investigation, it seems that the NullPointerException is being
> generated by the use of the 'logger' object at line 139 of
> PgeTaskInstance.java [1].
> See the following error example of running a simple PGE workflow:
> ...
> INFO: Executing task: [Determine_Snow_Density_Task] locally
> java.lang.NullPointerException
> at org.apache.oodt.cas.pge.PGETaskInstance.run(PGETaskInstance.java:139)
> at
> org.apache.oodt.cas.workflow.engine.IterativeWorkflowProcessorThread.executeTaskLocally(IterativeWorkflowProcessorThread.java:573)
> at
> org.apache.oodt.cas.workflow.engine.IterativeWorkflowProcessorThread.run(IterativeWorkflowProcessorThread.java:320)
> at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Thread.java:680)
> Mar 25, 2013 10:41:26 AM
> org.apache.oodt.cas.workflow.engine.IterativeWorkflowProcessorThread
> executeTaskLocally
> WARNING: Exception executing task: [Determine_Snow_Density_Task] locally:
> Message: null
> Looking at the code of PGETaskInstance.java [1], it appears that the 'logger'
> object is used multiple times before it is instantiated. For example, methods
> like createPgeMetadata and createPgeConfig both use the 'logger' object
> before the method createLogger() has been invoked. This generates a
> NullPointerException, which is then caught by the run() method's catch block.
> The catch statement then tries to log the error, but then runs into a second
> NullPointerException because logger has still not been instantiated.
> This is a major issue, because not only does initialization of a PGE
> immediately stop, but any erroneous configuration of PGEs is not properly
> logged and alerted to the user.
> --
> [1]
> http://svn.apache.org/repos/asf/oodt/trunk/pge/src/main/java/org/apache/oodt/cas/pge/PGETaskInstance.java
--
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