Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
Summary: race condition in XIM handling
https://bugzilla.redhat.com/show_bug.cgi?id=465392
Summary: race condition in XIM handling
Product: Fedora
Version: rawhide
Platform: All
OS/Version: Linux
Status: NEW
Severity: medium
Priority: medium
Component: scim
AssignedTo: shawn.p.huang(a)gmail.com
ReportedBy: tagoh(a)redhat.com
QAContact: extras-qa(a)fedoraproject.org
CC: petersen(a)redhat.com, shawn.p.huang(a)gmail.com,
fedora-i18n-bugs(a)redhat.com
Estimated Hours: 0.0
Classification: Fedora
Description of problem:
if one sends the key event to SCIM too much and too faster, the application,
such as emacs and xterm freezes.
Version-Release number of selected component (if applicable):
scim-1.4.7-32.fc10
How reproducible:
always as long as it's on the above condition
Steps to Reproduce:
1.change the keyboard repeat setting to make this easier to see, like
gconftool-2 -s -t int /desktop/gnome/peripherals/keyboard/delay 100 and
gconftool-2 -s -t int /desktop/gnome/peripherals/keyboard/rate 110
2.open xterm with XMODIFIERS=@im=SCIM
3.keep pressing a key until it freezes
Actual results:
freeze
Expected results:
should handles it properly
Additional info:
What exactly happened on this race condition issue is:
https://bugzilla.redhat.com/show_bug.cgi?id=452849#c19
Quote from XIM specification:
In on-demand-synchronous method, the IM library always receives
XIM_FORWARD_EVENT or XIM_COMMIT message as a synchronous request. Also, the IM
Server needs to synchronously process the correspondent reply from the IM
library and the following XIM_FORWARD_EVENT message sent from the IM library
when any of the event causes the IM Server to send XIM_FORWARD_EVENT or
XIM_COMMIT message to the IM library, so that the input service is consistent.
If the IM library gets the control back from the application after receiving
the synchronous request, the IM library replies for the synchronous request
before processing any of the events. In this time, the IM Server blocks
XIM_FORWARD_EVENT message which is sent by the IM library, and handles it after
receiving the reply. Howerver, the IM Server handles the other protocols /at
any time/.
So in the case at the above URL, XIM server has to process XIM_SET_IC_VALUES
regardless of waiting for XIM_SYNC_REPLY.
--
Configure bugmail:
https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.