Issue 76706 - Loop with double width and Latin Characters in one cell
Summary: Loop with double width and Latin Characters in one cell
Status: CLOSED FIXED
Alias: None
Product: Calc
Classification: Application
Component: code (show other issues)
Version: OOo 2.2
Hardware: All All
: P2 Trivial (vote)
Target Milestone: ---
Assignee: frank
QA Contact: issues@sc
URL:
Keywords:
: 74329 75187 80573 (view as issue list)
Depends on:
Blocks:
 
Reported: 2007-04-26 09:25 UTC by frank
Modified: 2013-08-07 15:14 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
bugdoc (6.58 KB, application/vnd.oasis.opendocument.spreadsheet)
2007-04-26 09:29 UTC, frank
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description frank 2007-04-26 09:25:35 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
Comment 1 frank 2007-04-26 09:29:15 UTC
Created attachment 44695 [details]
bugdoc
Comment 2 thomas.lange 2007-04-26 09:37:20 UTC
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() 	

Comment 3 karl.hong 2007-05-02 22:09:13 UTC
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.
Comment 4 karl.hong 2007-05-03 00:50:43 UTC
*** Issue 75187 has been marked as a duplicate of this issue. ***
Comment 5 karl.hong 2007-05-14 06:53:57 UTC
ready for QA.
Comment 6 stefan.baltzer 2007-05-21 16:39:35 UTC
SBA: Verified in CWS i18n30.
Comment 7 stefan.baltzer 2007-05-21 16:40:33 UTC
SBA->FST: please re-verify in master build after CWS i18n30 is integrated. Thx.
Comment 8 frank 2007-08-10 15:21:09 UTC
*** Issue 80573 has been marked as a duplicate of this issue. ***
Comment 9 frank 2007-08-24 12:43:47 UTC
found integrated on master OOG680m1 using Linux, Solaris and Windows build
Comment 10 niklas.nebel 2008-06-04 12:20:36 UTC
*** Issue 74329 has been marked as a duplicate of this issue. ***