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

Computer Hangs When Loading libifcoremdd.dll

jbachmann
Beginner
969 Views
My computer seems to hang when trying to load libifcoremdd.dll. I compiled my fortran executable using the debug multithreaded DLL option in Visual Studio. The fortran executable does depend on a C static lib I compilled as well. I made sure that the run time libraries that both object files link to are multithreaded debug dll. I used ListDlls, a utility provided by Microsoft to see what DLLs are loaded by all processes. The following is the output from loading my executable after building it for debugging:

VGM.exe pid: 860
Command line:
Base Size Version Path
0x00400000 0x67833000 C:\Software Projects\VGM\VGM\Debug\VGM.exe
0x7c900000 0xb2000 5.01.2600.5755 C:\WINDOWS\system32\ntdll.dll
0x7c800000 0xf6000 5.01.2600.5781 C:\WINDOWS\system32\kernel32.dll


And here is the output from ListDlls after loading my executable after building it for release (btw, everything works fine when building it as a release exe):

VGM.exe pid: 4048
Command line: "C:\Software Projects\VGM\VGM\Release\VGM.exe"
Base Size Version Path
0x00400000 0x59d00000 C:\Software Projects\VGM\VGM\Release\VGM.exe
0x7c900000 0xb2000 5.01.2600.5755 C:\WINDOWS\system32\ntdll.dll
0x7c800000 0xf6000 5.01.2600.5781 C:\WINDOWS\system32\kernel32.dll
0x5a100000 0xf5000 11.01.0003.0003 C:\Software Projects\VGM\VGM\Release\libifcoremd.dll
0x5a200000 0x26f000 11.00.0011.0002 C:\Software Projects\VGM\VGM\Release\libmmd.dll
0x76c90000 0x28000 5.01.2600.5512 C:\WINDOWS\system32\imagehlp.dll
0x77c10000 0x58000 7.00.2600.5512 C:\WINDOWS\system32\msvcrt.dll
0x00350000 0x3c000 11.01.0003.0003 C:\Software Projects\VGM\VGM\Release\libifportMD.dll
0x7e410000 0x91000 5.01.2600.5512 C:\WINDOWS\system32\USER32.dll
0x77f10000 0x49000 5.01.2600.5698 C:\WINDOWS\system32\GDI32.dll
0x77dd0000 0x9b000 5.01.2600.5755 C:\WINDOWS\system32\ADVAPI32.dll
0x77e70000 0x92000 5.01.2600.5795 C:\WINDOWS\system32\RPCRT4.dll
0x77fe0000 0x11000 5.01.2600.5753 C:\WINDOWS\system32\Secur32.dll
0x78520000 0xa3000 9.00.30729.4148 C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4148_x-ww_d495ac4e\MSVCR90.dll
0x76390000 0x1d000 5.01.2600.5512 C:\WINDOWS\system32\IMM32.DLL

If I assume that the loading sequence of all dependencies for my executable is always the same regardless of how my exe is built, then it appears that the trouble stems from trying to load libifcoremdd.dll while in debug mode.

Does anybody have any idea about what might be the problem?

Thanks,

Jonathan
0 Kudos
4 Replies
Steven_L_Intel1
Employee
969 Views

I find it curious that in the Release mode, libifcoremd.dll is in your project's Release folder. Where is it in the Debug build? What happens if you let it load the one that is installed with the product?
0 Kudos
jbachmann
Beginner
969 Views

I find it curious that in the Release mode, libifcoremd.dll is in your project's Release folder. Where is it in the Debug build? What happens if you let it load the one that is installed with the product?


I placed libifcoremd.dll in my project's Release folder. In the debug build, I placed libifcoremdd.dll in my Debug build folder as I was under the assumption that this run-time debug library is linked to in a debug build configuration.

The compiler's bin folder is not in my path environment variable. Perhaps I could add it and see what happens. I'll let you know.
0 Kudos
jbachmann
Beginner
969 Views
Quoting - jbachmann


I placed libifcoremd.dll in my project's Release folder. In the debug build, I placed libifcoremdd.dll in my Debug build folder as I was under the assumption that this run-time debug library is linked to in a debug build configuration.

The compiler's bin folder is not in my path environment variable. Perhaps I could add it and see what happens. I'll let you know.

I removed the intel fortran runtime libraries from the Release and Debug folders and added an environment variable to /035/bin directory, (replacing with the actual location of course) and still have the same issue. I ran DependencyWalker to see what dll's my built exe needs and libifcoremdd.dll is definitely in there.

I forgot to mention that when I look at the process information of my exe it shows that the VM size is 1.7 gbs! I believe this is what's slowing my computer down so much.
0 Kudos
jbachmann
Beginner
969 Views
Quoting - jbachmann

I removed the intel fortran runtime libraries from the Release and Debug folders and added an environment variable to /035/bin directory, (replacing with the actual location of course) and still have the same issue. I ran DependencyWalker to see what dll's my built exe needs and libifcoremdd.dll is definitely in there.

I forgot to mention that when I look at the process information of my exe it shows that the VM size is 1.7 gbs! I believe this is what's slowing my computer down so much.

So I'm a total dummy and found that there isn't really a problem with the loading the dll's at all. It's that the executable is trying to reserve array space for an extremely large upper bound (30 million indices). Further, this is multiplied a couple times over, causing me to run out of memory space during the loading of the executable. This is not allowing the runtime dlls to load.
0 Kudos
Reply