big problems with a simple WMI provider

A

A.N.

Hi,

I implemented a simple WMI provider in C# using the instructions from MSDN.
I created a class, used the Instrumentation attributes to expose some public
values (3 values: Value, Min, Max).
The class only returns some constant values and it does nothing more.

I then put this class in a wizard generated C# service.
I started the service and I check with CIM Studio the published instances (I
publish 10 instances of this class from the service).

Now, I kept running this service and I read the instances values (Value Min
Max) from MOM 2005.
The machine running this service is Windows 2003 Server with all updates
installed.
Also, the machine running the MOM Server is Windows 2003 Server.

The problem is that the service crashes after running a period of time(is
variable, but it takes hours).
In the system log, it says that the service terminated unexpectedly.

I am using .NET 1.1.

I tried to look for similar info on internet also looked at any known issues
on microsoft.com (KB articles) (although having latest SPs installed should
had done it).

Any ideas \ hints for some debugging (with WinDbg maybe or some WMI logging)
?

Thanks.
 
A

A.N.

After running like 2 hours, I got an 'Pure Virtual Function Call' error
message box.

Here is what WinDbg catches:

ChildEBP RetAddr Args to Child
WARNING: Frame IP not in any known module. Following frames may be wrong.
06a2e25c 791d6a5b 00000000 001d9498 00000001 0xe7ec792b
06a2e3cc 7929a711 00000001 79298a63 00000000
mscorwks!Thread::StackWalkFramesEx+0x2f6 (FPO: [Non-Fpo])
06a2e714 79247bf5 053fddf0 00000001 00000001
mscorwks!Thread::HandledJITCase+0x89 (FPO: [Non-Fpo])
06a2e93c 792116aa 00000001 00000000 00000000
mscorwks!Thread::SysSuspendForGC+0xd4 (FPO: [Non-Fpo])
06a2e954 79213c1f 00000001 00000000 00000000 mscorwks!GCHeap::SuspendEE+0xcf
(FPO: [Non-Fpo])
06a2e970 79214e83 00000000 00000000 00000014
mscorwks!GCHeap::GarbageCollectGeneration+0x103 (FPO: [Non-Fpo])
06a2e9a0 791b3b4a 053fde28 00000014 00000000
mscorwks!gc_heap::allocate_more_space+0x13a (FPO: [Non-Fpo])
06a2ebc4 791b3ae7 053fde28 00000014 00000002 mscorwks!GCHeap::Alloc+0x5f
(FPO: [Non-Fpo])
06a2ebd8 791d6280 00000014 00000000 00040000 mscorwks!Alloc+0x3a (FPO:
[Non-Fpo])
06a2ebf8 79226e57 79bd17dc 06a2ec68 06a2ec44
mscorwks!FastAllocateObject+0x25 (FPO: [Non-Fpo])
06a2ec08 79226eb1 79bd17dc 053fddf0 06a2ec68
mscorwks!ComObject::CreateComObjectRef+0x23 (FPO: [Non-Fpo])
06a2ec44 79226dff 00000000 00000000 00000000
mscorwks!COMInterfaceMarshaler::CreateObjectRef+0x4a (FPO: [Non-Fpo])
06a2ec54 79225cb7 06a2f464 06a2f434 00000000
mscorwks!COMInterfaceMarshaler::FindOrCreateObjectRef+0x43 (FPO: [0,0,0])
06a2f0fc 7922f99d 00000000 00000000 00000000
mscorwks!GetObjectRefFromComIP+0x1c5 (FPO: [Non-Fpo])
06a2f334 79229840 06a2f434 06a2f410 79229824
mscorwks!InterfaceMarshaler::ConvertSpaceNativeToCom+0x3b (FPO: [Non-Fpo])
06a2f340 79229824 06a2f514 06a2f42c 06a2f42c
mscorwks!InterfaceMarshaler::MarshalNativeToCom+0x13 (FPO: [Non-Fpo])
06a2f410 79222881 006e4517 06a2f514 06a2f42c mscorwks!RunML+0x723 (FPO:
[Non-Fpo])
06a2f4c4 0077b785 053fddf0 06a2f4dc 06a2f99c
mscorwks!ComCallMLStubCache::CompileMLStub+0x390 (FPO: [Non-Fpo])
06a2f544 59947cc8 053fdd68 02e0c360 06a2f570 0x77b785
06a2f56c 77e79dc9 001c8e30 0000075c 00000000
wmidcprv!CInterceptor_DecoupledClient::Internal_CancelAsyncCall+0x48 (FPO:
[Non-Fpo])
06a2f598 77ef321a 59947c80 06a2f5ac 00000006 rpcrt4!Invoke+0x30
06a2f9ac 77ef3bf3 001d52a8 001bd638 053fed74 rpcrt4!NdrStubCall2+0x297 (FPO:
[Non-Fpo])
06a2fa04 77600c31 001d52a8 053fed74 001bd638
rpcrt4!CStdStubBuffer_Invoke+0xc6 (FPO: [Non-Fpo])
06a2fa44 77600bdb 053fed74 001c1a30 0019a1f4 ole32!SyncStubInvoke+0x33 (FPO:
[Non-Fpo])
06a2fa8c 7750f237 053fed74 001ba588 001d52a8 ole32!StubInvoke+0xa7 (FPO:
[Non-Fpo])
06a2fb64 7750f15c 001bd638 00000000 001d52a8
ole32!CCtxComChnl::ContextInvoke+0xe3 (FPO: [Non-Fpo])
06a2fb80 77600b11 053fed74 00000001 001d52a8 ole32!MTAInvoke+0x1a (FPO:
[Non-Fpo])
06a2fbb0 776009bc 053fed20 001bd638 001d52a8 ole32!AppInvoke+0x9c (FPO:
[Non-Fpo])
06a2fc84 77600715 053fed20 001a7a08 001c1a18
ole32!ComInvokeWithLockAndIPID+0x2e0 (FPO: [Non-Fpo])
06a2fcd0 77e7988c 053fb55c 001c1a18 053fb55c ole32!ThreadInvoke+0x1cd (FPO:
[Non-Fpo])
06a2fd04 77e797f1 776005d0 053fb55c 06a2fdf0 rpcrt4!DispatchToStubInC+0x38
(FPO: [Non-Fpo])
06a2fd58 77e7971d 00000000 00000000 774ebfb8
rpcrt4!RPC_INTERFACE::DispatchToStubWorker+0x113 (FPO: [Non-Fpo])
06a2fd7c 77e8a067 053fb55c 00000000 774ebfb8
rpcrt4!RPC_INTERFACE::DispatchToStub+0x84 (FPO: [Non-Fpo])
06a2fdbc 77e8a0a8 053fb55c 053fb518 00000000
rpcrt4!RPC_INTERFACE::DispatchToStubWithObject+0xc0 (FPO: [Non-Fpo])
06a2fdfc 77e7bb6a 053fd970 00187470 00199d70
rpcrt4!LRPC_SCALL::DealWithRequestMessage+0x2cd (FPO: [Non-Fpo])
06a2fe20 77e76784 001874ac 06a2fe38 00199d70
rpcrt4!LRPC_ADDRESS::DealWithLRPCRequest+0x16d (FPO: [Non-Fpo])
06a2ff80 77e76c22 06a2ffa8 77e76a3b 00187470
rpcrt4!LRPC_ADDRESS::ReceiveLotsaCalls+0x28f (FPO: [Non-Fpo])
06a2ff88 77e76a3b 00187470 7c900000 0692fc98
rpcrt4!RecvLotsaCallsWrapper+0xd (FPO: [Non-Fpo])
06a2ffa8 77e76c0a 00199738 06a2ffec 7c80b50b
rpcrt4!BaseCachedThreadRoutine+0x79 (FPO: [Non-Fpo])
06a2ffb4 7c80b50b 053fb5f8 7c900000 0692fc98 rpcrt4!ThreadStartRoutine+0x1a
(FPO: [Non-Fpo])
06a2ffec 00000000 77e76bf0 053fb5f8 00000000 kernel32!BaseThreadStart+0x37
(FPO: [Non-Fpo])

If anybody wants the dmp file, I can provide it.
Any ideas how to see what is the cause of this \ some hints ?

thanks
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top