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

Vladimir Kempik vkempik at azul.com
Mon Jul 22 14:58:38 UTC 2019


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/awt-dev/attachments/20190722/e7627c39/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <https://mail.openjdk.java.net/pipermail/awt-dev/attachments/20190722/e7627c39/signature-0001.asc>


More information about the awt-dev mailing list