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

Access violation reading location 0xfffffff9168649d0 windows 7 x-64

pe_rasouliyahoo_com
880 Views
I recently switched from Vista Ultimate to Windows 7 Enterprise on the same 64-bit machine. I am using Intel Visual Fortran Compiler bondeled with VS2005. After all hasels to make it run and debug (i mean remote debugger issue). It gives me the following errorr when i try to run a code that previuosly was running on the same machine and compiler:

Unhandled exception at 0x00407dfb in min3pmcd.exe: 0xC0000005: Access violation reading location 0xfffffff9162b49d0.

or

Unhandled exception at 0x00407d0c in min3pmcd.exe: 0xC0000005: Access violation reading location 0x0000000031cf2378.


I use exactly the same compiler setting as before. The problem is when I run my program for a 1D problem (it is fluid dynamic simulator) it runs without any problem but as soon as i swith to 2D or 3D it crashes and gives the following error.

Here are are compiler settings:

/nologo /debug:full /Od /gen-interfaces /module:"x64\\Debug\\\\" /object:"x64\\Debug\\\\" /traceback /libs:static /threads /dbglibs /c

I already know that it may come from conflicts between the way that arreys are defined, but if this is the case whay the same code ran on my previous OS?

any help is highly appreciated.


0 Kudos
3 Replies
mecej4
Honored Contributor III
880 Views
It is quite common for hidden bugs to surface when a different OS or a different compiler is used, or the compiler options are changed.

It is the nature of hidden bugs to be invisible most of the time.
0 Kudos
pe_rasouliyahoo_com
880 Views
I already solved my problem:))))))

you need to change the following:

Project->Properties->Fortran->Data->Initialize Local Scalar Variables.

or add options (type) to

Project->Properties->Fortran->Data->Command Line

and

Set the Data > Local Variable Storage property to "All variables SAVE".
0 Kudos
Steven_L_Intel1
Employee
880 Views
Well, that sort of "papers over" the problem. The real problem is that you have incorrect code that assumes that variables are initialized to zero. But typically the change you made would not fix an access violation. Is this code a mix of Fortran and C? Or do you have code that deals in addresses?
0 Kudos
Reply