Start a Conversation

Unsolved

This post is more than 5 years old

N

4285

February 15th, 2011 02:00

Crash using latest SDK on Server 2008R2 with C# wrapper

We have created a .NET service with a c# P/Invove wrapper over the SDK which has been used for a number of years on Server 2003R2 32-bit with no problems. Recently one of our customers upgraded to Server 2008R2 and we have started to see a memory corruption exception (after several days of intensive use) which causes the service to shut down. The service runs as 32-bit and uses the 32-bit SDK. We have upgraded to the latest SDK and used the P/Invoke signatures from the latest SourceForge API but still get the exception. Any ideas how to debug this or whether anyone else is getting the same problem?

Exception Type: System.AccessViolationException

Message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Data: System.Collections.ListDictionaryInternal
TargetSite: Void FPStream_Close(Centera.FPStreamRef)

Exception Type: System.Runtime.InteropServices.SEHException

ErrorCode: -2147467259

Message: External component has thrown an exception.

Data: System.Collections.ListDictionaryInternal

TargetSite: Centera.FPClipRef FPClip_Open(Centera.FPPoolRef, System.String, Centera.FPInt)

February 17th, 2011 04:00

It would be possible, but I would have to split it away from other interop libraries we use which are only available as 32-bit and make a new windows service to host only the 64-bit capable ones, which would increase the installation complexity a bit. I would be reasonably happy to put the effort in if I was sure that was where the problem lay.

2 Intern

 • 

417 Posts

February 17th, 2011 04:00

Nick - are you using the full SourceForge .NET wrapper or simply parts of it (i.e. similar signatures) with your own wrapper?

There were some HasTable issues with the standard .NET wrapper I wrote but these are addressed in recent builds.

February 17th, 2011 04:00

I am using the P/Invoke signatures and the custom marshalling but with my own wrapper. This wrapper has been in use for a few years without problems and only uses basic SDK functions to store and retrieve files (e.g. CreateFileForInput and CreateFileForOutput). I can send you the files directly if that would help? I am wondering if it has to do with running on a 64-bit WOW rather than native 32-bit.

2 Intern

 • 

417 Posts

February 17th, 2011 04:00

Could be a 64 bit issue. What is preventing you from going true 64 bit? There is a 64 bit Windows version of the Centera SDK, so I guess it's on your own side?

No Events found!

Top