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

Runtime error in libifcoremd.dll version 11.1.046

Michel
Beginner
1,925 Views
I updated to Fortran 11.1.046 from 11.1.038 and now al my console apps crashes on a error 157.
I have traceback and several checks enabled.
I did a clean compile and checked which libraries the linker uses.

I use mixed fortran and c code and all c source is compiled with MS Visual C 9.0.30729.1

Here are my ifort compile options:
f_options = /fpscomp:none /nologo /c /integer_size:16 /align:dcommons /traceback \
/debug:none /debug-parameters:none /Zi \
/check:bounds /check:uninit /warn:unused /warn:declarations \
/warn:uncalled /warn:truncated_source /warn:usage /iface:cvf \
/assume:byterecl /MD /define:NT=1 /Od $(f_includes) $(f_modules)

Now when I let my apps use libifcoremd.dll from 11.1.038 they run without an error.
But when I put the libifcoremd.dll from 11.1.046 in the app dir then the program crashes on startup.
The traceback then points tolibifcoremd.dll.

This is the error output:
forrtl: severe (157): Program Exception - access violation
Image PC Routine Line Source
libifcoremd.dll 10092035 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown Unknown
08DB0178 Unknown Unknown Unknown
08DB9BF0 Unknown Unknown
0 Kudos
1 Solution
Steven_L_Intel1
Employee
1,925 Views
I'm guessing that this application was ported from CVF and has the /iface:CVF option applied. If so, then yes, the USEROPEN routine needs to have ATTRIBUTES C specified to change its calling convention to C. An easier and shorter way is to use ATTRIBUTES DEFAULT - that way you don't need the alias nor the REFERENCE directives.

View solution in original post

0 Kudos
9 Replies
Steven_L_Intel1
Employee
1,925 Views
Looks like a recursive loop in the library. Can you provide us with a complete program that demonstrates the problem?
0 Kudos
Michel
Beginner
1,925 Views
Looks like a recursive loop in the library. Can you provide us with a complete program that demonstrates the problem?

Thanks for the answer, I made a debug build of one of my apps and attached it to this post.
All programs return the same address in the traceback in the runtime library.

Michel de Groot
0 Kudos
sarma_amras
New Contributor I
1,925 Views
Quoting - Michel

Thanks for the answer, I made a debug build of one of my apps and attached it to this post.
All programs return the same address in the traceback in the runtime library.

Michel de Groot

Hi...can you please attach your source code and the dll's used.
Also, the complete error description that you have seen.
Kameswara Sarma
0 Kudos
Michel
Beginner
1,925 Views
Quoting - sarma_amras

Hi...can you please attach your source code and the dll's used.
Also, the complete error description that you have seen.
Kameswara Sarma

I'm sorry but the source involves lots of our library source which is confidential. So I cannot post them on this public forum.

I ran the executable in the windows debugger and I got this result.

Microsoft Windows Debugger Version 6.11.0001.404 X86
Copyright (c) Microsoft Corporation. All rights reserved.

CommandLine: C:ftestcod_f1.exe
Symbol search path is: srv*c:mss*http://msdl.microsoft.com/download/symbols
Executable search path is:
ModLoad: 00400000 0542d000 cod_f1.exe
ModLoad: 7c900000 7c9b2000 ntdll.dll
ModLoad: 7c800000 7c8f6000 C:WINDOWSsystem32kernel32.dll
ModLoad: 10200000 10323000 C:WINDOWSWinSxSx86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_f863c71fMSVCR90D.dll
ModLoad: 74320000 7435d000 C:WINDOWSsystem32ODBC32.dll
ModLoad: 77dd0000 77e6b000 C:WINDOWSsystem32ADVAPI32.dll
ModLoad: 77e70000 77f02000 C:WINDOWSsystem32RPCRT4.dll
ModLoad: 77fe0000 77ff1000 C:WINDOWSsystem32Secur32.dll
ModLoad: 5d090000 5d12a000 C:WINDOWSsystem32COMCTL32.dll
ModLoad: 77f10000 77f59000 C:WINDOWSsystem32GDI32.dll
ModLoad: 7e410000 7e4a1000 C:WINDOWSsystem32USER32.dll
ModLoad: 763b0000 763f9000 C:WINDOWSsystem32comdlg32.dll
ModLoad: 7c9c0000 7d1d7000 C:WINDOWSsystem32SHELL32.dll
ModLoad: 77c10000 77c68000 C:WINDOWSsystem32msvcrt.dll
ModLoad: 77f60000 77fd6000 C:WINDOWSsystem32SHLWAPI.dll
ModLoad: 10000000 100f5000 C:ftestlibifcoremdd.dll
ModLoad: 05430000 0569f000 C:ftestlibmmd.dll
ModLoad: 76c90000 76cb8000 C:WINDOWSsystem32imagehlp.dll
ModLoad: 056a0000 05a1d000 C:ftestlibmmdd.dll
(12a8.1278): Break instruction exception - code 80000003 (first chance)
eax=00251eb4 ebx=7ffd5000 ecx=00000002 edx=00000004 esi=00251f48 edi=00251eb4
eip=7c90120e esp=0012fb20 ebp=0012fc94 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202
ntdll!DbgBreakPoint:
7c90120e cc int 3
0:000> g
ModLoad: 76390000 763ad000 C:WINDOWSsystem32IMM32.DLL
ModLoad: 773d0000 774d3000 C:WINDOWSWinSxSx86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83comctl32.dll
ModLoad: 003e0000 003f7000 C:WINDOWSsystem32odbcint.dll
(12a8.1278): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=100dfd80 ebx=0012e994 ecx=00000054 edx=0012e814 esi=001c076f edi=0012e838
eip=10092035 esp=0012e828 ebp=061421f8 iopl=0 nv up ei pl zr na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010246
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:ftestlibifcoremdd.dll -
libifcoremdd!fq_settextposition+0x3d25:
10092035 894658 mov dword ptr [esi+58h],eax ds:0023:001c07c7=????????

Michel.
0 Kudos
Steven_L_Intel1
Employee
1,925 Views
Would you be willing to provide us the sources in private? Let me know and I can make this thread private, or you can submit the sources through Intel Premier Support. We will need the sources in order to diagnose the problem.
0 Kudos
Michel
Beginner
1,925 Views
Would you be willing to provide us the sources in private? Let me know and I can make this thread private, or you can submit the sources through Intel Premier Support. We will need the sources in order to diagnose the problem.

That is possible I think.
I have to make a separate source tree and remove unused routines from ourlibraries.
Then I can submit them trough premium support.

Michel.
0 Kudos
Steven_L_Intel1
Employee
1,924 Views
Ok - when you do so, please include the URL of this forum thread in your problem description.
0 Kudos
Michel
Beginner
1,924 Views
Ok - when you do so, please include the URL of this forum thread in your problem description.

I found the source file where the problem occurs.

This is the source file open6.f
--------------------------
subroutine open6
c routine om te voorkomen dat het eerste karakter van
c een string niet wordt afgedrukt op het scherm.
implicit none

include '../com/max_path.i'

character value*128,camproc*128
character*(max_path) filename,getnctmp
integer*4 uopen,ios

external uopen,getnctmp

open(6,file='con',carriagecontrol='list')
call fgetenv('debuginfo',value)
call fgetenv('camprocess',camproc)
if (value.eq.'yes') then
ios=-1
else
if (camproc.eq.'') then
filename=trim(getnctmp())//'debug.txt'
else
filename=trim(getnctmp())//'debug.txt.'//trim(camproc)
endif
open(unit=0,file=filename,carriagecontrol='list',
+ status='replace',share='denynone',useropen=uopen,iostat=ios)
if (ios.ne.0) write(6,'(2a)') 'Error opening ',trim(filename)
endif
if (ios.ne.0) open(0,file='con',carriagecontrol='list')
open(unit=1,file='pipe',useropen=uopen)
return
end

integer*4 function uopen(filename,desired_access,share_mode,
+ a_null,create_disp,flags_attr,b_null,
+ unit,flen)

implicit none

!dec$ attributes c, alias:'_UOPEN' :: uopen
!dec$ attributes reference :: filename
!dec$ attributes reference :: desired_access
!dec$ attributes reference :: share_mode
!dec$ attributes reference :: create_disp
!dec$ attributes reference :: flags_attr
!dec$ attributes reference :: unit

integer*4 desired_access,share_mode,a_null,create_disp,flags_attr,
+ b_null,unit,flen,sts
character filename*(flen)

if (unit.eq.1) then
call pipeio(unit,sts)
else
call FortranIO(FileName,desired_access,share_mode,create_disp,
+ flags_attr,unit,sts)
endif
uopen=sts
return
write(6,*) desired_access
write(6,*) share_mode
write(6,*) a_null
write(6,*) create_disp
write(6,*) flags_attr
write(6,*) b_null
write(6,*) flen
end

---------
The problem seems to be the declaration of the exported function _UOPEN being inside the uopen function.

When I put the line: !dec$ attributes c, alias:'_UOPEN' :: uopen
at the beginning of the subroutine open6 (before the external declaration) then the problem goes away.

Ok Steve, if you still want complete source demonstrating the problem please let me know.

I found this post: http://software.intel.com/en-us/forums/showthread.php?t=68349
describing what should be after the 'external uopen' line.

Now the source compiles and runs without problem.

Michel.
0 Kudos
Steven_L_Intel1
Employee
1,926 Views
I'm guessing that this application was ported from CVF and has the /iface:CVF option applied. If so, then yes, the USEROPEN routine needs to have ATTRIBUTES C specified to change its calling convention to C. An easier and shorter way is to use ATTRIBUTES DEFAULT - that way you don't need the alias nor the REFERENCE directives.
0 Kudos
Reply