Bug 1145725
| Summary: | Swing Java app loses keyboard input when used with ibus | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Richard J. Turner <rjt> | ||||
| Component: | java-1.8.0-openjdk | Assignee: | Deepak Bhole <dbhole> | ||||
| Status: | CLOSED EOL | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 21 | CC: | ahughes, dbhole, extras-qa, i18n-bugs, jvanek, mfabian, nomnex, omajid, psatpute, rjt, shawn.p.huang, tagoh, tfujiwar | ||||
| Target Milestone: | --- | Keywords: | Reopened | ||||
| Target Release: | --- | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | 800736 | Environment: | |||||
| Last Closed: | 2015-11-25 14:34:47 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Richard J. Turner
2014-09-23 14:50:50 UTC
Thank you Richard. I am still affected by the same bug, no matter the Fedora version or i-bus version, every time I use Freemind. Reading the longstanding launchpad bug report ‘i-bug + Java applications’ about the exact same issue, this not a single case. It was difficult to report the bug and to understand Fujiwara explanations at the time, because I other problem on this system, and I lack technical expertise. (In reply to Richard J. Turner from comment #0) > I've cloned an older bug because I'm effectively seeing the same problem, > albeit with a newer version of ibus and with PhpStorm instead of Freemind. I > think the Java app itself is irrelevant, it's the fact that it's a Java app > that's pertinent. > > The symptoms are as described below, to whit: after running the app for a > while (some hours) it refuses to respond to the keyboard any longer. Using > the mouse still works. Restarting ibus-daemon causes PhpStorm to crash (it > used to be that restarting the daemon would fix the problem for a while, but > no longer). Restarting PhpStorm does resolve the problem for a time. > I cannot reproduce the keyboard response problem. If you can see the same problem, please provide the sample program code besides PhpStorm. The crash is caused by Java app and closing the bug: Probably I think that application needs to call XSetIMValues($XIM, XNDestroyCallback, callback_function) so that XCreateIC() can be called again after ibus-daemon restart. # SIGSEGV (0xb) at pc=0x0000003d6c4501ca, pid=25391, tid=140074881537792 # # JRE version: OpenJDK Runtime Environment (8.0_11-b12) (build 1.8.0_11-b12) # Java VM: OpenJDK 64-Bit Server VM (25.11-b02 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libX11.so.6+0x501ca] XSetICValues+0xfa # Stack: [0x00007f65b97e5000,0x00007f65b98e6000], sp=0x00007f65b98e2740, free space=1013k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libX11.so.6+0x501ca] XSetICValues+0xfa Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j sun.awt.X11.XInputMethod.setXICFocusNative(JZZ)V+0 j sun.awt.X11.XInputMethod.setXICFocus(Ljava/awt/peer/ComponentPeer;ZZ)V+25 j sun.awt.X11InputMethod.activate()V+162 j sun.awt.im.InputContext.activateInputMethod(Z)V+169 j sun.awt.im.InputContext.focusGained(Ljava/awt/Component;)V+137 J 7512 C1 sun.awt.im.InputContext.dispatchEvent(Ljava/awt/AWTEvent;)V (173 bytes) @ 0x00007f65c35c253b [0x00007f65c35c0da0+0x179b] J 7150 C1 sun.awt.im.InputMethodContext.dispatchEvent(Ljava/awt/AWTEvent;)V (62 bytes) @ 0x00007f65c34457e5 [0x00007f65c3444ee0+0x905] J 8017 C1 java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V (883 bytes) @ 0x00007f65c37ded34 [0x00007f65c37dbf40+0x2df4] J 8129 C2 java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V (129 bytes) @ 0x00007f65c382e854 [0x00007f65c382e800+0x54] J 3885 C1 java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V (6 bytes) @ 0x00007f65c2b6bd37 [0x00007f65c2b6bc40+0xf7] j java.awt.KeyboardFocusManager.redispatchEvent(Ljava/awt/Component;Ljava/awt/AWTEvent;)V+7 j java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Ljava/awt/Component;Ljava/awt/AWTEvent;)Z+335 J 7418 C2 java.awt.DefaultKeyboardFocusManager.dispatchEvent(Ljava/awt/AWTEvent;)Z (1589 bytes) @ 0x00007f65c358c9f8 [0x00007f65c358b120+0x18d8] J 8017 C1 java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V (883 bytes) @ 0x00007f65c37dd2c0 [0x00007f65c37dbf40+0x1380] J 8129 C2 java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V (129 bytes) @ 0x00007f65c382e854 [0x00007f65c382e800+0x54] J 8178 C2 java.awt.EventQueue$3.run()Ljava/lang/Object; (5 bytes) @ 0x00007f65c2807614 [0x00007f65c28072a0+0x374] v ~StubRoutines::call_stub J 4580 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x00007f65c23721a3 [0x00007f65c2372140+0x63] J 4880 C1 java.security.ProtectionDomain$1.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object; (32 bytes) @ 0x00007f65c29709c4 [0x00007f65c29706e0+0x2e4] J 6812 C1 java.awt.EventQueue$4.run()Ljava/lang/Object; (5 bytes) @ 0x00007f65c331b929 [0x00007f65c331b560+0x3c9] v ~StubRoutines::call_stub J 4580 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x00007f65c23721a3 [0x00007f65c2372140+0x63] J 8188 C2 com.intellij.ide.IdeEventQueue.e(Ljava/awt/AWTEvent;)V (52 bytes) @ 0x00007f65c2e0bc04 [0x00007f65c2e0b8e0+0x324] J 8152 C2 com.intellij.ide.IdeEventQueue._dispatchEvent(Ljava/awt/AWTEvent;Z)V (886 bytes) @ 0x00007f65c38bf8a8 [0x00007f65c38bba20+0x3e88] J 8177 C2 com.intellij.ide.IdeEventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V (311 bytes) @ 0x00007f65c2809518 [0x00007f65c28093e0+0x138] J 8586 C2 java.awt.EventDispatchThread.pumpOneEventForFilters(I)V (295 bytes) @ 0x00007f65c3923228 [0x00007f65c3922fa0+0x288] j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35 j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11 j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4 j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3 j java.awt.EventDispatchThread.run()V+9 v ~StubRoutines::call_stub (In reply to fujiwara from comment #2) > I cannot reproduce the keyboard response problem. If you can see the same > problem, please provide the sample program code besides PhpStorm. I don't understand what you mean by "please provide the sample program code besides PhpStorm". I frequently see this problem, it interrupts my work. Do you mean for me to build a sample Java app that exhibits the same behaviour? That I can't do; I'm not a Java developer. > The crash is caused by Java app and closing the bug: Surely if ibus-daemon wasn't crashing in the first place there would be no need for the Java app to deal with that crash gracefully? Since it appears to affect two different Java applications it seems unlikely to me that those applications are the cause of the problem, but I'll grant that I haven't the skill to investigate myself. I'm keen to see this bug fixed rather than brushed under the carpet though, and to that end I'll happily provide whatever information I can to help. Here's the relevant bug report for IntelliJ IDEA (upon which PhpStorm is based): https://youtrack.jetbrains.com/issue/IDEA-78860 (In reply to Richard J. Turner from comment #3) > (In reply to fujiwara from comment #2) > > I cannot reproduce the keyboard response problem. If you can see the same > > problem, please provide the sample program code besides PhpStorm. > > I don't understand what you mean by "please provide the sample program code > besides PhpStorm". I frequently see this problem, it interrupts my work. Do > you mean for me to build a sample Java app that exhibits the same behaviour? > That I can't do; I'm not a Java developer. If you can't, please find another Java application besides PhpStorm since I cannot reproduce your problem. > > The crash is caused by Java app and closing the bug: > > Surely if ibus-daemon wasn't crashing in the first place there would be no > need for the Java app to deal with that crash gracefully? No, ibus-daemon does not crash but the Java app crashed. It would be a bug in PhpStorm or linked libraries. > Since it appears to affect two different Java applications it seems unlikely Two? Are yourself reproduce the same issue with another application? Try Jedit. (In reply to fujiwara from comment #5) > > I don't understand what you mean by "please provide the sample program code > > besides PhpStorm". I frequently see this problem, it interrupts my work. Do > > you mean for me to build a sample Java app that exhibits the same behaviour? > > That I can't do; I'm not a Java developer. > > If you can't, please find another Java application besides PhpStorm since I > cannot reproduce your problem. Someone else wrote a program that also exhibits the problem here: https://bugs.openjdk.java.net/browse/JDK-6506617 > > Since it appears to affect two different Java applications it seems unlikely > > Two? Are yourself reproduce the same issue with another application? > Try Jedit. Two because nomnex says he is "still affected by the same bug ... every time [he uses] Freemind". Although the YouTrack bug I referenced mentions that NetBeans also exhibits the same behaviour, so that's three apps plus the sample on the OpenJDK bug report. Unlike nomnex, who says that it takes minutes for the problem to occur, I probably see this three or four times a day working with PhpStorm 9am-5pm; perhaps reproducing it is just a matter of time (I appreciate that you can't spend all day tinkering with PhpStorm trying to reproduce this though!). As someone mentioned on the YouTrack bug I referenced, it does seem to manifest itself when app switching, although I think switching using the mouse is just as likely to trigger it as switching with the keyboard. As I said, I'm no Java dev; is there anything I can set in the JVM to collect debugging info that might be useful for you? (In reply to Richard J. Turner from comment #6) > Someone else wrote a program that also exhibits the problem here: > https://bugs.openjdk.java.net/browse/JDK-6506617 I cannot reproduce your problem with KeyLock.java. Did you try that program? > Two because nomnex says he is "still affected by the same bug ... every time > [he uses] Freemind". Although the YouTrack bug I referenced mentions that > NetBeans also exhibits the same behaviour, so that's three apps plus the > sample on the OpenJDK bug report. Probably I don't think that problem and your problem is same. And did yourself reproduce your problem with freemind? > Unlike nomnex, who says that it takes minutes for the problem to occur, I > probably see this three or four times a day working with PhpStorm 9am-5pm; > perhaps reproducing it is just a matter of time (I appreciate that you can't > spend all day tinkering with PhpStorm trying to reproduce this though!). I will try phpstorm today again but probably I think I won't reproduce your problem. > As I said, I'm no Java dev; is there anything I can set in the JVM to > collect debugging info that might be useful for you? Please find which key sequences causes your problem and it might be good to attach your project file. I just tried a new project. I guess the most critical problem is the crash and it's a java app bug as I explained in comment #2. If you run phpstorm from a terminal and run the application from phpstorm, the SEGV message will be shown on the terminal and you could report it in phpstorm. Created attachment 942609 [details]
reproducer code
This happens when giving an invalid XIC, which most likely to happen after restarting an input method.
To avoid this crash, Java has to use XRegisterIMInstantiateCallback/XUnregisterIMInstantiateCallback and initialize the XIM and XIC instance properly.
This message is a reminder that Fedora 21 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 21. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '21'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 21 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. Is this bug still exist in F23? Is not please close else move to F23. We don't want to loose any valuable bug :) Happily I'd forgotten about this bug; it doesn't exist in F22 or F23. |