<i18n dev> <AWT Dev> 8227919: 8213232 causes crashes on solaris sparc64

Ichiroh Takiguchi takiguc at linux.vnet.ibm.com
Mon Jul 22 18:08:14 UTC 2019


Hello Vladimir.

I really appreciate your help.

"XMODIFIERS=@im=local" is related Multi key Compose feature [1]
One of document said "XMODIFIERS=@im=none" [2]

Could you try "XMODIFIERS=@im=none" ?

[1] https://www.x.org/releases/current/doc/man/man5/Compose.5.xhtml
[2] https://fedoraproject.org/wiki/I18N/InputMethods

Thanks,
Ichiroh Takiguchi

On 2019-07-22 23:58, Vladimir Kempik wrote:
> Hello
> I’m getting Bus Error on startup with
> XMODIFIERS=@im=local ./xim_root
> nothing yet in log at that moment.
> 
> Thanks, Vladimir
> 
>> 22 июля 2019 г., в 15:12, Ichiroh Takiguchi 
>> <takiguc at linux.vnet.ibm.com> написал(а):
>> 
>> Hello Vladimir.
>> 
>> I appreciate your reply.
>> 
>> I did not expect "[1]w=0x0", it means xim_root could not receive focus 
>> window via XIC.
>> I checked ibus XIM server on Linux s390x platform again, it also 
>> returned "[1]w=0" ...
>> I was confused.
>> 
>> I'd like to add new instruction
>> 5. Run xim_root with XMODIFIERS=@im=local environment variable on 
>> desktop, like
>>   $ XMODIFIERS=@im=local ./xim_root
>> 6. Move input focus to XIM demo window
>> 7. Press Ctrl key and Press Right mouse button
>> 
>> I tested xim_root on Linux s390x platform.
>> 
>> $ XMODIFIERS=@im=ibus ./xim_root
>> fevent = 0x3
>> topwindow = 0x1e00001, window = 0x1e00002
>> ClientMessage is received
>> WM_TAKE_FOCUS is received, window=0x1e00002, timestamp=1470262945
>> XSetInputFocus() is called
>> FocusOut: window=0x1e00002(Internal Window)
>> XUnsetICFocus
>> FocusOut: window=0x1e00001(XIM demo - root-im window - 64bit)
>> FocusIn: window=0x1e00001(XIM demo - root-im window - 64bit)
>> FocusIn: window=0x1e00002(Internal Window)
>> XSetICFocus
>> KeyPress:
>> ButtonPress:
>> [1]w=0x0
>> [2]w=0x0
>> [1]state=0x0
>> [2]state=0x0
>> State: Unknown
>> ClientMessage is received
>> 
>> I tried it with XMODIFIERS=@im=local
>> $ XMODIFIERS=@im=local ./xim_root
>> fevent = 0
>> topwindow = 0x2000001, window = 0x2000002
>> ClientMessage is received
>> WM_TAKE_FOCUS is received, window=0x2000002, timestamp=1470356372
>> XSetInputFocus() is called
>> FocusIn: window=0x2000001(XIM demo - root-im window - 64bit)
>> FocusIn: window=0x2000002(Internal Window)
>> XSetICFocus
>> KeyPress:
>> ButtonPress:
>> [1]w=0x2000002
>> [2]w=0x2000002
>> [1]state=0x2
>> [2]state=0x2
>> State: IM Off
>> ClientMessage is received
>> 
>> I was expected this result.
>> $ XMODIFIERS=@im=kinput2 ./xim_root
>> fevent = 0x3
>> topwindow = 0x2000001, window = 0x2000002
>> ClientMessage is received
>> WM_TAKE_FOCUS is received, window=0x2000002, timestamp=1470386128
>> XSetInputFocus() is called
>> FocusIn: window=0x2000001(XIM demo - root-im window - 64bit)
>> FocusIn: window=0x2000002(Internal Window)
>> XSetICFocus
>> KeyPress:
>> ButtonPress:
>> [1]w=0x200000200000000
>> [2]w=0x2000002
>> [1]state=0x200000000
>> [2]state=0x2
>> State: IM Off
>> ClientMessage is received
>> 
>> I'm sorry, it seemed current code did not work on even if Linux s390x 
>> platform.
>> 
>> Thanks,
>> Ichiroh Takiguchi
>> 
>> On 2019-07-19 23:29, Vladimir Kempik wrote:
>>> Hello
>>> I’m probably missing something about XIM on X side here, using ssh
>>> -X from ubuntu(with Xserver) to solaris11 sparc64 machine
>>> the output is
>>> fevent = 0x3
>>> topwindow = 0x3800001, window = 0x3800002
>>> ClientMessage is received
>>> WM_TAKE_FOCUS is received, window=0x3800002, timestamp=3262503
>>> XSetInputFocus() is called
>>> FocusIn: window=0x3800001(XIM demo - root-im window - 64bit)
>>> FocusIn: window=0x3800002(Internal Window)
>>> XSetICFocus
>>> FocusOut: window=0x3800002(Internal Window)
>>> XUnsetICFocus
>>> FocusOut: window=0x3800001(XIM demo - root-im window - 64bit)
>>> ClientMessage is received
>>> WM_TAKE_FOCUS is received, window=0x3800002, timestamp=3267238
>>> XSetInputFocus() is called
>>> ButtonPress:
>>> [1]w=0x0
>>> [2]w=0x0
>>> [1]state=0x0
>>> [2]state=0x0
>>> State: Unknown
>>> FocusIn: window=0x3800001(XIM demo - root-im window - 64bit)
>>> FocusIn: window=0x3800002(Internal Window)
>>> I also had to press left button, not right one.
>>> I think when you initialy created 8213232 you were targeting linux
>>> ppc64 BE system in your patch and simply forgot about another 64-bit
>>> BE system - solaris sparc64
>>> I would propose this fix for 8227919
>>> --- a/src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c
>>> +++ b/src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c
>>> @@ -1671,7 +1671,7 @@
>>> {
>>>     X11InputMethodData *pX11IMData = NULL;
>>>     char * ret = NULL;
>>> -#if defined(_LP64) && !defined(_LITTLE_ENDIAN)
>>> +#if defined(__linux__) && defined(_LP64) && !defined(_LITTLE_ENDIAN)
>>>     // XIMPreeditState value which is used for XGetICValues must be
>>> 32bit on BigEndian XOrg's xlib
>>>     unsigned int state = XIMPreeditUnKnown;
>>> #else
>>> Such change already allowed to pass our internal tests on solaris 
>>> sparc64
>>> if you think it’s ok then let me take over and finish with 8227919
>>> Thanks, Vladimir
>>> 19 июля 2019 г., в 16:57, Ichiroh Takiguchi
>>> <takiguc at linux.vnet.ibm.com 
>>> <mailto:takiguc at linux.vnet.ibm.com><mailto:takiguc at linux.vnet.ibm.com 
>>> <mailto:takiguc at linux.vnet.ibm.com>>>
>>> написал(а):
>>> Hello.
>>> I need Solaris 64bit SPARC desktop user volunteer for jdk-8227919 [1]
>>> Please follow the steps:
>>> 1. Download xim_root.c [2] and compile it on Solaris 64bit SPARC
>>> 2. Run xim_root on desktop
>>> 3. Move input focus to XIM demo window
>>> 4. Press Ctrl key and Press Right mouse button
>>> Please put the output into JDK-8227919 [1] or post it into mailing 
>>> list.
>>> I really appreciate if you are using XIM like IIIMF.
>>> [1] https://bugs.openjdk.java.net/browse/JDK-8227919
>>> [2] https://cr.openjdk.java.net/~itakiguchi/8227919/xim_root.c
>>> Thanks,
>>> Ichiroh Takiguchi



More information about the i18n-dev mailing list