| Suresh Kumar 2005-03-11, 4:01 pm |
|
Hi All
I am using IMAPClient to fetch the messages from my mailbox using a process.
If the number of messages in the mailbox is greater than 150, the program
failed to read all the mails.
It reads only about 100 messages and the process go to the blocked state.
The waiting context is Net.TimedPromise>>Value.
Is it related to timedout error?
But I didn't got any exception.
I am attaching the stack report below.
Any help me out?
Thanks in advance,
Suresh.
Debug process
Semaphore>>wait
Net.TimedPromise>>value
optimized [] in Net.IMAPCommand>>waitFor:
BlockClosure>>on:do:
Net.IMAPCommand>>waitFor:
Net.IMAPClient>>executeAndWait:arguments:
Net.IMAPSelectedState>>fetch:retrieve:
Net.IMAPClient>>fetch:retrieve:
Net.IMAPClient>>fetch:with:
Net.IMAPClient>>fetchMessage:
----------------------------------------------------------------------
Semaphore>>wait
Receiver:
a Semaphore
Instance Variables:
firstLink = nil
lastLink = nil
excessSignals = 2
Context PC = 1
----------------------------------------------------------------------
Net.TimedPromise>>value
Receiver:
a Net.TimedPromise
Instance Variables:
sync = a Semaphore[0]
value = #done
hasValue = true
exception = nil
delay = a Delay
ms = 20000
Temporaries:
result = nil
Context PC = 16
----------------------------------------------------------------------
optimized [] in Net.IMAPCommand>>waitFor:
Receiver:
an UndefinedObject
Temporaries:
.self = imapv4_14 fetch 11 (RFC822)
Context PC = 7
----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
a BlockClosure
Instance Variables:
method = CompiledBlock [] in Net.IMAPCommand>>waitFor:
outerContext = nil
copiedValues = imapv4_14 fetch 11 (RFC822)
Arguments:
anExceptionSelector = OsNeedRetryError
handlerBlock = BlockClosure [] in Net.IMAPCommand>>waitFor:
Context PC = 18
----------------------------------------------------------------------
Net.IMAPCommand>>waitFor:
Receiver:
an Net.IMAPCommand
Instance Variables:
client = a Net.IMAPProtocolInterpreter
sequenceID = 'imapv4_14'
name = 'fetch'
arguments = an OrderedCollection[2]
status = #done
responses = an OrderedCollection[1]
completionResponse = imapv4_14 OK Completed
promise = a Net.TimedPromise
Arguments:
ms = 20000
Context PC = 19
----------------------------------------------------------------------
Net.IMAPClient>>executeAndWait:arguments:
Receiver:
an Net.IMAPClient
Instance Variables:
user = sms.news
hostName = 'mail.ventaglio.com'
portNumber = nil
clientPI = a Net.IMAPProtocolInterpreter
retries = 5
timeout = 20000
delaySeconds = nil
state = a Net.IMAPSelectedState
handler = a Net.IMAPClientHandler
Arguments:
aString = 'fetch'
anArray = an OrderedCollection[2]
Temporaries:
command = imapv4_14 fetch 11 (RFC822)
Context PC = 17
----------------------------------------------------------------------
Net.IMAPSelectedState>>fetch:retrieve:
Receiver:
an Net.IMAPSelectedState
Instance Variables:
client = aIMAPClient on: mail.ventaglio.com:143
Arguments:
messageNumbers = an Array[1]
criteria = an Array[1]
Temporaries:
msgString = '11'
args = an OrderedCollection[2]
Context PC = 21
----------------------------------------------------------------------
Net.IMAPClient>>fetch:retrieve:
Receiver:
an Net.IMAPClient
Instance Variables:
user = sms.news
hostName = 'mail.ventaglio.com'
portNumber = nil
clientPI = a Net.IMAPProtocolInterpreter
retries = 5
timeout = 20000
delaySeconds = nil
state = a Net.IMAPSelectedState
handler = a Net.IMAPClientHandler
Arguments:
messageNumbers = an Array[1]
criteria = an Array[1]
Context PC = 7
----------------------------------------------------------------------
Net.IMAPClient>>fetch:with:
Receiver:
an Net.IMAPClient
Instance Variables:
user = sms.news
hostName = 'mail.ventaglio.com'
portNumber = nil
clientPI = a Net.IMAPProtocolInterpreter
retries = 5
timeout = 20000
delaySeconds = nil
state = a Net.IMAPSelectedState
handler = a Net.IMAPClientHandler
Arguments:
anArrayOfNumbers = an Array[1]
qualifierOrListOfQualifiers = an Array[1]
Temporaries:
args = an Array[1]
result = nil
dict = nil
data = nil
messageNumber = nil
Context PC = 19
----------------------------------------------------------------------
Net.IMAPClient>>fetchMessage:
Receiver:
an Net.IMAPClient
Instance Variables:
user = sms.news
hostName = 'mail.ventaglio.com'
portNumber = nil
clientPI = a Net.IMAPProtocolInterpreter
retries = 5
timeout = 20000
delaySeconds = nil
state = a Net.IMAPSelectedState
handler = a Net.IMAPClientHandler
Arguments:
messageNumber = 11
Temporaries:
result = nil
Context PC = 9
|