Archived Forum Post

Index of archived forum posts

Question:

100% CPU utilization Windows Service stuck with Chilkat IMAP

May 29 '14 at 00:45

Chilkat IMAP service is stuck on 100% CPU after several days the Windows service that uses executes normally. It is being reproduced every several days (3-7 days).

I'm using Chilkat IAMP for .NET 4.5 version 9.5.0 64-bit.

From the logs, I get: WSAECONNABORTED An established connection was aborted by the software in your host machine.

The service that runs it resides in a virtual cloud environment.

Is this an issue with how Chilkat IMAP connection is implemented, the cloud environment implementation or something from my service (the application that uses the Chilkat module)...?

The following are Chilkat logs:

DllDate: May 6 2014

ChilkatVersion: 9.5.0.38

UnlockPrefix: SNILIKIMAPMAIL

Username: WIN-OCJD4A0985E:SYSTEM

Architecture: Little Endian; 64-bit

Language: .NET 4.5 / x64

VerboseLogging: 0

listMailboxes:

bSubscribedOnly: 0

reference:

mailbox: *

Escaping quotes and backslashes in mailbox name...

utf7EncodedMailboxPath: *

getCompleteResponse:

        WindowsError: An established connection was aborted by

the software in your host machine.

        WindowsErrorCode: 0x2745

        numBytesRequested: 5

        Failed to receive data on the TCP socket

        Failed to read beginning of SSL/TLS record.

        Failed to read incoming handshake messages. (3)

        (leaveContext)

    Client handshake failed. (3)

    (leaveContext)

ConnectFailReason: 0

(leaveContext)

failReason: 0

connect failed.

(leaveContext) Login:

DllDate: May 6 2014

ChilkatVersion: 9.5.0.38

UnlockPrefix: SNILIKIMAPMAIL

Username: WIN-OCJD4A0985E:SYSTEM

Architecture: Little Endian; 64-bit

Language: .NET 4.5 / x64

VerboseLogging: 0

login: ******

ConnectionType: SSL/TLS

Error sending on socket (1)

SocketError: WSAECONNABORTED An established connection was aborted by the software in your host machine.

For more information see this Chilkat Blog post: http://www.cknotes.com/?p=91

send_size: 90

Failed to send TLS message.

Failed to send LOGIN command

Failed.


Answer

If a Chilkat method call never returns and utilizes 100% of the CPU, then you would not be able to get the contents of the LastErrorText. The fact that you have a LastErrorText indicates that the Chilkat method call has returned and your app then proceeded to display the LastErrorText.

My guess is that your app has a loop where normally a Chilkat method call involving communications with an IMAP mail server succeeds (with a normal amount of time spent communicating with the server), but then for some reason the method call begins returning immediately a failed status. At that point, I suspect your application is probably in a tight loop calling the Chilkat method over and over. The 100% CPU utilization is likely caused by the loop in your app, NOT by code within a call to a Chilkat method.