« Return to Thread: load continuously for some emails in some languages with utf-8 charset

Re: load continuously for some emails in some languages with utf-8 charset

by Tomas Kuliavas :: Rate this Message:

| View in Thread

Paul Lesniewski wrote:
100% CPU load after clicking the "Submit" button??  Do you mean after
you click "Submit" and go to the INBOX message list?  Or do you really
mean the Display Options page "Submit" button locked up the server??
while() cycle in sm_truncate_string() assumes that strpos/mb_strpos advances to next symbol. In some conditions (mbstring + raw gb2313 text + utf-8 charset used by translation + some PHP version, at least 5.3.13) it does not advance. If you want better explanation, I can split that string into hex codes and try to find what is specific in position which locks the cycle.

>> Oh, also, what translation pack are you using (date?  charset from
>> locale/zh_TW/LC_MESSAGES/squirrelmail.po?)?  Note that the zh_TW was
>> changed to UTF-8 in early 2008, but if you are using a translation
>> from any earlier, this could be an issue.  If that's the case, please
>> download a a newer translation from the downloads page.
>>
>
> In my first test, I didn't apply any translation pack (locale), just the
> fresh install of squirrelmail sources, and from above several testing, you
> can see both "with translation pack" & "without translation pack" will cause
> same issue.

You can't use SquirrelMail in Traditional Chinese without a
translation pack, although that might not matter (the problem may not
be related to the presence or lack of the presence of the
translations).
It does not matter if translation files are installed on not. Key is utf-8 charset. You can't reproduce it in iso-8859-1, because all symbols there use only one byte, and you can't reproduce it in euc-jp, euc-kr or other JCK charset used in SquirrelMail, because these charsets use two bytes and don't follow strict formating rules of utf-8.

 « Return to Thread: load continuously for some emails in some languages with utf-8 charset