<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hello<div class=""><br class=""></div><div class="">what still bothers me is this:</div><div class=""><br class=""></div><div class="">The first Big Endian block:</div><div class=""><br class=""></div><div class=""><pre style="font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(238, 238, 238);" class=""><span class="new" style="color: blue; font-weight: bold;">1629 #if defined(_LP64) && !defined(_LITTLE_ENDIAN)</span>
<span class="new" style="color: blue; font-weight: bold;">1630         // On 64bit BigEndian,</span>
<span class="new" style="color: blue; font-weight: bold;">1631         // Window value may be stored on high 32bit by XGetICValues via XIM</span>
<span class="new" style="color: blue; font-weight: bold;">1632         if (w > 0xffffffffL) w = w >> 32;</span>
<span class="new" style="color: blue; font-weight: bold;">1633 #endif</span></pre><div class=""><br class=""></div></div><div class="">is inside linux&macos block</div><div class=""><br class=""></div><div class=""><pre style="font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(238, 238, 238);" class="">1622 #if defined(__linux__) || defined(MACOSX)
</pre></div><div class=""><br class=""></div><div class="">however the second Big Endian block is for every platform:</div><div class=""><br class=""></div><div class=""><pre style="font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(238, 238, 238);" class=""><span class="new" style="color: blue; font-weight: bold;">1698 #if defined(_LP64) && !defined(_LITTLE_ENDIAN)</span>
<span class="new" style="color: blue; font-weight: bold;">1699     // On 64bit BigEndian,</span>
<span class="new" style="color: blue; font-weight: bold;">1700     // XIMPreeditState value may be stored on high 32bit by XGetICValues via XIM</span>
<span class="new" style="color: blue; font-weight: bold;">1701     if (state > 0xffffffffL) state = state >> 32;</span>
<span class="new" style="color: blue; font-weight: bold;">1702 #endif</span></pre><div class="">I’m not sure if it’s ok or not.</div></div><div class=""><br class=""></div><div class="">Also, since XIMPreeditState is unsigned 64-bit int, I think we need to compare it against 0xffffffffUL instead of 0xffffffffL</div><div class=""><br class=""></div><div class=""><pre class="SCREEN" style="font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(224, 224, 224);">typedef unsigned long int XIMPreeditState;
</pre></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Thanks, Vladimir</div><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">26 июля 2019 г., в 15:53, Ichiroh Takiguchi <<a href="mailto:takiguc@linux.vnet.ibm.com" class="">takiguc@linux.vnet.ibm.com</a>> написал(а):</div><br class="Apple-interchange-newline"><div class=""><div class="">Hello.<br class=""><br class="">Could you review the fix ?<br class=""><br class="">Bug:    <a href="https://bugs.openjdk.java.net/browse/JDK-8227919" class="">https://bugs.openjdk.java.net/browse/JDK-8227919</a><br class="">Change: <a href="https://cr.openjdk.java.net/~itakiguchi/8227919/webrev.00/" class="">https://cr.openjdk.java.net/~itakiguchi/8227919/webrev.00/</a><br class=""><br class="">It's crash issue for Solaris SPARC platform.<br class="">If possible, please push this fix into 13.<br class=""><br class="">XIMPreditState is changed to unsigned long instead of unsigned int on 64bit Big endian.<br class="">It's same as Java8.<br class="">I think Solaris SPARC's issue can be fixed by this fix.<br class=""><br class="">Vladimir,<br class="">I appreciate your great help.<br class=""><br class="">Thanks,<br class="">Ichiroh Takiguchi<br class="">IBM Japan, Ltd.<br class=""><br class="">On 2019-07-23 20:00, Vladimir Kempik wrote:<br class=""><blockquote type="cite" class="">Hello<br class="">it still crashes with  "Bus Error"<br class="">I guess I may miss something on X server side.<br class="">Thanks, Vladimir.<br class=""><blockquote type="cite" class="">22 июля 2019 г., в 21:08, Ichiroh Takiguchi <<a href="mailto:takiguc@linux.vnet.ibm.com" class="">takiguc@linux.vnet.ibm.com</a>> написал(а):<br class="">Hello Vladimir.<br class="">I really appreciate your help.<br class="">"XMODIFIERS=@im=local" is related Multi key Compose feature [1]<br class="">One of document said "XMODIFIERS=@im=none" [2]<br class="">Could you try "XMODIFIERS=@im=none" ?<br class="">[1] <a href="https://www.x.org/releases/current/doc/man/man5/Compose.5.xhtml" class="">https://www.x.org/releases/current/doc/man/man5/Compose.5.xhtml</a> <<a href="https://www.x.org/releases/current/doc/man/man5/Compose.5.xhtml" class="">https://www.x.org/releases/current/doc/man/man5/Compose.5.xhtml</a>><br class="">[2] <a href="https://fedoraproject.org/wiki/I18N/InputMethods" class="">https://fedoraproject.org/wiki/I18N/InputMethods</a> <<a href="https://fedoraproject.org/wiki/I18N/InputMethods" class="">https://fedoraproject.org/wiki/I18N/InputMethods</a>><br class="">Thanks,<br class="">Ichiroh Takiguchi<br class="">On 2019-07-22 23:58, Vladimir Kempik wrote:<br class=""><blockquote type="cite" class="">Hello<br class="">I’m getting Bus Error on startup with<br class="">XMODIFIERS=@im=local ./xim_root<br class="">nothing yet in log at that moment.<br class="">Thanks, Vladimir<br class=""><blockquote type="cite" class="">22 июля 2019 г., в 15:12, Ichiroh Takiguchi <<a href="mailto:takiguc@linux.vnet.ibm.com" class="">takiguc@linux.vnet.ibm.com</a>> написал(а):<br class="">Hello Vladimir.<br class="">I appreciate your reply.<br class="">I did not expect "[1]w=0x0", it means xim_root could not receive focus window via XIC.<br class="">I checked ibus XIM server on Linux s390x platform again, it also returned "[1]w=0" ...<br class="">I was confused.<br class="">I'd like to add new instruction<br class="">5. Run xim_root with XMODIFIERS=@im=local environment variable on desktop, like<br class=""> $ XMODIFIERS=@im=local ./xim_root<br class="">6. Move input focus to XIM demo window<br class="">7. Press Ctrl key and Press Right mouse button<br class="">I tested xim_root on Linux s390x platform.<br class="">$ XMODIFIERS=@im=ibus ./xim_root<br class="">fevent = 0x3<br class="">topwindow = 0x1e00001, window = 0x1e00002<br class="">ClientMessage is received<br class="">WM_TAKE_FOCUS is received, window=0x1e00002, timestamp=1470262945<br class="">XSetInputFocus() is called<br class="">FocusOut: window=0x1e00002(Internal Window)<br class="">XUnsetICFocus<br class="">FocusOut: window=0x1e00001(XIM demo - root-im window - 64bit)<br class="">FocusIn: window=0x1e00001(XIM demo - root-im window - 64bit)<br class="">FocusIn: window=0x1e00002(Internal Window)<br class="">XSetICFocus<br class="">KeyPress:<br class="">ButtonPress:<br class="">[1]w=0x0<br class="">[2]w=0x0<br class="">[1]state=0x0<br class="">[2]state=0x0<br class="">State: Unknown<br class="">ClientMessage is received<br class="">I tried it with XMODIFIERS=@im=local<br class="">$ XMODIFIERS=@im=local ./xim_root<br class="">fevent = 0<br class="">topwindow = 0x2000001, window = 0x2000002<br class="">ClientMessage is received<br class="">WM_TAKE_FOCUS is received, window=0x2000002, timestamp=1470356372<br class="">XSetInputFocus() is called<br class="">FocusIn: window=0x2000001(XIM demo - root-im window - 64bit)<br class="">FocusIn: window=0x2000002(Internal Window)<br class="">XSetICFocus<br class="">KeyPress:<br class="">ButtonPress:<br class="">[1]w=0x2000002<br class="">[2]w=0x2000002<br class="">[1]state=0x2<br class="">[2]state=0x2<br class="">State: IM Off<br class="">ClientMessage is received<br class="">I was expected this result.<br class="">$ XMODIFIERS=@im=kinput2 ./xim_root<br class="">fevent = 0x3<br class="">topwindow = 0x2000001, window = 0x2000002<br class="">ClientMessage is received<br class="">WM_TAKE_FOCUS is received, window=0x2000002, timestamp=1470386128<br class="">XSetInputFocus() is called<br class="">FocusIn: window=0x2000001(XIM demo - root-im window - 64bit)<br class="">FocusIn: window=0x2000002(Internal Window)<br class="">XSetICFocus<br class="">KeyPress:<br class="">ButtonPress:<br class="">[1]w=0x200000200000000<br class="">[2]w=0x2000002<br class="">[1]state=0x200000000<br class="">[2]state=0x2<br class="">State: IM Off<br class="">ClientMessage is received<br class="">I'm sorry, it seemed current code did not work on even if Linux s390x platform.<br class="">Thanks,<br class="">Ichiroh Takiguchi<br class="">On 2019-07-19 23:29, Vladimir Kempik wrote:<br class=""><blockquote type="cite" class="">Hello<br class="">I’m probably missing something about XIM on X side here, using ssh<br class="">-X from ubuntu(with Xserver) to solaris11 sparc64 machine<br class="">the output is<br class="">fevent = 0x3<br class="">topwindow = 0x3800001, window = 0x3800002<br class="">ClientMessage is received<br class="">WM_TAKE_FOCUS is received, window=0x3800002, timestamp=3262503<br class="">XSetInputFocus() is called<br class="">FocusIn: window=0x3800001(XIM demo - root-im window - 64bit)<br class="">FocusIn: window=0x3800002(Internal Window)<br class="">XSetICFocus<br class="">FocusOut: window=0x3800002(Internal Window)<br class="">XUnsetICFocus<br class="">FocusOut: window=0x3800001(XIM demo - root-im window - 64bit)<br class="">ClientMessage is received<br class="">WM_TAKE_FOCUS is received, window=0x3800002, timestamp=3267238<br class="">XSetInputFocus() is called<br class="">ButtonPress:<br class="">[1]w=0x0<br class="">[2]w=0x0<br class="">[1]state=0x0<br class="">[2]state=0x0<br class="">State: Unknown<br class="">FocusIn: window=0x3800001(XIM demo - root-im window - 64bit)<br class="">FocusIn: window=0x3800002(Internal Window)<br class="">I also had to press left button, not right one.<br class="">I think when you initialy created 8213232 you were targeting linux<br class="">ppc64 BE system in your patch and simply forgot about another 64-bit<br class="">BE system - solaris sparc64<br class="">I would propose this fix for 8227919<br class="">--- a/src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c<br class="">+++ b/src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c<br class="">@@ -1671,7 +1671,7 @@<br class="">{<br class="">   X11InputMethodData *pX11IMData = NULL;<br class="">   char * ret = NULL;<br class="">-#if defined(_LP64) && !defined(_LITTLE_ENDIAN)<br class="">+#if defined(__linux__) && defined(_LP64) && !defined(_LITTLE_ENDIAN)<br class="">   // XIMPreeditState value which is used for XGetICValues must be<br class="">32bit on BigEndian XOrg's xlib<br class="">   unsigned int state = XIMPreeditUnKnown;<br class="">#else<br class="">Such change already allowed to pass our internal tests on solaris sparc64<br class="">if you think it’s ok then let me take over and finish with 8227919<br class="">Thanks, Vladimir<br class="">19 июля 2019 г., в 16:57, Ichiroh Takiguchi<br class=""><<a href="mailto:takiguc@linux.vnet.ibm.com" class="">takiguc@linux.vnet.ibm.com</a> <<a href="mailto:takiguc@linux.vnet.ibm.com" class="">mailto:takiguc@linux.vnet.ibm.com</a>> <<a href="mailto:takiguc@linux.vnet.ibm.com" class="">mailto:takiguc@linux.vnet.ibm.com</a> <<a href="mailto:takiguc@linux.vnet.ibm.com" class="">mailto:takiguc@linux.vnet.ibm.com</a>>><<a href="mailto:takiguc@linux.vnet.ibm.com" class="">mailto:takiguc@linux.vnet.ibm.com</a> <<a href="mailto:takiguc@linux.vnet.ibm.com" class="">mailto:takiguc@linux.vnet.ibm.com</a>><<a href="mailto:takiguc@linux.vnet.ibm.com" class="">mailto:takiguc@linux.vnet.ibm.com</a> <<a href="mailto:takiguc@linux.vnet.ibm.com" class="">mailto:takiguc@linux.vnet.ibm.com</a>>>>><br class="">написал(а):<br class="">Hello.<br class="">I need Solaris 64bit SPARC desktop user volunteer for jdk-8227919 [1]<br class="">Please follow the steps:<br class="">1. Download xim_root.c [2] and compile it on Solaris 64bit SPARC<br class="">2. Run xim_root on desktop<br class="">3. Move input focus to XIM demo window<br class="">4. Press Ctrl key and Press Right mouse button<br class="">Please put the output into JDK-8227919 [1] or post it into mailing list.<br class="">I really appreciate if you are using XIM like IIIMF.<br class="">[1] <a href="https://bugs.openjdk.java.net/browse/JDK-8227919" class="">https://bugs.openjdk.java.net/browse/JDK-8227919</a><br class="">[2] <a href="https://cr.openjdk.java.net/~itakiguchi/8227919/xim_root.c" class="">https://cr.openjdk.java.net/~itakiguchi/8227919/xim_root.c</a><br class="">Thanks,<br class="">Ichiroh Takiguchi<br class=""></blockquote></blockquote></blockquote></blockquote></blockquote></div></div></blockquote></div><br class=""></div></body></html>