[Swift-devel] null pointer exception from nested loops

Michael Wilde wilde at mcs.anl.gov
Tue Mar 17 16:07:10 CDT 2009


I just expanded my oops protein folding script to add another level of 
parameter sweep. This script is getting pretty complex now (at least, 
for a swift script).

I got the following npe on my first two tries. Im going to start 
debugging, but any clues as to the cause would be helpful.

The outer loops are:

main()
{
   string protein[] = readData(@arg("plist"));
   string startTemp[] = ["10","20"];
   string tempUpdate[] = ["1","2","3"];

   foreach p in protein {
     foreach st in startTemp {
       foreach tu in tempUpdate {
         doRoundSet(p,st,tu);
       }
     }
   }
}

There are two levels of inner loops further down below doRoundSet().

The script, output, command line args and log are in:
http://ww.ci.uchicago.edu/~wilde/swift3.tar.gz

I suspect it will take a while to narrow the cause to a simpler test 
case thats easy tp reproduce without a lot of setup.

I'll try on a vanilla swift on local execution; this is on bgp with Falkon.

Thanks.

--

...
Progress:  uninitialized:1 Selecting site:2
SwiftScript trace: T1af7, Round, 0, Sim, 7
SwiftScript trace: T1af7, Round, 0, Sim, 2
SwiftScript trace: T1af7, Round, 0, Sim, 8
SwiftScript trace: T1af7, Round, 0, Sim, 0
SwiftScript trace: T1af7, Round, 0, Sim, 5
SwiftScript trace: T1af7, Round, 0, Sim, 9
SwiftScript trace: T1af7, Round, 0, Sim, 1
SwiftScript trace: T1af7, Round, 0, Sim, 6
SwiftScript trace: T1af7, Round, 0, Sim, 3
SwiftScript trace: T1af7, Round, 0, Sim, 4
Ex098
java.lang.NullPointerException
	at 
org.griphyn.vdl.karajan.lib.VDLFunction.leafFileName(VDLFunction.java:285)
	at org.griphyn.vdl.karajan.lib.VDLFunction.filename(VDLFunction.java:201)
	at org.griphyn.vdl.karajan.lib.VDLFunction.filename(VDLFunction.java:182)
	at 
org.griphyn.vdl.karajan.lib.swiftscript.FileName.function(FileName.java:19)
	at org.griphyn.vdl.karajan.lib.VDLFunction.post(VDLFunction.java:67)
	at 
org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.childCompleted(AbstractSequentialWithArguments.java:192)
	at 
org.globus.cog.karajan.workflow.nodes.Sequential.notificationEvent(Sequential.java:33)
	at org.globus.cog.karajan.workflow.nodes.FlowNode.event(FlowNode.java:332)
	at org.globus.cog.karajan.workflow.events.EventBus.send(EventBus.java:125)
	at 
org.globus.cog.karajan.workflow.events.EventBus.sendHooked(EventBus.java:99)
	at 
org.globus.cog.karajan.workflow.nodes.FlowNode.fireNotificationEvent(FlowNode.java:176)
	at 
org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:296)
	at 
org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
	at 
org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:46)
	at 
org.globus.cog.karajan.workflow.nodes.Sequential.startNext(Sequential.java:51)
	at 
org.globus.cog.karajan.workflow.nodes.Sequential.executeChildren(Sequential.java:27)
	at 
org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.executeChildren(AbstractFunction.java:40)
	at 
org.globus.cog.karajan.workflow.nodes.FlowContainer.execute(FlowContainer.java:63)
	at 
org.globus.cog.karajan.workflow.nodes.FlowNode.restart(FlowNode.java:233)
	at org.globus.cog.karajan.workflow.nodes.FlowNode.start(FlowNode.java:278)
	at 
org.globus.cog.karajan.workflow.nodes.FlowNode.controlEvent(FlowNode.java:391)
	at org.globus.cog.karajan.workflow.nodes.FlowNode.event(FlowNode.java:329)
	at 
org.globus.cog.karajan.workflow.FlowElementWrapper.event(FlowElementWrapper.java:227)
	at org.globus.cog.karajan.workflow.events.EventBus.send(EventBus.java:125)
	at 
org.globus.cog.karajan.workflow.events.EventBus.sendHooked(EventBus.java:99)
	at 
org.globus.cog.karajan.workflow.events.EventWorker.run(EventWorker.java:69)
Execution failed:
	java.lang.NullPointerException
	at 
org.griphyn.vdl.karajan.lib.VDLFunction.leafFileName(VDLFunction.java:285)
	at org.griphyn.vdl.karajan.lib.VDLFunction.filename(VDLFunction.java:201)
	at org.griphyn.vdl.karajan.lib.VDLFunction.filename(VDLFunction.java:182)
	at 
org.griphyn.vdl.karajan.lib.swiftscript.FileName.function(FileName.java:19)
	at org.griphyn.vdl.karajan.lib.VDLFunction.post(VDLFunction.java:67)
	at 
org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.childCompleted(AbstractSequentialWithArguments.java:192)
	at 
org.globus.cog.karajan.workflow.nodes.Sequential.notificationEvent(Sequential.java:33)
	at org.globus.cog.karajan.workflow.nodes.FlowNode.event(FlowNode.java:332)
	at org.globus.cog.karajan.workflow.events.EventBus.send(EventBus.java:125)
	at 
org.globus.cog.karajan.workflow.events.EventBus.sendHooked(EventBus.java:99)
	at 
org.globus.cog.karajan.workflow.nodes.FlowNode.fireNotificationEvent(FlowNode.java:176)
	at 
org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:296)
	at 
org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
	at 
org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:46)
	at 
org.globus.cog.karajan.workflow.nodes.Sequential.startNext(Sequential.java:51)
	at 
org.globus.cog.karajan.workflow.nodes.Sequential.executeChildren(Sequential.java:27)
	at 
org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.executeChildren(AbstractFunction.java:40)
	at 
org.globus.cog.karajan.workflow.nodes.FlowContainer.execute(FlowContainer.java:63)
	at 
org.globus.cog.karajan.workflow.nodes.FlowNode.restart(FlowNode.java:233)
	at org.globus.cog.karajan.workflow.nodes.FlowNode.start(FlowNode.java:278)
	at 
org.globus.cog.karajan.workflow.nodes.FlowNode.controlEvent(FlowNode.java:391)
	at org.globus.cog.karajan.workflow.nodes.FlowNode.event(FlowNode.java:329)
	at 
org.globus.cog.karajan.workflow.FlowElementWrapper.event(FlowElementWrapper.java:227)
	at org.globus.cog.karajan.workflow.events.EventBus.send(EventBus.java:125)
	at 
org.globus.cog.karajan.workflow.events.EventBus.sendHooked(EventBus.java:99)
	at 
org.globus.cog.karajan.workflow.events.EventWorker.run(EventWorker.java:69)

Ex098
java.lang.NullPointerException
	at 
org.griphyn.vdl.karajan.lib.VDLFunction.leafFileName(VDLFunction.java:285)
	at org.griphyn.vdl.karajan.lib.VDLFunction.filename(VDLFunction.java:201)
	at org.griphyn.vdl.karajan.lib.VDLFunction.filename(VDLFunction.java:182)
	at 
org.griphyn.vdl.karajan.lib.swiftscript.FileName.function(FileName.java:19)
	at org.griphyn.vdl.karajan.lib.VDLFunction.post(VDLFunction.java:67)
	at 
org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.childCompleted(AbstractSequentialWithArguments.java:192)
	at 
org.globus.cog.karajan.workflow.nodes.Sequential.notificationEvent(Sequential.java:33)
	at org.globus.cog.karajan.workflow.nodes.FlowNode.event(FlowNode.java:332)
	at org.globus.cog.karajan.workflow.events.EventBus.send(EventBus.java:125)
	at 
org.globus.cog.karajan.workflow.events.EventBus.sendHooked(EventBus.java:99)
	at 
org.globus.cog.karajan.workflow.nodes.FlowNode.fireNotificationEvent(FlowNode.java:176)
	at 
org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:296)
	at 
org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
	at 
org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:46)
	at 
org.globus.cog.karajan.workflow.nodes.Sequential.startNext(Sequential.java:51)
	at 
org.globus.cog.karajan.workflow.nodes.Sequential.executeChildren(Sequential.java:27)
	at 
org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.executeChildren(AbstractFunction.java:40)
	at 
org.globus.cog.karajan.workflow.nodes.FlowContainer.execute(FlowContainer.java:63)
	at 
org.globus.cog.karajan.workflow.nodes.FlowNode.restart(FlowNode.java:233)
	at org.globus.cog.karajan.workflow.nodes.FlowNode.start(FlowNode.java:278)
	at 
org.globus.cog.karajan.workflow.nodes.FlowNode.controlEvent(FlowNode.java:391)
	at org.globus.cog.karajan.workflow.nodes.FlowNode.event(FlowNode.java:329)
	at 
org.globus.cog.karajan.workflow.FlowElementWrapper.event(FlowElementWrapper.java:227)
	at org.globus.cog.karajan.workflow.events.EventBus.send(EventBus.java:125)
	at 
org.globus.cog.karajan.workflow.events.EventBus.sendHooked(EventBus.java:99)
	at 
org.globus.cog.karajan.workflow.events.EventWorker.run(EventWorker.java:69)
SwiftScript trace: T1af7, Round, 0, Sim, 7



More information about the Swift-devel mailing list