Hi again Wilfried and thank You for Your endurance! I'm sorry to say that using the IP address doesn't do the trick. A difference is that no log entry is made at all the second time connecting before the application hangs.
Since I really appreciate Your effort Wilfried I reinstalled the TCP stack to 'prove' that the error is not at that end. And once again I'm sad to say; the reinstallation did not get the error go away on none of the both test computers where I can duplicate my customers reported application hang. Perhaps it is a good thing since these two are both brand new computers with the latest updates and so on. One thing that troubles me is that smtp-components from other vendors works fine also on the computers where ICS gets into trouble. If I for instance use the same test with Indy everything works fine! What is ICS doing that none of the other smtp components or applications are not? I'm out of ideas since a long time now, but a BIG clue to this problem must be that it doesn't happen the first time the component is created (= dll loaded). It is the subsequent times that something can go wrong. This means that You can start lots of SmtpTest-applications at the same time and connect them without getting into trouble. It is only when you're trying to connect multiple times from the same application that You get the hang on these computers. HTH Henrik -----Ursprungligt meddelande----- Från: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] För Wilfried Mestdagh Skickat: den 18 december 2006 13:46 Till: ICS support mailing Ämne: Re: [twsocket] Freeze when using smtp after recreating itsparentform Hello Henrik, So it hangs in the TWSocket.DNSLookup, and OnDNSLookupDone is never fired. You could try also by filling in the IP address of the smtp server instead of the host name. Probably it will not hang anymore. But as DZ mentioned, this is pure winsock call. So it is really winsock that hangs. Can you try to reinstall the TCP stack on the offending machine ? --- Rgds, Wilfried [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html http://www.mestdagh.biz Monday, December 18, 2006, 11:57, Henrik wrote: > Hello Wilfried! > I've downloaded the Your zip file (if you have more test files further > on, you can send them directly to me if it is easier for you). > Here are the results from the Swedish jury :-) > Best Regards > Henrik > On a computer where the component error is not showing: > ------------------------------------------------------- > (first time. Host=out.pandora.be) > 00B14620 DNS Lookup for out.pandora.be 00B14620 Host found, connecting > to: 195.130.137.75 00B14620 Opened 00B14620 Connecting 00B14620 Timed > out 00B14620 Closed > (second time. Host=out.pandora.be) > 00B13970 DNS Lookup for out.pandora.be 00B13970 Host found, connecting > to: 195.130.137.75 00B13970 Opened 00B13970 Connecting 00B13970 Timed > out 00B13970 Closed > (first time. Host=smtp.bredband.net) > 00B14620 DNS Lookup for smtp.bredband.net 00B14620 Host found, > connecting to: 195.54.106.231 00B14620 Opened 00B14620 Connecting > 00B14620 Connected 00B14620 < 220 ironport.bredband.com ESMTP 00B14620 >> QUIT > 00B14620 < 221 ironport.bredband.com > 00B14620 Closed > (second time. Host=smtp.bredband.net) > 00B14620 DNS Lookup for smtp.bredband.net 00B14620 Host found, > connecting to: 195.54.106.231 00B14620 Opened 00B14620 Connecting > 00B14620 Connected 00B14620 < 220 ironport.bredband.com ESMTP 00B14620 >> QUIT > 00B14620 < 221 ironport.bredband.com > 00B14620 Closed > On a computer where the component error shows: > ---------------------------------------------- > (first time. Host=out.pandora.be) > 00C8242C DNS Lookup for out.pandora.be 00C8242C Host found, connecting > to: 195.130.137.75 00C8242C Opened 00C8242C Connecting 00C8242C Timed > out 00C8242C Closed !!!! Here an error occurs and I get the following > "standard" Windows error dialog when an application has done something > wrong (freely translated): > SmtpTest.exe has encountered a problem and has to be terminated... > Describe the problem to Microsoft > We have created an error report that You can send to us... > (first time. Host=smtp.bredband.net) > 00C8242C DNS Lookup for smtp.bredband.net 00C8242C Host found, > connecting to: 195.54.106.231 00C8242C Opened 00C8242C Connecting > 00C8242C Connected 00C8242C < 220 ironport.bredband.com ESMTP 00C8242C >> QUIT > 00C8242C < 221 ironport.bredband.com > 00C8242C Closed > (second time. Host=smtp.bredband.net) > 00C83960 DNS Lookup for smtp.bredband.net !!!! Freeze/Hang but > possible to move window > -----Ursprungligt meddelande----- > Från: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] För Wilfried Mestdagh > Skickat: den 16 december 2006 12:59 > Till: ICS support mailing > Ämne: Re: [twsocket] Freeze when using smtp after recreating > itsparentform > Hello Henrik, > I have no idea anymore. As test I made a little application in Delphi. > Please download it at http://www.mestdagh.biz/test/smtptest.zip and > tell me if you have it (then I can delete it from server). > It does more or less the same as you do with the form, just creates an > object that connect to smtp server, receive banner, send quit and > destroy itself when answer from quit, or timed out. I'm curious if > this works on the offending machines. > --- > Rgds, Wilfried [TeamICS] > http://www.overbyte.be/eng/overbyte/teamics.html > http://www.mestdagh.biz > Friday, December 15, 2006, 14:19, Henrik wrote: >> Hi Wilfried! >> Here are the results when tracing all occurrences of WSocketGCount in >> the ICS code. I tested the both the original example code and the one >> that manually loads/unloads winsock, on two different computers. >> Please let me know if I can do some other tracing that could shed >> light on the problem... >> Best Regards >> Henrik >> ON THE EXAMPLE COMPUTER WHERE THE ERROR SHOWS >> ============================================= >> Original code that hangs >> ------------------------ >> (Creating smtpTestForm from main form, pressing connect, close >> smtpTestForm, release smtpTestForm from main form) constructor >> TCustomWSocket.Create: 0 -> 1 procedure SafeIncrementCount: 1 -> 2 >> procedure SafeDecrementCount: 2 -> 1 procedure SafeIncrementCount: 1 >> -> 2 procedure SafeDecrementCount: 2 -> 1 procedure >> SafeIncrementCount: 1 -> 2 procedure SafeDecrementCount: 2 -> 1 >> destructor TCustomWSocket.Destroy: 1 -> 0 procedure >> WSocketUnloadWinsock: 0 destructor TCustomWSocket.Destroy: 0 >> (Creating smtpTestForm from main form, pressing connect, hang...) >> constructor TCustomWSocket.Create: 0 -> 1 procedure >> SafeIncrementCount: 1 -> 2 procedure SafeDecrementCount: 2 -> 1 >> procedure SafeIncrementCount: 1 -> 2 procedure SafeDecrementCount: 2 >> -> 1 procedure SafeIncrementCount: 1 -> 2 procedure >> SafeDecrementCount: 2 -> 1 >> -!- The application hangs -!- >> Manually ForceLoadWinsock and CancelForceLoadWinsock >> ---------------------------------------------------- >> (ForceLoadWinsock on main form creation, Creating smtpTestForm from >> main form, pressing connect, close smtpTestForm, release smtpTestForm >> from main >> form) >> procedure WSocketForceLoadWinsock 0 -> 1 constructor >> TCustomWSocket.Create: 1 -> 2 procedure SafeIncrementCount: 2 -> 3 >> procedure SafeDecrementCount: 3 -> 2 procedure SafeIncrementCount: 2 >> -> 3 procedure SafeDecrementCount: 3 -> 2 procedure >> SafeIncrementCount: 2 -> 3 procedure SafeDecrementCount: 3 -> 2 >> destructor TCustomWSocket.Destroy: 2 -> 1 destructor >> TCustomWSocket.Destroy: 1 >> (Creating smtpTestForm from main form, pressing connect, close >> smtpTestForm, release smtpTestForm from main form, >> CancelForceLoadWinsock in >> mainform.OnCloseQuery) >> constructor TCustomWSocket.Create: 1 -> 2 procedure >> SafeIncrementCount: 2 -> 3 procedure SafeDecrementCount: 3 -> 2 >> procedure SafeIncrementCount: 2 -> 3 procedure SafeDecrementCount: 3 >> -> 2 procedure SafeIncrementCount: 2 -> 3 procedure >> SafeDecrementCount: 3 -> 2 destructor TCustomWSocket.Destroy: 2 -> 1 >> destructor TCustomWSocket.Destroy: 1 procedure >> WSocketCancelForceLoadWinsock: 1 -> 0 procedure WSocketUnloadWinsock: >> 0 Wsocket finalization: 0 procedure WSocketUnloadWinsock: 0 >> ON THE COMPUTER WHERE THE ERROR DO NOT SHOW >> =========================================== >> Original code that hangs on some computers >> ----------------------------------------- >> (Creating smtpTestForm from main form, pressing connect, close >> smtpTestForm, release smtpTestForm from main form) constructor >> TCustomWSocket.Create: 0 -> 1 procedure SafeIncrementCount: 1 -> 2 >> procedure SafeDecrementCount: 2 -> 1 procedure SafeIncrementCount: 1 >> -> 2 procedure SafeDecrementCount: 2 -> 1 procedure >> SafeIncrementCount: 1 -> 2 procedure SafeDecrementCount: 2 -> 1 >> destructor TCustomWSocket.Destroy: 1 -> 0 procedure >> WSocketUnloadWinsock: 0 destructor TCustomWSocket.Destroy: 0 >> (Creating smtpTestForm from main form, pressing connect, close >> smtpTestForm, release smtpTestForm from main form) constructor >> TCustomWSocket.Create: 0 -> 1 procedure SafeIncrementCount: 1 -> 2 >> procedure SafeDecrementCount: 2 -> 1 procedure SafeIncrementCount: 1 >> -> 2 procedure SafeDecrementCount: 2 -> 1 procedure >> SafeIncrementCount: 1 -> 2 procedure SafeDecrementCount: 2 -> 1 >> destructor TCustomWSocket.Destroy: 1 -> 0 procedure >> WSocketUnloadWinsock: 0 destructor TCustomWSocket.Destroy: 0 Wsocket >> finalization: 0 procedure WSocketUnloadWinsock: 0 >> Manually ForceLoadWinsock and CancelForceLoadWinsock >> ---------------------------------------------------- >> (ForceLoadWinsock on main form creation, Creating smtpTestForm from >> main form, pressing connect, close smtpTestForm, release smtpTestForm >> from main >> form) >> procedure WSocketForceLoadWinsock 0 -> 1 constructor >> TCustomWSocket.Create: 1 -> 2 procedure SafeIncrementCount: 2 -> 3 >> procedure SafeDecrementCount: 3 -> 2 procedure SafeIncrementCount: 2 >> -> 3 procedure SafeDecrementCount: 3 -> 2 procedure >> SafeIncrementCount: 2 -> 3 procedure SafeDecrementCount: 3 -> 2 >> destructor TCustomWSocket.Destroy: 2 -> 1 destructor >> TCustomWSocket.Destroy: 1 >> (Creating smtpTestForm from main form, pressing connect, close >> smtpTestForm, release smtpTestForm from main form, >> CancelForceLoadWinsock in >> mainform.OnCloseQuery) >> constructor TCustomWSocket.Create: 1 -> 2 procedure >> SafeIncrementCount: 2 -> 3 procedure SafeDecrementCount: 3 -> 2 >> procedure SafeIncrementCount: 2 -> 3 procedure SafeDecrementCount: 3 >> -> 2 procedure SafeIncrementCount: 2 -> 3 procedure >> SafeDecrementCount: 3 -> 2 destructor TCustomWSocket.Destroy: 2 -> 1 >> destructor TCustomWSocket.Destroy: 1 procedure >> WSocketCancelForceLoadWinsock: 1 -> 0 procedure WSocketUnloadWinsock: >> 0 Wsocket finalization: 0 procedure WSocketUnloadWinsock: 0 >> -----Ursprungligt meddelande----- >> Från: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] För Wilfried Mestdagh >> Skickat: den 14 december 2006 16:31 >> Till: ICS support mailing >> Ämne: Re: [twsocket] Freeze when using smtp after recreating >> itsparentform >> Hello Henrik, >> What you could do is set in IDE some breakpoints at the places the dll >> is loaded / unloaded. To see if this mechanism is working fine on the >> offending machines. It is a counter that increment / decrement to >> decide if winsock should be load or unload. > -- > To unsubscribe or change your settings for TWSocket mailing list please goto > http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be