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

TRACEBACKQQ Crash?

Nick3
New Contributor I
960 Views

So, I'm using VS 2019, IFORT 2020 update 4, x64 executable, and my code looks something like this (mix of C++ and Fortran):

 

__try
{

....

 

TYPE(T_EXCEPTION_RECORD) xr

 

xr%ExceptionInformation(1)=696969
xr%ExceptionInformation(2)=333333
xr%ExceptionInformation(3)=777777
xr%ExceptionInformation(4)=ICODE
CALL RaiseExceptionA(1,0,4,xr%ExceptionInformation)

 

 

....

 

}
__except(filter(GetExceptionCode(), GetExceptionInformation()))

 

 

....

 

TYPE(T_EXCEPTION_POINTERS) EPTRS
INTEGER(4) UEC
UEC=-1
CALL TRACEBACKQQ(USER_EXIT_CODE=UEC,EPTR=%LOC(EPTRS))

 

 

I hate to say this, but it worked yesterday, and broke down out of nowhere...

OK, I got a new computer with the latest and greatest Visual Studio and operating system and everything.

But anyway, that call to TRACEBACKQQ now gives me an error:

 

Exception thrown at 0x00000244821938D1 (MyFortran.dll) in MyGUI.exe: 0xC0000005: Access violation reading location 0x000000CB13900000.

 

With a stack trace like this:

 

MyFortran.dll!tbk_get_pc_info_pie() Unknown
MyFortran.dll!tbk_string_stack_signal_impl() Unknown
MyFortran.dll!tbk_trace_stack_impl() Unknown
MyFortran.dll!tbk_string_stack_signal_impl() Unknown
MyFortran.dll!tbk_stack_trace() Unknown
MyFortran.dll!tbk_stack_trace() Unknown
MyFortran.dll!TRACEBACKQQ() Unknown
> MyFortran.dll!PRODUCETRACEBACK(TYPE(T_EXCEPTION_POINTERS) EPTRS ) Line 16 Fortran

 

Any idea what happened to break TRACEBACKQQ?  Is it my new configuration, or an overly aggressive corporate anti-whatever software?

0 Kudos
1 Reply
Steve_Lionel
Honored Contributor III
941 Views

My guess is stack corruption. I am also unsure how well C++ exception handling plays with Fortran's traceback function.

0 Kudos
Reply