Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

triggered a breakingpoint (libifcoremdd)

Chihlun_L_
Beginner
1,234 Views

Hi, I got trouble when debugging. 

The code is finished in CVF. When I run it in IVF (0 error), it breaks.

The picture is what happened. However I have no idea how to solve it.

Thanks!breakpoint.jpg

0 Kudos
10 Replies
Chihlun_L_
Beginner
1,234 Views
0 Kudos
Chihlun_L_
Beginner
1,234 Views

breakpoint.jpg

0 Kudos
Steven_L_Intel1
Employee
1,234 Views

I see the forum is giving you some trouble with the image - how are you trying to include it?

The image you linked to doesn't have useful information.  Look for another window, probably a console window, on your taskbar. Most likely there is a runtime check error, such as an uninitialized variable or array bounds, that CVF didn't catch.

0 Kudos
Chihlun_L_
Beginner
1,234 Views

Here's the console window.

https://www.dropbox.com/s/p2p0pa68e3uc03g/console.jpg

I have checked the array PT2 which is declared as PT2(max,max,8), and I didn't see any number greater than 8 when filling in the array.

Or isn't "subscript #3" associated with the number 8?

Thanks!

0 Kudos
mecej4
Honored Contributor III
1,234 Views

I have checked the array PT2 which is declared as PT2(max,max,8), and I didn't see any number greater than 8 when filling in the array.

The runtime error message is very clear. It tells you that on line 1394 the third subscript had a value that exceeded the upper limit of 8.

You have not shown us the code, and you state that you did not see "any number greater than 8". It is not clear whether these numbers that you mention are array element values or subscript values. The error message concerns the latter.

At any rate, I do not think that you can expect much help with your problem until you post the source code or at least the relevant portions of it.

0 Kudos
Chihlun_L_
Beginner
1,234 Views

the code of line 136: CALL JACOBIAN (It's a subroutine)

line 1394 is the last line of JACOBIAN: CALL ASSEMBLE(ICALL) (also a subroutine)

So I think the code of ASSEMBLE(ICALL) subroutine may be relevant:

https://www.dropbox.com/s/gd5tw915cqt8p45/code.jpg

Thanks!

 

 

0 Kudos
mecej4
Honored Contributor III
1,234 Views

The first two .JPG files that you linked to in this thread are no longer available, so we cannot see the error messages. Secondly, program source code provided in the form of an image file is next to useless.

Please attach the source files as prescribed (under "attachments"), and edit your earlier post to report the error messages inline. Please provide the entire sources, so that a reader can save the files and attempt to compile and run them.

0 Kudos
Lorri_M_Intel
Employee
1,234 Views

First, let me repeat mecej4's comment; having compileable code is much better than looking at a jpg.

That said, I did see something "interesting". 

In routine ASSEMBLE, look near the line labeled with 100.

Above that there is a statement where K is used, but K is not defined within that "if ... then" clause

    PT2(I, J, K) = 0.D0

                               --Lorri

 

0 Kudos
mecej4
Honored Contributor III
1,234 Views

Lorri Menard wrote:
Above that there is a statement where K is used, but K is not defined within that "if ... then" clause

Interesting catch. I think that the IF clause gets executed first, when J <= ND1, so that the value of K after the DO K loop in the clause finishes is 8+1 = 9. This value gets used when the other clause is executed in the next iteration of the J loop. This was probably not intended, so K needs to be set to a proper value before being used as an array index.

0 Kudos
Chihlun_L_
Beginner
1,234 Views

Hi,

I think I got the point with your help!

Thanks to you all!

0 Kudos
Reply