Apache OpenOffice (AOO) Bugzilla – Issue 76706
Loop with double width and Latin Characters in one cell
Last modified: 2013-08-07 15:14:03 UTC
description from youngwoo: 1.start the scalc.exe 2.in any cell,input (.a)(.a) **the( and ) must be double-width-char** 3.the calc would freeze Opening the attached bugdoc will show the loop. Frank
Created attachment 44695 [details] bugdoc
TL->Karl: The problem occurs before the document is displayed. I stopped program execution several times and most often I got three stack that either involve i18npool or icuuc as well. Since I there seems to be no pdb file for icuuc I can't look further into it. The three most common stacks are listed below. Pleas take over. Thanks! icuuc36.dll!5e8fe4e7() [Frames below may be incorrect and/or missing, no symbols loaded for icuuc36.dll] icuuc36.dll!5e9002c0() icuuc36.dll!5e9003d7() icuuc36.dll!5e8ff502() icuuc36.dll!5e8fe2a4() i18npool.uno.dll!com::sun::star::i18n::BreakIterator_Unicode::getWordBoundary(const rtl::OUString & Text={...}, long nPos=0x00000005, const com::sun::star::lang::Locale & rLocale={...}, short rWordType=0x0002, unsigned char bDirection='') Line 279 + 0x15 bytes C++ i18npool.uno.dll!com::sun::star::i18n::BreakIterator_CJK::getWordBoundary(const rtl::OUString & text={...}, long anyPos=0x00000005, const com::sun::star::lang::Locale & nLocale={...}, short wordType=0x0002, unsigned char bDirection='') Line 102 + 0x16 bytes C++ i18npool.uno.dll!com::sun::star::i18n::BreakIteratorImpl::nextWord(const rtl::OUString & Text={...}, long nStartPos=0x05742684, const com::sun::star::lang::Locale & rLocale={...}, short rWordType=0x0002) Line 131 + 0x2c bytes C++ svx680mi.dll!6168f4b9() svx680mi.dll!6169fe82() svx680mi.dll!6168cc6c() 3100 com::sun::star::i18n::BreakIteratorImpl::nextWord cppu::OWeakObject::acquire Normal 0 5116 Win32 Thread 7c82ed54 Normal 0 msvcr71.dll!7c3416f8() icuuc36.dll!5e93dd71() icuuc36.dll!5e93e806() icuuc36.dll!5e93ee4a() icuuc36.dll!5e93f21a() i18npool.uno.dll!com::sun::star::i18n::BreakIterator_Unicode::loadICUBreakIterator(const com::sun::star::lang::Locale & rLocale={...}, short rBreakType=0x0001, short rWordType=0x0002, const char * rule=0x5e7f2a24, const rtl::OUString & rText={...}) Line 181 + 0x17 bytes C++ i18npool.uno.dll!com::sun::star::i18n::BreakIterator_Unicode::getWordBoundary(const rtl::OUString & Text={...}, long nPos=0x00000005, const com::sun::star::lang::Locale & rLocale={...}, short rWordType=0x0002, unsigned char bDirection='') Line 277 C++ i18npool.uno.dll!com::sun::star::i18n::BreakIterator_CJK::getWordBoundary(const rtl::OUString & text={...}, long anyPos=0x00000005, const com::sun::star::lang::Locale & nLocale={...}, short wordType=0x0002, unsigned char bDirection='') Line 102 + 0x16 bytes C++ i18npool.uno.dll!com::sun::star::i18n::BreakIteratorImpl::nextWord(const rtl::OUString & Text={...}, long nStartPos=0x05742684, const com::sun::star::lang::Locale & rLocale={...}, short rWordType=0x0002) Line 131 + 0x2c bytes C++ svx680mi.dll!6168f4b9() svx680mi.dll!6169fe82() svx680mi.dll!6168cc6c()
CJK word breakiterator has a problem to handle the stirng mixed with Asian, or double-width-letter, and normal letters It trys to fallback to icu breakiterator when finding the next word is not and CJK word, but icu handle Asian characters also, and move the boundary back to CJK area, and cause looping. Fixed in cws i18n30.
*** Issue 75187 has been marked as a duplicate of this issue. ***
ready for QA.
SBA: Verified in CWS i18n30.
SBA->FST: please re-verify in master build after CWS i18n30 is integrated. Thx.
*** Issue 80573 has been marked as a duplicate of this issue. ***
found integrated on master OOG680m1 using Linux, Solaris and Windows build
*** Issue 74329 has been marked as a duplicate of this issue. ***