Dart Home | PowerTCP Winsock for ActiveX | Custom Development | Reply | PowerTCP Winsock for ActiveX Topics | Forums |
Author | Forum: PowerTCP Winsock for ActiveX Topic: User breakpoint called and Heap modification after the memory was released |
Van^ From: Blacksburg, VA USA Posts: 17 Member Since: 09/04/03 |
posted February 4, 2004 6:37 PM I have quite a complicated setup, but I wanted to bring this to your attention. First, I have a wrapper class written in VB that contains a dynamically created TCP object. These classes get instantiated many times during the lifteime of the application. We have several that connect to main servers, and others that provide dynamic peer to peer connections. Recently, I've discovered some mysterious lockups and application hangs (100% cpu usage) while moving large amounts of data peer to peer. While these streams are running, the data seems to be getting there fine until it locks up. So, I proceeded to examine my parsing/buffering system to see if that was the culprit. While running the com dll in C++ debug mode, I noticed the following happening when a TCP object is terminated: A user breakpoint msg box will appear, stopping execution. The dissassembly where it stops is the following: 77FA142B mov dword ptr fs:[0],ecx 77FA1432 pop edi 77FA1433 pop esi 77FA1434 pop ebx 77FA1435 leave 77FA1436 ret 10h 77FA1439 cmp dword ptr [ebp-24h],0 77FA143D je 77FA1447 77FA143F push dword ptr [ebp-24h] 77FA1442 call 77F8B5DF 77FA1447 ret 77FA1448 ret 4 77FA144B int 3 It stops on 77FA144B. I gave you a good portion of the previous code in case you needed it. The call stack is as follows: NTDLL! 77fa144b() NTDLL! 77fced1b() NTDLL! 77f8fcc4() NTDLL! 77fb5e99() NTDLL! 77fa81a8() NTDLL! 77fcbd1c() DARTSOCK! 064c6862() DARTSOCK! 064b2470() MSVBVM60! 6aac8204() clsPortInterface::Class_Terminate() line 79 + 34 The line in clsPortInterface::Class_Terminate is: Set oTCP = Nothing where oTCP is declared as: Private WithEvents oTCP As DartSock.Tcp It is instantiated in the Class_Initialize event. On top of that, the following is in the debug log of Visual C++: First-chance exception in <app name>.exe (KERNEL32.DLL): 0xC000008F: Float Inexact Result. Loaded 'C:\WINNT\system32\msacm32.drv', no matching symbolic information found. Loaded 'C:\WINNT\system32\msacm32.dll', no matching symbolic information found. Loaded 'C:\WINNT\system32\vct3216.acm', no matching symbolic information found. HEAP[iSpQVideoChat62d.exe]: HEAP: Free Heap block 64fead8 modified at 64feb40 after it was freed I'm wondering if this could be related to the bizarre lockups I am experiencing, as well as the Float Inexact Result errors that are being recorded in the debug log of Visual C++ when the application is run through it. Thanks for your help, -Dave |
Tony Priest![]() From: Utica, NY USA Posts: 8466 Member Since: 04/11/00 |
posted February 4, 2004 10:56 PM I know that we fixed the Debug breakpoint issue, but I am not sure about the other problems you are having. What I would like to do is give you the latest DLL so that you can run some more tests. Unfortunately I can't locate you in our database based on the email you registered with on the forum. Please contact sales@dart.com and provide your details (name, addr, phone, serial #, place of purchase) and once they get you in the system I will send the DLLs out. |
Van^ From: Blacksburg, VA USA Posts: 17 Member Since: 09/04/03 |
posted February 5, 2004 10:28 AM Hi Tony, I sent in the requested information just now. Hope to hear from you soon. --Dave |
Van^ From: Blacksburg, VA USA Posts: 17 Member Since: 09/04/03 |
posted February 5, 2004 10:50 AM Okay, just tested out the new build. It didn't throw a user breakpoint as consistently as it did before, but it now does it sometimes when the references is created, ie. Set oTCP = New DartSock.TCP. It also breakpoints at termination as well. I might suggest that this is due to the heap modification error. I had this happen to one of my controls and it was due to a new operation on a buffer of size 0 and then a deletion after that. A default buffer size wasn't being set correctly. If you would like, feel free to call me and we can discuss the issue. -- Dave |
Tony Priest![]() From: Utica, NY USA Posts: 8466 Member Since: 04/11/00 |
posted February 5, 2004 10:53 AM I'll send you an email. Since we are discussing beta builds, I would prefer to do this off the forum. |
Reply | PowerTCP Winsock for ActiveX Topics | Forums |
This site is powered by
![]() |