Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Won't Fix
-
Affects Version/s: 1.6.2, 1.6.2.1
-
Fix Version/s: 1.6.2.2
-
Component/s: Taverna Processors
-
Labels:None
Description
As reported by Sandra Calderon to taverna-users on 2007-11-16 (quote formatted):
I'm trying to use the WSInterproScan workflow proposed by EBI web services. I had some problems, in particular with 'poll'. When I try to run a protein sequence that apparently does not have result, the workflow breaks down with the message:
Error occured during invocation Attempt to create a null data object, definitely not allowed!This is very annoying when the input contains several predicted sequences that a priori it is not possible to know the result.
Her attached workflow iprscan_MYCCO.xml doesn't always fail like this, but if the coordination link to "poll" is removed, as in attached workflow iprscan_MYCCO_fails.xml - the poll processor will always fail because the server returns an empty body.
Stack trace from iprscan_MYCCO_fails.xml:
ERROR 2007-11-20 14:31:45,992 Failure while executing task poll uk.ac.soton.itinnovation.taverna.enactor.entities.TaskExecutionException: Error occured during invocation Attempt to create a null data object, definitely not allowed! at org.embl.ebi.escience.scuflworkers.wsdl.WSDLInvocationTask.execute(WSDLInvocationTask.java:127) at uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.runAndGenerateTemplates(ProcessorTask.java:576) at uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.doInvocationWithRetryLogic(ProcessorTask.java:517) at uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.invokeOnce(ProcessorTask.java:436) at uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.invokeWithoutIteration(ProcessorTask.java:642) at uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.invoke(ProcessorTask.java:353) at uk.ac.soton.itinnovation.taverna.enactor.entities.ProcessorTask.handleRun(ProcessorTask.java:280) at uk.ac.soton.itinnovation.freefluo.core.task.NewState$1.run(NewState.java:67) Caused by: java.lang.RuntimeException: Attempt to create a null data object, definitely not allowed! at org.embl.ebi.escience.baclava.DataThing.<init>(DataThing.java:231) at org.embl.ebi.escience.baclava.factory.DataThingFactory.bake(DataThingFactory.java:43) at org.embl.ebi.escience.scuflworkers.wsdl.soap.SOAPResponsePrimitiveParser.parse(SOAPResponsePrimitiveParser.java:98) at org.embl.ebi.escience.scuflworkers.wsdl.soap.WSDLSOAPInvoker.invoke(WSDLSOAPInvoker.java:141) at org.embl.ebi.escience.scuflworkers.wsdl.soap.WSDLSOAPInvoker.invoke(WSDLSOAPInvoker.java:91) at org.embl.ebi.escience.scuflworkers.wsdl.WSDLInvocationTask.execute(WSDLInvocationTask.java:84) ... 7 more
The line in question is:
List response = responseEnv.getBodyElements();
so this hints that responseEnv could be non-null, while getBodyElements() could return null.
Potential fix (untested) - change if (responseEnv == null) to :
if (responseEnv == null || responseEnv.getBodyElements() == null) {
Since this seems related to
TAV-617, I'll ask the user if she gets the same problems with 1.6.2.1.TAV-617, I'll ask the user if she gets the same problems with 1.6.2.1.