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

strange error in Locals window

Brian_Murphy
New Contributor II
1,307 Views
I may have broken either Visual Studio or my fortran code. In the debugger, the Locals window is showing CXX0033: Error: error in OMF type information for fixed size arrays in a locally defined data structure This code was running fine. This problem just started yesterday. Anyone know what the problem might be?
0 Kudos
53 Replies
Martyn_C_Intel
Employee
678 Views

This might be a problem with the type information for your structure in the pdb file, especially if you made any changes to your structure. Perhaps if you delete and recreate the pdb file when you rebuild?

0 Kudos
Brian_Murphy
New Contributor II
678 Views

Thanks for the suggestion.  I tried it, but it didn't seem to make any difference.  I still get the same error about OMF type.  I have not knowingly changed anything involving the types.  Is it possible I messed up something else, and memory is getting clobbered?

0 Kudos
Martyn_C_Intel
Employee
678 Views

Does your code actually fail, e.g. if you run it without debugging, or is this just a debugging problem when you try to look at local variables?

Array bounds checking and traceback should be on by default in a debug build. You could turn on interface checking at compile time (Fortran/Diagnostics/Check Routine Interfaces) just in case. It's unclear, though, why these sorts of errors would lead to CXX0033.

0 Kudos
Brian_Murphy
New Contributor II
678 Views

I changed Fortran/Run time/run time error checking from None t All, but this didn't make any difference, and didn't turn up any noew errors.

The code will run outside the debugger, but produces garbage.  Lots of NaN.

I have no idea what the error message means.  Do you know what "OMF type information" is?

0 Kudos
andrew_4619
Honored Contributor II
678 Views

Just a suggestion but perhaps copy the sources to a clean folder and make a new solution and project from scratch perhaps? I spent a long time trying to find a problem recently and this worked,..... Something is maybe screwed up (corrupt) ....

0 Kudos
Lorri_M_Intel
Employee
678 Views

I googled your fail (what did we do before google?)

Anyway, the hits all showed an old Microsoft C/C++ bug with debug information for precompiled headers.

Now, .mod files are very similar in some aspects to precompiled headers, so it's possible that something happened while building one or more of your .mod files, that dropped invalid data into your .pdb file.

I know you said you deleted the .pdb file and rebuilt, but can try doing a more extensive clean with a full rebuild?  Use Windows Explorer or a command window to confirm that all .obj, .pdb, .mod files are removed before starting the rebuild.  There are two pdb files created, please make sure both of them are gone.

If all else fails, you can shut off pdb file creation, and use the /Z7 command line switch.  I don't see a property page item that corresponds directly to /Z7 (which means C7-compatible) so you will have to use the "Command Line" page and add it manually.

     I hope this helps -

                             --Lorri

0 Kudos
Brian_Murphy
New Contributor II
678 Views

I tried build, rebuild, clean, deleting the pdf files, etc., but none of these made any difference whatsoever.

To rebuild the sln from scratch will take some doing, but I guess that's all that's left.  I did not create it, and it has a dozen subprojects in it.  Sometimes ya just gotta hate computers.

Brian

 

0 Kudos
Steven_L_Intel1
Employee
678 Views

Given that there's a CXX error showing, I wonder if the Fortran debug support is loading. Can you try a new, simple Fortran project and see if the Locals window looks right? Look for Fortran datatypes and not C types in the display.

0 Kudos
Brian_Murphy
New Contributor II
678 Views

Something seems to be messed up.

From the Samples collection I loaded matrix_vector_multiplication_f.sln

I set a breakpoint on the first line which is   a = reshape(...)

Press F5, and it stops on this line.

In the locals window, arrays B and C are there, but A is not.  I don't see any reason why A should not be there.

Should I remove and reinstall Visual Studio 2012?

Brian

0 Kudos
Brian_Murphy
New Contributor II
678 Views
The matrix vector sample contains these three lines real, dimension(TOTROW,COL) :: a real, dimension(COL) :: b real, dimension(TOTROW) :: c If I put the "a" line after the "b" line, then only "c" appears in the Locals window. If I put the "a" line after the "c" line, the no arrays appear in the Locals window. Is this supposed to happen? Brian
0 Kudos
Steven_L_Intel1
Employee
678 Views

I doubt a reinstall will help. Please give us a test case we can look at.

0 Kudos
Martyn_C_Intel
Employee
678 Views

I don't see any of this behavior. I just opened the sample solution, which got converted for VS2012. I compiled the debug Win32 version and the debugger worked as expected. In the Locals window, data types were REAL(4) for A,B,C, REAL(8) for CPTIM1,CPTIM2, INTEGER(4) for I,J,SIZE1, SIZE2. What data types do you see? (Steve's question).

0 Kudos
Brian_Murphy
New Contributor II
678 Views
Now we're getting somewhere. The "Type" that is given for arrays B and C is float[101] The "Type" given for scalers CPTIM1 and CPTIM2 is double If reinstalling VS2012 won't help, is there a quick way to get it to reset all application settings, and perhaps reregister itself in the registry?
0 Kudos
Brian_Murphy
New Contributor II
678 Views
I forgot to say that variables I, J, SUM, SIZE1 and SIZE2 do not appear in the Locals window.
0 Kudos
Brian_Murphy
New Contributor II
678 Views
My VS2012 did the "upgrade" of the sample project without any complaints. I did not change anything in any of the project settings. The "Configuration" is "Active(Debug)" and the "Platform" is "Active(Win32)" It's beyond me why the debugger is showing "C" data types in the Locals windows.
0 Kudos
Steven_L_Intel1
Employee
678 Views

Try uninstalling and reinstalling Fortran.

0 Kudos
Brian_Murphy
New Contributor II
678 Views
Steve. I will use Control Panel to uninstall Intel Composer XE 2013 Update 4 for Windows and also Intel Inspector XE 2013 Update 6 These are the only Intel items in the list. Also in the list is IMSL Fortran Library 6.0 for Intel(R) Visual Fortran Composer XE 2013 I am using that, and I will leave that one. After that I will install IVF from a huge download file named w_fcompxe_2013.4.190.exe Brian
0 Kudos
Brian_Murphy
New Contributor II
678 Views

Inspector is uninstalled.

Fortran is now being uninstalled.  That will take a while.  The "repair" option was not available because it said it did not detect installation media.

Is there anything I should wipe out before reinstalling?

Thanks,

Brrian

 

0 Kudos
Steven_L_Intel1
Employee
678 Views

I would delete the "Intel Fortran" folder under the Program Files (x86)\Microsoft Visual Studio 11.0 folder.

0 Kudos
Brian_Murphy
New Contributor II
602 Views
The Visual Studio 11.0 folder does not contain an Intel Fortran folder, but Visual Studio 10.0 does and it contain 216 mb of mostly library files. I will move that folder out, and reinstall Intel Fortran.
0 Kudos
Reply