I have a WCF service calling Fortran DLL and for testing purposes, have copied all the fortran dlls in the bin folder of my WCF service along with my fortran DLL.
1) For a single call, the DLL works as expected
2) When multiple calls are made simultaneously (with webgarden setting enabled in apppool that hosts the service), the app pool crashes with the following info in event viewer. Any way to address this?
Faulting application name: w3wp.exe, version: 8.5.9600.16384, time stamp: 0x52157ba0
Faulting module name: libifcoremd.dll, version: 22.214.171.124, time stamp: 0x4f2776fe
Exception code: 0xc0000005
Fault offset: 0x000a59b6
Faulting process id: 0x21d8
Faulting application start time: 0x01d215a8988ed5d2
Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Faulting module path: C:\inetpub\wwwroot\ng\bin\libifcoremd.dll
The above error was logged after a 'AccessViolationException' was logged that crashed the w3wp.exe from my fortran DLL.
Thought would start on these forums before I am routed to Microsoft/IIS forums..
That is an access violation. How exactly does this do multiple calls? Is it one process with multiple threads? If so, did you build your DLL with the /reentrancy:threaded option? (This is on by default in version 17, but it looks as if you're using version 12.1 from four years ago,) You'd also probably want to build with /recursive.