VM Crash on Mac with Input Method ([Vm-dev] Re: [squeak-dev] RFB)

Yoshiki Ohshima Yoshiki.Ohshima at acm.org
Sat Sep 17 04:22:39 UTC 2016


On Fri, Sep 16, 2016 at 3:13 PM, Yoshiki Ohshima
<Yoshiki.Ohshima at acm.org> wrote:
>> - (void) ioGetNextEvent: (sqInputEvent *) evt {
>>
>> ioProcessEvents();
>>
>> id event = [eventQueue returnAndRemoveOldest];
>>
>> if (event) {
>>
>> @autoreleasepool {
>>
>>             [self processAsOldEventOrComplexEvent: event placeIn: evt];
>>
>>         }
>>
>>         RELEASEOBJ(event);
>>
>> }
>>
>> }

If I may elaborate my hypothesis, which has not been fully formulated:

- When sqSqueakOSXApplication receives a keyboard event under the
presence of an InputMethod, the InputMethod, which presumably runs in
a separate thread, also gets the event.  For a control key such as
tab, the InputMethod passes through it to  sqSqueakOSXApplication
again, and may be that causes some race condition.

Or, simply,

- in the ioGetNextEvent: the event is held by the InputMethod after
the processAsOldEventOrComplexEvent returned, and then the tab key is
delivered.

Or, it is somewhat totally different.

I'm sorry that I am just scratching the surface of the problem.
Please let me know if there are more I can do to help.


-- 
-- Yoshiki


More information about the Vm-dev mailing list