The first thing you should do is to determine which version of c-client you have. Newer versions of c-client have a #define CCLIENTVERSION near the start of mail.h. Your "April 08 as the date" confuses me; there was no release version in April 2008 or on any April 8.

Please consider upgrading to the latest UW release (imap-2007e) and/or working with me to get Panda IMAP (imap-2008) which has quite a bit that never got into UW.

The stack trace is also a bit confusing. ssl_w2k.c was last changed on January 13, 2008 during imap-2007b development. Line 622 is a comment, and ssl_host() is several lines lower, so this tends to confirm that you have an older version.

The stack trace omits some frames. imap_parse_header() calls net_host() which calls ssl_host(), but the stack trace implies a direct call. This is probably due to compiling with optimization.

It isn't at all clear to me why ssl_host() would crash. All it does is call tcp_host() with stream->tcpstream as an argument. Since the ssl_stream is non-null and a reasonable address (0x017258e8), stream->tcpstream should have resolved.

Other than that, the stack looks reasonable; this is a reasonable flow from mail_fetch_structure().

So, what you should do in the debugger at the point of the crash is take a look at stream (the ssl_stream, not the mail_stream at higher levels) and make sure that its contents are reasonable. stream->tcpstream should be non-null and point to a tcp_stream.

Last, but not least, this code is used extensively under Vista (including by me). This is the first that I have heard of this crash. So it is possible that there is something that your application may be doing to corrupt memory.

Unfortunately, this is probably all the help that I can offer you, at least for now. If you discover something interesting in the ssl_stream or tcp_stream, I may be able to offer some insights. Note that I no longer support UW IMAP in any way.

Good luck!

On Wed, 21 Jan 2009, Raju Nanduri (rnanduri) wrote:
Hi there,

Need some help with a c-client library issue we are facing.

On some of Vista machines, Our Software crashes intermittently into
c-client library as pointed by the stack trace below. Our logs show that
it works fine for a while, fetches vmails etc and then it hangs for few
milli sec and finally crashes as shown below. Voice Mail server is: MS
Exchange 2007.  I think the The C-client version we are using is from
year 2007. The release notes show April 08 as the date. Pl note that the
same software works fine with out any issues on other PCs running Vista
and connecting to same Mail server under same network.

The crash occurs in the source file " ssl_w2k.c" in c-client lib at the
point below:

*Crash here* >> !ssl_host(ssl_stream * stream=0x017258e8)  Line 622 +
0x6 C
 !imap_parse_header(mail_stream * stream=0x01739978, mail_envelope * *
env=0x01739f60, mail_sizedtext * hdr=0x0662e880, string_list *
stl=0x066300e0)  Line 4528 + 0x1a C
 !imap_cache(mail_stream * stream=0x01739978, unsigned long
msgno=0x00000027, char * seg=0x066300c8, string_list * stl=0x066300e0,
mail_sizedtext * text=0x0662e880)  Line 5024 + 0x16 C
 !imap_parse_unsolicited(mail_stream * stream=0x01739978,
imap_parsed_reply * reply=0x0175402c)  Line 3839 C
 !imap_reply(mail_stream * stream=0x01739978, char * tag=0x0662e9a8)
Line 3563 C
 !imap_sout(mail_stream * stream=0x01739978, char * tag=0x0662e9a8,
char * base=0x01754084, char * * s=0x0662e8fc)  Line 3522 + 0x23 C
 !imap_send(mail_stream * stream=0x01739978, char * cmd=0x00bca514,
imap_argument * * args=0x0662ee00)  Line 3132 C
 !imap_structure(mail_stream * stream=0x01739978, unsigned long
msgno=0x00000016, mail_bodystruct * * body=0x0662f6a0, long
flags=0x00000000)  Line 1586 + 0x1b C
 !mail_fetch_structure(mail_stream * stream=0x01739978, unsigned long
msgno=0x00000016, mail_bodystruct * * body=0x0662f6a0, long
flags=0x00000000)  Line 1542 + 0x12 C
 !VVMClient::downloadHeader(mail_stream * stream=0x01739978, long
msgno=0x00000016, unsigned long uid=0x00028483)  Line 1861 + 0x9 C++
 !VVMClient::header(mail_stream * stream=0x01739978, long
msgno=0x00000016)  Line 1524 + 0x13 C++

!VVMClient::refreshHeaders(std::basic_string<char,std::char_traits<char>
,std::allocator<char> > localBox={...},
std::basic_string<char,std::char_traits<char>,std::allocator<char> >
localUname={...},
std::basic_string<char,std::char_traits<char>,std::allocator<char> >
localPwd={...})  Line 4439 + 0x9 C++

Any help/pointers is much appreciated.

Thanks,
-Raju



-- Mark --

http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.
_______________________________________________
Imap-uw mailing list
[email protected]
http://mailman2.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to