[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ms-dcom
Subject:    Re: Help Needed
From:       Andrew Schetinin <Aschetinin () ENTOPIA ! COM>
Date:       2004-05-04 6:39:51
Message-ID: 06DC40326E25F44682B5FDD891842303DC32E9 () uranium ! il ! kangaroo ! net
[Download RAW message or body]

Hi,

Looks like a buggy DLL, there is not much to do if you have no source
code :-)
If you do have DLL sources, try debug them in VC++, or use BoundsChecker
for memory allocation validation.
If you do not have sources, try create a global instance of this object
in VB and use it from all places, hoping it will not crash on program
exit.

Best Regards,

Andrew

-----Original Message-----
From: Seshu Madabushi [mailto:SMadabushi@ISOFT.COM] 
Sent: Monday, May 03, 2004 10:11 PM
To: DCOM@DISCUSS.MICROSOFT.COM
Subject: Re: Help Needed


Hi 

I downloaded the symbols and here is another problem I am getting into.

I have a Dll which is being used by my app (VB script + explorer). I am
doing two operations using the DLL ( two different pages), but when I
finish the second operation following the first one, I get a crash.
Looking at the call stack, shows me that I am trying to free some memory
which was already freed. I am pasting the call stack below. Can anyone
of you please tell me how to dig deep in to this.

NTDLL! DbgBreakPoint address 0x77f75a58
NTDLL! RtlValidateHeap + 224 bytes
KERNEL32! HeapValidate + 18 bytes
_CrtIsValidHeapPointer(const void * 0x0ab58fc0) line 1697
_free_dbg_lk(void * 0x0ab58fc0, int 2) line 1044 + 9 bytes
_free_dbg(void * 0x0ab58fc0, int 2) line 1001 + 13 bytes
_freeptd(_tiddata * 0x0ab55c88) line 310 + 14 bytes _CRTDLL_INIT(void *
0x10200000, unsigned long 3, void * 0x00000000) line 290 + 7 bytes
NTDLL! LdrInitializeThunk + 36 bytes NTDLL! LdrShutdownThread + 219
bytes KERNEL32! ExitThread + 62 bytes KERNEL32! RegisterWaitForInputIdle
+ 73 by

Based on the same problem, if I am creating two instances of my dll, the
browser crashes. The reason for this is again that I have two functions
being called one after another and each creates an instance of the
library.

The code for this looks something like this

FunctionOne()

DoSomething

Set lib = createobject(dll)
Lib.dofunction(return)

If return then
        Set lib = nothing
        FunctionTWo()
End if
End function

FunctionTWo()

Set lib = createobject(dll)
Lib.dofunction(return)
Set lib = nothing

End function


Thanks
Seshu

----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.html
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html . To unsubscribe,
mailto:DCOM-signoff-request@DISCUSS.MICROSOFT.COM

----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.html
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request@DISCUSS.MICROSOFT.COM

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic