Intel Fortran XE 2013 SP1, Crash Visual Studio when step by step debuging

Intel Fortran XE 2013 SP1, Crash Visual Studio when step by step debuging

I have two questions related to XE 2013 SP1.  After installing w_fcompxe_2012-sp1.1.139 to be compatible with VS 2013, I encountered two issues:

1.   When I debug into a function (step into the function), it crashes Visual Studio and gives error R6025. If I step over, it will run through without any problem.  See below is a code example, where function CheckVRControl() is a C function. But even if I commented out the function call and the interface section, it still crashes when making step by step debugging. Step over will run ok. Have anyone encountered a similar problem and any idea how I can resolve it?

subroutine callCheckVRControl(iAct)

interface to subroutine CheckVRControl [C,ALIAS:'_CheckVRControl']+ (iAct)

integer(4) iAct [reference]

end

integer(4),intent(out) :: iAct

call CheckVRControl(iAct)

return

end

 

2.  When replacing the interface section with "contains" section as shown below, I am not able to debug into function CheckVRControl().  Is there a setting that allows debug into the function?

subroutine callCheckVRControl(iAct)

integer(4),intent(out) :: iAct

call CheckVRControl(iAct)

return

contains

subroutine CheckVRControl+ [C,ALIAS:'_CheckVRControl']+ (iAct)

integer(4) iAct [reference]

end subroutine CheckVRControl

end

 

Jun

16 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Can you attach a ZIP of a project that shows this problem?

Also, I suggest replacing the old Microsoft Powerstation [] attribute and "interface to" syntax with standard Fortran. For example:


	interface

	subroutine CheckVRControl (iAct) bind(C,NAME='CheckVRControl)

	use, intrinsic :: iso_c_binding

	integer(C_INT) iAct

	end subroutine CheckVRControl

	end interface

	

 

Steve - Intel Developer Support

Steve,  Thanks for your help.  The project is quite big involving many files.  I will try to reduce it and still make the problem show up.  When using the new interface format, it gives me error messages: “error #8000:  There is a conflict between local interface block and external interface block.   [SETSVCGRPNO]”, and “error #6784: The number of actual arguments cannot be greater than the number of dummy arguments.   [SETSVCGRPNO]” In the C function, the argument is defined as int*.  Please note that in the project setting, I have turned on option Diagnostics, “Check Routine Interfaces” intentionally.

      subroutine callCheckVRControl(iAct)

      use, intrinsic :: iso_c_binding

        interface

            subroutine CheckVRControl(nAct)

     +              bind(C, NAME='CheckVRControl')

            use, intrinsic :: iso_c_binding

            integer(C_INT),intent(out) :: nAct

            end subroutine CheckVRControl   

        end interface

      integer(C_INT),intent(out) :: iAct

      call CheckVRControl(iAct)

      return

      end

I don't see any mention of SETSVCGRPNO in the code you posted, so I can't help with the error.

Steve - Intel Developer Support

Steve, Attached is a project file that shows the problem.  Please load the Fortran.sln file to compile.

Subroutine callCheckVRControl(),which calls the C function CheckVRControl(), is called at 3 different locations.  When doing step-by-step debugging, it crashes in the call from subroutine DataInputAndIniLF(),  as you step into the C function CheckVRControl(). However, if I step over, it runs through at this call.  It is also ok if I step-by-step debugging from the other two calling places. 

Thank you very much for your help.

Jun

Attachments: 

AttachmentSize
Download MSTest.rar27.43 MB

I can reproduce this. Looks like something has corrupted memory, but I don't see where yet. I'll get back to you.

Steve - Intel Developer Support

Steve,

Have you found any reason for the problem? Thanks.

 

Jun

Not yet. It is very strange.

Steve - Intel Developer Support

Steve,

Is there any new finding on this issue?  Our development team has encountered a number of cases of Intel Fortran crashing when working with VS 2013.  Is there anyway to pass this issue to Intel Fortran technique support or development team?

This version of  Intel(R) Visual Fortran Composer XE 2013 SP1 Update 1 seems to have some issues working with VS 2013.  We never encountered so many crashes while debugging when using the previous version. Do you know if there is a plan to come up with a new version?

Thanks.

Jun

We are continuously improving the VS support. Please try Update 2 when it comes out (it was delayed due to some install issues).

This forum, or Intel Premier Support, is the way to report issues to Intel.

Steve - Intel Developer Support

Jun,

Do you have any plugins to VS2013 e.g. Sonar, ReSharper?

I had stability problems with VS2013, restarting every 10 minutes, even during debugging. The problem was only resolved by uninstalling Sonar.

Interestingly my colleagues did not have the problem.

Les

Les,

I don't have any plugins installed with VS2013.

Jun

I reproduced the problem without any plugins.

Steve - Intel Developer Support

Jun, did Update 2 address this problem at all?  My team has seem similar problems for a while with VS2010 (IVF 2011 Update 11) but they occurred only occasionally, so we worked around them.  We're now looking to upgrade to VS2013, and to the latest IVF version, but I'm hesitant to green light it, if this issue occurs more frequently.  Thanks!

The Update 2 seems having solving the crashing problem I had.  I tried on both the small project attached above and the real project and did not get crash.  Thanks, Steve and Intel.

Glad to hear it!

Steve - Intel Developer Support

Leave a Comment

Please sign in to add a comment. Not a member? Join today