Start a Conversation

Unsolved

This post is more than 5 years old

2104

March 26th, 2017 23:00

EMC SDK kills calling application

Hi,

our customer has problems while importing documents to his emc centera machine.

Once a day he get this failure (see below). The error kills the whole process. Catch or finaly blocks in my code are not called.

This is the callstack from the crash dump:

000000401863bd00 00007ffdb1aa3925 ntdll!RtlRaiseException+0x45, calling ntdll!RtlpCaptureContext

000000401863bd10 00007ffdb1aa3a6d ntdll!RtlRaiseException+0x18d, calling ntdll!RtlDispatchException

000000401863be30 00007ffd493d870a (MethodDesc 00007ffd494901b0 +0x4a EMC.Centera.SDK.FPStreamCallbacks.TransferComplete(EMC.Centera.SDK.FPStreamInfo ByRef)), calling (MethodDesc 00007ffda6ca7dc8 +0 System.Runtime.InteropServices.Marshal.FreeHGlobal(IntPtr))

000000401863be40 00007ffdaef41cdc KERNELBASE!WriteFile+0x88, calling ntdll!NtWriteFile

000000401863be60 00007ffdaef41cdc KERNELBASE!WriteFile+0x88, calling ntdll!NtWriteFile

000000401863be70 0000000060cfa006 msvcr80!_write_nolock+0x7f6 , calling msvcr80!__security_check_cookie

000000401863be90 00007ffdaef41cdc KERNELBASE!WriteFile+0x88, calling ntdll!NtWriteFile

000000401863beb0 00007ffdaef41cdc KERNELBASE!WriteFile+0x88, calling ntdll!NtWriteFile

000000401863bee0 0000000060cfa006 msvcr80!_write_nolock+0x7f6 , calling msvcr80!__security_check_cookie

000000401863bf10 0000000060cfa006 msvcr80!_write_nolock+0x7f6 , calling msvcr80!__security_check_cookie

000000401863c070 00007ffda83ebc42 clr!IsStructMarshalable+0x2d, calling clr!TypeHandle::IsArray

000000401863c090 00007ffdb1a92c86 ntdll!RtlQueryInformationActivationContext+0x186, calling ntdll!RtlpQueryInformationActivationContextBasicInformation

000000401863c150 00007ffdb1b41b70 ntdll!RtlReportCriticalFailure+0x8c, calling ntdll!RtlRaiseException

000000401863c1a0 0000000060cd3f69 msvcr80!_getptd+0x79 , calling kernel32!SetLastErrorStub

000000401863c1b8 00007ffdb1b41b70 ntdll!RtlReportCriticalFailure+0x8c, calling ntdll!RtlRaiseException

000000401863c1d0 0000000060ce94a2 msvcr80!_output_l+0xee2 , calling msvcr80!__security_check_cookie

000000401863c1e0 0000000060ce42e9 msvcr80!_flsbuf+0x19 , calling msvcr80!_fileno

000000401863c1f0 00007ffdb1b44d4f ntdll!RtlpGetModifiedProcessCookie+0x27, calling ntdll!NtQueryInformationProcess

000000401863c210 0000000060cea083 msvcr80!write_string+0x73 , calling msvcr80!_flsbuf

000000401863c230 00007ffdb1b46369 ntdll!RtlpReportHeapFailure+0xd, calling ntdll!RtlpGetModifiedProcessCookie

000000401863c260 00007ffdb1b44db2 ntdll!RtlpHeapHandleError+0x12, calling ntdll!RtlpReportHeapFailure

000000401863c290 00007ffdb1b459b0 ntdll!RtlpLogHeapFailure+0xa4, calling ntdll!RtlpHeapHandleError

000000401863c2c0 00007ffdb1b44c83 ntdll!RtlpAnalyzeHeapFailure+0x31b, calling ntdll!RtlpLogHeapFailure

000000401863c320 00007ffdb1a86b9b ntdll!RtlpFreeHeap+0xfeb, calling ntdll!RtlpAnalyzeHeapFailure

000000401863c3c0 0000000060cd3f69 msvcr80!_getptd+0x79 , calling kernel32!SetLastErrorStub

000000401863c3f0 0000000060ce94a2 msvcr80!_output_l+0xee2 , calling msvcr80!__security_check_cookie

000000401863c420 0000000060cd3f69 msvcr80!_getptd+0x79 , calling kernel32!SetLastErrorStub

000000401863c450 0000000060cd3f69 msvcr80!_getptd+0x79 , calling kernel32!SetLastErrorStub

000000401863c4d0 0000000060cd6e97 msvcr80!malloc+0x67 , calling ntdll!RtlAllocateHeap

000000401863c550 00007ffdb1a859d8 ntdll!RtlFreeHeap+0x368, calling ntdll!RtlpFreeHeap

000000401863c5a0 0000000060ce39c6 msvcr80!_fflush_nolock+0x56 , calling msvcr80!_write

000000401863c5f0 00007ffdaef41902 KERNELBASE!LocalFree+0x2e, calling ntdll!RtlFreeHeap

000000401863c600 00007ffda8334355 clr!JIT_InitPInvokeFrame+0x15, calling clr!GetThread

000000401863c610 0000004074502081 FPUtils!FPBasicStringBuffer::~FPBasicStringBuffer+0x21, calling FPUtils!StMalloc::~StMalloc+0x88

000000401863c630 00007ffda7208478 (MethodDesc 00007ffda6da2090 +0x68 DomainNeutralILStubClass.IL_STUB_PInvoke(IntPtr))

000000401863c688 00007ffda7208478 (MethodDesc 00007ffda6da2090 +0x68 DomainNeutralILStubClass.IL_STUB_PInvoke(IntPtr))

000000401863c700 00007ffda7165f8d (MethodDesc 00007ffda6ca7dc8 +0x2d System.Runtime.InteropServices.Marshal.FreeHGlobal(IntPtr)), calling 00007ffda709b0e0 (stub for Microsoft.Win32.Win32Native.LocalFree(IntPtr))

000000401863c710 0000000060d487ed msvcr80!_vsnprintf+0x7d , calling msvcr80!_output_l

000000401863c730 00007ffd493d870a (MethodDesc 00007ffd494901b0 +0x4a EMC.Centera.SDK.FPStreamCallbacks.TransferComplete(EMC.Centera.SDK.FPStreamInfo ByRef)), calling (MethodDesc 00007ffda6ca7dc8 +0 System.Runtime.InteropServices.Marshal.FreeHGlobal(IntPtr))

000000401863c740 00007ffda84593c7 clr!StubHelpers::DemandPermission+0x12b

000000401863c750 00000040725277a2 fpos64!fp_printf+0xc82, calling ntdll!RtlLeaveCriticalSection

000000401863c790 00007ffd493d78ef (MethodDesc 00007ffd494910f0 +0x3f DomainBoundILStubClass.IL_STUB_ReversePInvoke(IntPtr))

000000401863c7f0 00007ffda839b42e clr!UMThunkStub+0x6e

000000401863c810 00000040744f5f88 FPUtils!FPLogging::LogList+0x2b8, calling FPUtils!FPMutex::unlock

000000401863c860 00000040744f60e0 FPUtils!FPLogging::Debug+0x30, calling FPUtils!FPLogging::LogList

000000401863c880 000000407257a363 FPStreams!FPBasicGenericStream::close+0x43

000000401863c890 000000407250ea83 fpos64!fp_gettimeofday+0x23, calling fpos64!fp_sem_destroy+0x13b50

000000401863c8b0 00000040744fb1f1 FPUtils!FPRefPointer::RefToPointer+0x41, calling FPUtils!FPLogging::Debug

000000401863c8f0 00000040744f6089 FPUtils!FPLogging::Log+0x29, calling FPUtils!FPLogging::LogList

000000401863c910 00000040744f5c5d FPUtils!FPLogging::isDebugLogging+0x1d, calling FPUtils!FPLogging::isPollEvent

000000401863c920 000000407442782e FPCore!_FPStream_Close+0xe, calling FPCore!ArrayTemplate<`anonymous namespace'::BoolObject>::`default constructor closure'+0x158

000000401863c950 0000000180033ef6 FPLibrary!FPStream_Close+0x46, calling FPLibrary!FPIntercept_Router::FPStream_Close

000000401863c960 00007ffda8334355 clr!JIT_InitPInvokeFrame+0x15, calling clr!GetThread

000000401863c990 00007ffd493d864d (MethodDesc 00007ffd49491500 +0x6d DomainBoundILStubClass.IL_STUB_PInvoke(EMC.Centera.FPTypes.FPStreamRef))

000000401863c9e8 00007ffd493d864d (MethodDesc 00007ffd49491500 +0x6d DomainBoundILStubClass.IL_STUB_PInvoke(EMC.Centera.FPTypes.FPStreamRef))

000000401863ca50 00007ffd493d8542 (MethodDesc 00007ffd49490748 +0x72 EMC.Centera.SDK.FPGenericStream.Close()), calling 00007ffd492cf9e0 (stub for EMC.Centera.FPApi.SDK.FPStream_Close(EMC.Centera.FPTypes.FPStreamRef))

000000401863cab0 00007ffd493d7ecd (MethodDesc 00007ffd4945f418 +0x17d informatio.EMCCentera.BlobWriteStream.Close())

000000401863cb40 00007ffd493d6049 (MethodDesc 00007ffd4945d3a0 +0x1f9 informatio.EMCCentera.EmcCentera.WriteFileToCenteraPartialBlob(System.String, Int64))

000000401863cc50 00007ffd493d4666 (MethodDesc 00007ffd4943d710 +0x116 Com.Kendox.Dcis.SubSystem.BlobStore.Impl.FileSystemEMCCentera.EMCCenteraWrapper.WriteFile(System.String, System.DateTime)), calling (MethodDesc 00007ffd4945d3a0 +0 informatio.EMCCentera.EmcCentera.WriteFileToCenteraPartialBlob(System.String, Int64))

000000401863cc90 00007ffd493d4390 (MethodDesc 00007ffd4945c108 +0x40 CH.Ierax.Lib.IO.Impl.DataSourceTransferAbstract.WriteToFile(System.String))

We can not find the Problem. Other centera customers can work with the same software release without problems.

Do you now this error? Is there anything that we can do to work arround this problem?

208 Posts

March 28th, 2017 17:00

Looking at the stack trace it would appear that this customer is running with Centera SDK logging enabled in production:

000000401863c8b0 00000040744fb1f1 FPUtils!FPRefPointer::RefToPointer+0x41, calling FPUtils!FPLogging::Debug

000000401863c8f0 00000040744f6089 FPUtils!FPLogging::Log+0x29, calling FPUtils!FPLogging::LogList

000000401863c910 00000040744f5c5d FPUtils!FPLogging::isDebugLogging+0x1d, calling FPUtils!FPLogging::isPollEvent

Try turning that off.

Good Luck,

Mike Horgan

May 9th, 2017 23:00

Hello,

i have now disabled the SDK logging.
The problem still exists. The stack now looks like this:

0000004300fdab40 00007ffb6d8db4be ntdll!RtlReportExceptionEx+0x452, calling ntdll!NtWaitForMultipleObjects
0000004300fdb0f0 00007ffb63b4b4cf clr!IsDebuggerFault+0x5b
0000004300fdb110 00007ffb6d8db01c ntdll!RtlReportException+0xbc, calling ntdll!RtlReportExceptionEx
0000004300fdb130 00007ffb63b75205 clr!CLRVectoredExceptionHandlerPhase2+0xa1, calling clr!DecCantAllocCount
0000004300fdb1a0 00007ffb6d901bc6 ntdll!RtlReportCriticalFailure$filt$0+0x33, calling ntdll!RtlReportException
0000004300fdb1d0 00007ffb6d891d86 ntdll!_C_specific_handler+0x96
0000004300fdb1e0 00007ffb63b74f35 clr!CLRVectoredExceptionHandlerShim+0xa5, calling kernel32!SetLastErrorStub
0000004300fdb240 00007ffb6d8a026e ntdll!_GSHandlerCheck_SEH+0x76, calling ntdll!_C_specific_handler
0000004300fdb268 00007ffb6d901b70 ntdll!RtlReportCriticalFailure+0x8c, calling ntdll!RtlRaiseException
0000004300fdb270 00007ffb6d8a33fd ntdll!RtlpExecuteHandlerForException+0xd
0000004300fdb2a0 00007ffb6d864847 ntdll!RtlDispatchException+0x197, calling ntdll!RtlpExecuteHandlerForException
0000004300fdb328 00007ffb6d901b70 ntdll!RtlReportCriticalFailure+0x8c, calling ntdll!RtlRaiseException
0000004300fdb390 00007ffb6d864847 ntdll!RtlDispatchException+0x197, calling ntdll!RtlpExecuteHandlerForException
0000004300fdb470 00007ffb6d904db2 ntdll!RtlpHeapHandleError+0x12, calling ntdll!RtlpReportHeapFailure
0000004300fdb560 0000004301a5139e FPCore!FPClip::SetMetaAttribute+0x30e, calling FPCore!ArrayTemplate<`anonymous namespace'::BoolObject>::`default constructor closure'+0x368
0000004300fdb720 00007ffb6d863925 ntdll!RtlRaiseException+0x45, calling ntdll!RtlpCaptureContext
0000004300fdb730 00007ffb6d863a6d ntdll!RtlRaiseException+0x18d, calling ntdll!RtlDispatchException
0000004300fdb770 00007ffb6d840d07 ntdll!RtlAllocateHeap+0xd7, calling ntdll!RtlpLowFragHeapAllocFromContext
0000004300fdb800 00007ffb6d847f6c ntdll!RtlpInsertFreeBlock+0x14c, calling ntdll!RtlpHeapFindListLookupEntry
0000004300fdb820 0000000056c63f69 msvcr80!_getptd+0x79 , calling kernel32!SetLastErrorStub
0000004300fdb8a0 00007ffb6d8639f5 ntdll!RtlRaiseException+0x115, calling ntdll!_chkstk
0000004300fdb960 00007ffb6d863925 ntdll!RtlRaiseException+0x45, calling ntdll!RtlpCaptureContext
0000004300fdb970 00007ffb6d863a6d ntdll!RtlRaiseException+0x18d, calling ntdll!RtlDispatchException
0000004300fdba00 00007ffb6ad78a5c KERNELBASE!RaiseException+0x68, calling ntdll!RtlRaiseException
0000004300fdba50 00007ffb6d863925 ntdll!RtlRaiseException+0x45, calling ntdll!RtlpCaptureContext
0000004300fdba60 00007ffb6d863a6d ntdll!RtlRaiseException+0x18d, calling ntdll!RtlDispatchException
0000004300fdba90 0000000056c66e97 msvcr80!malloc+0x67 , calling ntdll!RtlAllocateHeap
0000004300fdbae0 00007ffb6d8639f5 ntdll!RtlRaiseException+0x115, calling ntdll!_chkstk
0000004300fdbb98 00007ffb04b30bfa (MethodDesc 00007ffb04b21580 +0x4a EMC.Centera.SDK.FPStreamCallbacks.TransferComplete(EMC.Centera.SDK.FPStreamInfo ByRef)), calling (MethodDesc 00007ffb53318298 +0 System.Runtime.InteropServices.Marshal.FreeHGlobal(IntPtr))
0000004300fdbbb0 00007ffb6d86466a ntdll!RtlpLookupFunctionEntryForStackWalks+0xba, calling ntdll!RtlpxLookupFunctionTable
0000004300fdbbd0 00007ffb6d8639f5 ntdll!RtlRaiseException+0x115, calling ntdll!_chkstk
0000004300fdbc10 00007ffb6d863dc7 ntdll!RtlpWalkFrameChain+0x203, calling ntdll!_security_check_cookie
0000004300fdbc40 00007ffb6d901b70 ntdll!RtlReportCriticalFailure+0x8c, calling ntdll!RtlRaiseException
0000004300fdbcf0 00007ffb6d840d07 ntdll!RtlAllocateHeap+0xd7, calling ntdll!RtlpLowFragHeapAllocFromContext
0000004300fdbd30 00007ffb6ad78a5c KERNELBASE!RaiseException+0x68, calling ntdll!RtlRaiseException
0000004300fdbe10 00007ffb04b30bfa (MethodDesc 00007ffb04b21580 +0x4a EMC.Centera.SDK.FPStreamCallbacks.TransferComplete(EMC.Centera.SDK.FPStreamInfo ByRef)), calling (MethodDesc 00007ffb53318298 +0 System.Runtime.InteropServices.Marshal.FreeHGlobal(IntPtr))
0000004300fdbeb0 00007ffb6ad7b4ad KERNELBASE!CreateRemoteThreadEx+0x460, calling KERNELBASE!_security_check_cookie
0000004300fdbfd0 00007ffb6d82c073 ntdll!RtlActivateActivationContextUnsafeFast+0x93, calling ntdll!_security_check_cookie
0000004300fdbff0 00007ffb6d840d07 ntdll!RtlAllocateHeap+0xd7, calling ntdll!RtlpLowFragHeapAllocFromContext
0000004300fdc0b0 00007ffb6ad7166c KERNELBASE!WaitForMultipleObjectsEx+0x1ed, calling ntdll!RtlDeactivateActivationContextUnsafeFast
0000004300fdc130 00007ffb6d901b70 ntdll!RtlReportCriticalFailure+0x8c, calling ntdll!RtlRaiseException
0000004300fdc198 00007ffb6d901b70 ntdll!RtlReportCriticalFailure+0x8c, calling ntdll!RtlRaiseException
0000004300fdc1d0 00007ffb6d904d4f ntdll!RtlpGetModifiedProcessCookie+0x27, calling ntdll!NtQueryInformationProcess
0000004300fdc1f0 00007ffb6d840d07 ntdll!RtlAllocateHeap+0xd7, calling ntdll!RtlpLowFragHeapAllocFromContext
0000004300fdc210 00007ffb6d906369 ntdll!RtlpReportHeapFailure+0xd, calling ntdll!RtlpGetModifiedProcessCookie
0000004300fdc240 00007ffb6d904db2 ntdll!RtlpHeapHandleError+0x12, calling ntdll!RtlpReportHeapFailure
0000004300fdc260 00007ffb639a59ef clr!SlowAllocateString+0xa9, calling clr!ETW::TypeSystemLog::IsHeapAllocEventEnabled
0000004300fdc270 00007ffb6d9059b0 ntdll!RtlpLogHeapFailure+0xa4, calling ntdll!RtlpHeapHandleError
0000004300fdc290 00007ffb63a68626 clr!Thread::AllocHandles+0x86, calling clr!CLRException::HandlerState::CleanupTry
0000004300fdc2a0 00007ffb6d8ba810 ntdll!RtlFreeHeap+0x751a0, calling ntdll!RtlpLogHeapFailure
0000004300fdc2d0 00007ffb639aff30 clr!COMNumber::FormatInt32+0x339, calling clr!_security_check_cookie
0000004300fdc2e0 00007ffb6b16168c kernel32!CreateThreadStub+0x3c, calling KERNELBASE!CreateRemoteThreadEx
0000004300fdc340 00007ffb6ad71902 KERNELBASE!LocalFree+0x2e, calling ntdll!RtlFreeHeap
0000004300fdc350 00007ffb639a4365 clr!JIT_InitPInvokeFrame+0x15, calling clr!GetThread
0000004300fdc380 00007ffb538771b8 (MethodDesc 00007ffb53411f88 +0x68 DomainNeutralILStubClass.IL_STUB_PInvoke(IntPtr))
0000004300fdc3d8 00007ffb538771b8 (MethodDesc 00007ffb53411f88 +0x68 DomainNeutralILStubClass.IL_STUB_PInvoke(IntPtr))
0000004300fdc450 00007ffb5381677d (MethodDesc 00007ffb53318298 +0x2d System.Runtime.InteropServices.Marshal.FreeHGlobal(IntPtr)), calling 00007ffb5370b0d0 (stub for Microsoft.Win32.Win32Native.LocalFree(IntPtr))
0000004300fdc480 00007ffb04b30bfa (MethodDesc 00007ffb04b21580 +0x4a EMC.Centera.SDK.FPStreamCallbacks.TransferComplete(EMC.Centera.SDK.FPStreamInfo ByRef)), calling (MethodDesc 00007ffb53318298 +0 System.Runtime.InteropServices.Marshal.FreeHGlobal(IntPtr))
0000004300fdc490 0000004301b6532c FPUtils!FPLogFactory::GetInstance+0x6c, calling FPUtils!FPLogFactory::isAppCallbackMode
0000004300fdc4a0 00000043003a77a2 fpos64!fp_printf+0xc82, calling ntdll!RtlLeaveCriticalSection
0000004300fdc4e0 00007ffb04a5e8bf (MethodDesc 00007ffb04b224c0 +0x3f DomainBoundILStubClass.IL_STUB_ReversePInvoke(IntPtr))
0000004300fdc4f0 00007ffb63b7f3fd clr!Thread::DoAppropriateWait+0x7d, calling clr!Thread::DoAppropriateWaitWorker
0000004300fdc520 0000004301b6532c FPUtils!FPLogFactory::GetInstance+0x6c, calling FPUtils!FPLogFactory::isAppCallbackMode
0000004300fdc540 00007ffb63a59fee clr!UMThunkStub+0x6e
0000004300fdc560 0000004301b65f88 FPUtils!FPLogging::LogList+0x2b8, calling FPUtils!FPMutex::unlock
0000004300fdc5b0 0000004301b660e0 FPUtils!FPLogging::Debug+0x30, calling FPUtils!FPLogging::LogList
0000004300fdc5d0 0000004300b3a363 FPStreams!FPBasicGenericStream::close+0x43
0000004300fdc5e0 00007ffb639a9972 clr!MethodTable::GetInternalCorElementType+0x5d, calling clr!MethodTable::GetClass_NoLogging
0000004300fdc600 0000004301b6b1f1 FPUtils!FPRefPointer::RefToPointer+0x41, calling FPUtils!FPLogging::Debug
0000004300fdc640 0000004301b66089 FPUtils!FPLogging::Log+0x29, calling FPUtils!FPLogging::LogList
0000004300fdc660 00007ffb63a88226 clr!ReflectionEnum::InternalEquals+0x42, calling clr!MethodTable::GetClass
0000004300fdc670 0000004301a6782e FPCore!_FPStream_Close+0xe, calling FPCore!ArrayTemplate<`anonymous namespace'::BoolObject>::`default constructor closure'+0x158
0000004300fdc6a0 0000000180033ef6 FPLibrary!FPStream_Close+0x46, calling FPLibrary!FPIntercept_Router::FPStream_Close
0000004300fdc6b0 00007ffb639a4365 clr!JIT_InitPInvokeFrame+0x15, calling clr!GetThread
0000004300fdc6e0 00007ffb04b30b3d (MethodDesc 00007ffb04b228d0 +0x6d DomainBoundILStubClass.IL_STUB_PInvoke(EMC.Centera.FPTypes.FPStreamRef))
0000004300fdc738 00007ffb04b30b3d (MethodDesc 00007ffb04b228d0 +0x6d DomainBoundILStubClass.IL_STUB_PInvoke(EMC.Centera.FPTypes.FPStreamRef))
0000004300fdc7a0 00007ffb04b30a32 (MethodDesc 00007ffb04b21b18 +0x72 EMC.Centera.SDK.FPGenericStream.Close()), calling 00007ffb0495fe30 (stub for EMC.Centera.FPApi.SDK.FPStream_Close(EMC.Centera.FPTypes.FPStreamRef))
0000004300fdc7c0 00007ffb537bcafa (MethodDesc 00007ffb533fed58 +0x2a System.IO.Stream.Close()), calling 00007ffb639e7608 (stub for System.GC._SuppressFinalize(System.Object))
0000004300fdc800 00007ffb04b303dd (MethodDesc 00007ffb04b20810 +0x17d informatio.EMCCentera.BlobWriteStream.Close())
0000004300fdc890 00007ffb04a5d019 (MethodDesc 00007ffb04aee768 +0x1f9 informatio.EMCCentera.EmcCentera.WriteFileToCenteraPartialBlob(System.String, Int64))

208 Posts

May 10th, 2017 08:00

It looks like you are calling FPStreamClose() with an invalid (possibly null) FPClip reference.  Not sure how this could happen in your code but it looks like you have some debugging to do!

On a side note I would like to mention that the original author of the .NET layer  for the Centera SDK (seen in this stack trace) has passed away after a long illness. Godspeed Mr. Stuart, we miss you dear friend.

Good Luck,

Mike Horgan

No Events found!

Top