PGF90-F-0000-Internal compiler error. Errors in Lowering

Hello,

I am getting the following internal compiler errors:

Lowering Error: bad ast optype in expression [ast=1614,asttype=12,datatype=0]
Lowering Error: bad ast optype in expression [ast=1634,asttype=12,datatype=0]
PGF90-F-0000-Internal compiler error. Errors in Lowering 2 (vegeagge.F: 803)
PGF90/x86-64 Linux 7.0-4: compilation aborted

line 803 is the end statement of the main program

I am a bit at a loss. Before that happened, it compiled and run but the
code has been behaving a bit strange in that compilation with and kind
of vegtorization (-Mconcurr or -Mvect) gave a segenv whereas it would
run otherwise.

Any ideas would be greatly appreciated!

This is the compile line (I also tried just -g):
pgf90 -g -Mbounds -Mchkfpstk -Mchkstk -Mchkptr -Minform,inform -Minfo=loop vegeagge.F outattdef.o koeppen.o vegclassmap.o -I/usr/local/netcdf/include -L/usr/local/netcdf/lib -lnetcdf

Thank you very much indeed!
Cheers,
JOerg

Hello,
I’ve found the problem:
This was caused by two incorrect write statements:
Such as:
write(21,rec=iii,xglc2lai(j,:,k,kk))
instead of:
write(21,rec=iii) xglc2lai(j,:,k,kk)
Sorry for the hassle,
thank you,
cheers,
Joerg

Hi Joerg,

I’ve added a Technical problem report (TPR#17176) for this issue. While your program was in error, the compiler should have done a better job of detecting this issue and not give a lowering error.

Thanks,
Mat

Joerg,

TPR 17176 - pgf90 gets lowering error when an array
section is used in as a write’s format

has been corrected in the 11.0 release, which is now available.

Thanks again for your submission.

regards,
dave

Hi,

I am getting those lowering errors even with PGI 11.0:

mpif90 -ta=nvidia,time -Minfo=accel -V -w -Kieee -Mextend -pc 64 -Mbyteswapio -Mnoopenmp -Mpreprocess -fastsse -Mvect=nosizelimit -DLinux -DPORTLAND -I. -I.. -c code.f -o code.o

pgf90 11.0-0 64-bit target on x86-64 Linux -tp nehalem 
Copyright 1989-2000, The Portland Group, Inc.  All Rights Reserved.
Copyright 2000-2010, STMicroelectronics, Inc.  All Rights Reserved.
PGF90/x86-64 Linux 11.0-0
Copyright 1989-2000, The Portland Group, Inc.  All Rights Reserved.
Copyright 2000-2010, STMicroelectronics, Inc.  All Rights Reserved.
Lowering Error: bad ast optype in expression [ast=3828,asttype=12,datatype=0]
Lowering Error: bad ast optype in expression [ast=3829,asttype=12,datatype=0]
Lowering Error: bad ast optype in expression [ast=3830,asttype=12,datatype=0]
Lowering Error: bad ast optype in expression [ast=3831,asttype=12,datatype=0]
Lowering Error: bad ast optype in expression [ast=3833,asttype=12,datatype=0]
Lowering Error: bad ast optype in expression [ast=3834,asttype=12,datatype=0]
Lowering Error: bad ast optype in expression [ast=3835,asttype=12,datatype=0]
Lowering Error: bad ast optype in expression [ast=3836,asttype=12,datatype=0]
PGF90-F-0000-Internal compiler error. Errors in Lowering       8 (code.f: 244)
PGF90/x86-64 Linux 11.0-0: compilation aborted

Line 244 that the compiler is complaining about is a loop, this is the line:

ITERATE : do while ( iter < itermx .and. istuck < 5
     &                     .and. .NOT.is_converged )

The variables iter, itermx,and istuck are integers while is_converged is of type logical.

I am not using any write statements.

I am using the “reflected” directive for PGI accelerators on GPUs, but line 244 has nothing to do with with accelerators.

Unfortunately I am not able to share the production code.

What does “bad ast optype in expression” mean?

Please let me know if I can provide further info.

Thanks.

Mohamad Sindi

Hi Mohamad Sindi,

“Lowering” is a compilation phase and a “Lower error” means that this phase failed for some reason. Hence, your error is unrelated to Joerg’s problem.

Unfortunately I am not able to share the production code.

Would it be possible to create a reproducing example you could send us (trs@pgroup.com)? Lowering errors are generally context specific and without an example we wont be able to determine the problem.

Thanks,
Mat