[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sylpheed
Subject:    [sylpheed:21825] Frequent segfaults on corrupted messages when converting character
From:       Allen Ziegenfus <arzmail () mindspring ! com>
Date:       2003-10-29 2:13:12
[Download RAW message or body]

I have been using sylpheed for a couple months now, all the time
experiencing frequent crashes when opening sylpheed or opening certain
emails. The cause of this seems to be spam that has junk characters in
it like the following:   òÒ»ËͶþ. It's gotten so bad that I would have
to sort through my /var/spool/mail file looking for these type of
messages and deleting them in order to get sylpheed to run. Finally I
decided to do something about it!

I think I've traced the problem to the ISO-8859-1 char set library in
glibc. Here is a sample stack trace: 

#0  0x200007075b0 in gconv () from /usr/lib/gconv/ISO8859-1.so
#1  0x200007799d0 in gconv () from /usr/lib/gconv/EUC-CN.so
#2  0x20000551e54 in __gconv (cd=0x1202de500, inbuf=0x11fff9cc8,
    inbufend=0xfffff452202d3ca7 <Address 0xfffff452202d3ca7 out of
bounds>,    outbuf=0x11fff9cd0, outbufend=0x0, irreversible=0x11fff9c70)
at gconv.c:63
#3  0x20000551188 in iconv (cd=0x1202ddc50, inbuf=0x11fff9cc8,
    inbytesleft=0x11fff9cc0, outbuf=0x11fff9cd0,
outbytesleft=0x11fff9cc4)    at iconv.c:53
#4  0x1201031a0 in conv_iconv_strdup (inbuf=0x12 <Address 0x12 out of
#bounds>,
    src_code=0x1202e6520 "________", dest_code=0x120155d4f "ISO-8859-1")
    at codeconv.c:845
#5  0x120102c9c in conv_codeset_strdup (inbuf=0x1202d3ca0 " òÒ»ËͶþ",
    src_code=0x11fff9d50 "GB2312", dest_code=0x0) at codeconv.c:708

In this case the message contained some encoded text that was using the
GB2312 charset. After spending some time debugging the code I realized
that if I modify the code so that conv_codeset_strdup is called with a
value of "US_ASCII" for dest_code instead of NULL, that everything works
fine. This amounts to changing the default charset for these operations.

I don't know much about these charsets.. Is there an easier way of
changing the default charset? I tried fiddling with the options in the
menus to no avail. 

Anybody seen this problem or know if it was fixed? I'm hoping that
when I upgrade to a more recent distro this problem will go away. I'm
running a rather old Red Hat 7.1 on a DEC Alpha PC164LX. glibc version
is 2.2.3-11 and sylpheed version is the latest, 0.9.7. Can't wait to
move to gentoo when I have time.

Don't know enough about signal handling but is there someway to insulate
sylpheed from these types of crashes? It certainly didn't give me a good
impression of sylpheed till I realized the problem was somewhere else. 

Allen

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic