Opened 16 years ago

Closed 16 years ago

#133 closed defect (fixed)

null pointer exception in model builder

Reported by: Stephen Siegel Owned by: ywei
Priority: major Milestone:
Component: front Version: 1.0
Keywords: Cc:

Description (last modified by Stephen Siegel)

+----------------------------------------------------------------------+
|           TASS: Toolkit for Accurate Scientific Software             |
|  version 1.0.r1240 (2009-12-20)        http://vsl.cis.udel.edu/tass  |
+----------------------------------------------------------------------+
               model : diffusion1_par (numProcs = 2)
          sourceFile : examples/diffusion/diffusion1_par.mmp
                mode : VERIFY
              prover : CVC3
            deadlock : ABSOLUTE
           reduction : URGENT
            simplify : true
             verbose : false
         loop method : false
          repository : ./TASSREP

Exception in thread "main" java.lang.NullPointerException
	at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.processVariableExpr(ModelBuilder.java:1233)
	at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.processExpression(ModelBuilder.java:1038)
	at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.processDimensions(ModelBuilder.java:402)
	at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.processGlobalVariables(ModelBuilder.java:337)
	at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.processAST(ModelBuilder.java:276)
	at edu.udel.cis.vsl.minimp.front.minimp.ModelBuilder.buildModel(ModelBuilder.java:271)
	at edu.udel.cis.vsl.minimp.front.minimp.ModelExtractor.extract(ModelExtractor.java:30)
	at edu.udel.cis.vsl.minimp.front.minimp.ModelExtractor.extractModel(ModelExtractor.java:54)
	at edu.udel.cis.vsl.minimp.MiniMP.verify(MiniMP.java:408)
	at edu.udel.cis.vsl.minimp.MiniMP.main(MiniMP.java:483)

Here's the relevant code:

int m = ((PID+1)*nx)/NPROCS - (PID*nx)/NPROCS + 2;

 /* temp. buffer used on proc 0 only */ 
real[m] buf;   

I'm trying to check in the code but am having svn problems.

Change History (4)

comment:1 by Stephen Siegel, 16 years ago

Description: modified (diff)

comment:2 by ywei, 16 years ago

Status: newaccepted

comment:3 by ywei, 16 years ago

Bug fixed. It seemed that the merely using a map to store global variables is not enough, so I added a list to record the order they are declared. So m will be processed before buf, which means by the time the variable buf is being processed, m has already had its definition.

comment:4 by ywei, 16 years ago

Resolution: fixed
Status: acceptedclosed

Forgot to close the ticket.

Note: See TracTickets for help on using tickets.