[Fedora-i18n-bugs] [Bug 465392] New: race condition in XIM handling

bugzilla at redhat.com bugzilla at redhat.com
Fri Oct 3 03:38:45 UTC 2008


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 at gmail.com
        ReportedBy: tagoh at redhat.com
         QAContact: extras-qa at fedoraproject.org
                CC: petersen at redhat.com, shawn.p.huang at gmail.com,
                    fedora-i18n-bugs at 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.




More information about the Fedora-i18n-bugs mailing list