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

Reply via email to