Bug 199353 - scim-chewing hangs for commit > 6 characters
scim-chewing hangs for commit > 6 characters
Product: Fedora
Classification: Fedora
Component: scim-chewing (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Caius Chance
: i18n
Depends On:
Blocks: SCIM
  Show dependency treegraph
Reported: 2006-07-18 22:18 EDT by Lawrence Lim
Modified: 2014-03-25 20:53 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-09-29 03:46:02 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
proposed patch (922 bytes, patch)
2006-08-30 03:00 EDT, Caius Chance
no flags Details | Diff
proposed patch (1.41 KB, patch)
2006-09-05 02:31 EDT, Caius Chance
no flags Details | Diff

  None (edit)
Description Lawrence Lim 2006-07-18 22:18:01 EDT
Description of problem:
Tested with non-shared Input mode, scim backend and PinYinKeyboard(romaised),
noticed that it is not possible to remove any characters in the preedit buffer.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.set up SCIM as mentioned in the desc
2.activate IME, in gedit
3.enter hongmao (redhat)
4.enter Space
5.enter BackSpace
Actual results:
preedit buffer move forward 1 SPACE and preedit buffer becomes uneditable

Expected results:
remove one char in the buffer

Additional info:
Comment 2 Caius Chance 2006-08-30 03:00:42 EDT
Created attachment 135189 [details]
proposed patch

this patch avoid strcpy() copying an over-length string (8 chars)to the
destination (6 chars).

the preedit buffer will be cleared if length of the input key set is longer
than 6 characters.
Comment 3 Jens Petersen 2006-08-30 05:39:46 EDT
And this is consistent with the behaviour of 0.2?

Jserv mentioned some patch was committed to svn related to this
I think but I didn't find it yet.
Comment 4 Leon Ho 2006-08-31 08:20:07 EDT
It hangs, that's why preedit is no longer editable. Changing the summary. 
Comment 6 Caius Chance 2006-09-04 01:30:13 EDT
In communication with upstream.
Comment 7 Caius Chance 2006-09-05 02:26:11 EDT
Submitted bug to upstream:

Comment 8 Caius Chance 2006-09-05 02:31:51 EDT
Created attachment 135528 [details]
proposed patch

Uses strncpy instead of strcpy. It just copies first 6 characters and ignores
the remaining.

Crashing avoided for stablity, but still need a better fix.

BTW, the display of preedit buffer was not getting longer than 8 character
length. On the background, preedit buffer was actually storing user inputs
(able to test by input 10 characters at a row and press backspaces 3 times).
Comment 9 Caius Chance 2006-09-05 21:16:25 EDT
Built and pending for QC.

Until upstream adopted this fix in their next release or provided a better
solution, this package should has a higher stability from crashing.
Comment 10 Xiaohong Wang 2006-09-29 02:14:10 EDT
Verified in latest FC6:
# rpm -q scim-chewing

after step 3.enter hongmao (redhat), enter Space, preedit buffer get cleared,
nothing displays
Comment 11 Caius Chance 2006-09-29 03:32:04 EDT
At this stage, chewing is not able to break input into two or more words.

i.e. it will not recognise 'hongmao' as 'hong' and 'mao', it will just recognise
that as 'hongmao' which is probably no match.

All user could do at this stage is type 'hong' "space" 'mao' "space" which will
show phrase (combination of more than 1 characters) if the table consist that.

FYI, user need to press "enter" to commit after phrase found.


scim-chewing doesn't not hang for commit > 6 character after the fix.
Comment 12 Xiaohong Wang 2006-09-29 03:46:02 EDT
It is the usual behavior since chewing still hasn't able to deal with cutting
'hongmao' into 'hong' and 'mao' and do matching. Verified and closed.

Note You need to log in before you can comment on or make changes to this bug.