JDK-4191281 : Solaris7: Pressing arrow keys causes Components to lose focus
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 1.1.7,1.2.0
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: solaris_7
  • CPU: sparc
  • Submitted: 1998-11-19
  • Updated: 1999-02-24
  • Resolved: 1999-02-24
Related Reports
Duplicate :  
Description
Pressing an arrow key causes Components to lose focus and, therefore, you can't type any keys further. This happens only on one of two Japanese Solaris 7 machines.

What we found out are:

  - This doesn't depend on a locale. (i.e., reproducible in both C and ja locales)
  - This often (not always) causes a Japanese input method to freeze.
  - This is reproducible using Notepad, Stylepad, InputDislog of SwingSet and IMFTest (test/java/awt/im/IMFTest).
  - This is not reproducible using PlainText and other components of SwingSet.
  - If Canvas instead of Component is used in IMFTest, it's no longer reproducible in C locale, but still reproducible in ja locale. This means it's possible that there are two separate problems with arrow keys.

It's not known if this is reproducible on a non-localized Solaris 7.

Notes on the two machines.

  - Reproducible on Ultra-1 with Japanese Solaris7 new installation.
  - Not reproducible on Ultra-2 with Japanese Solaris7 upgrade installation.
  - Both are running in the 32-bit mode.

=========
More findings:

  - This depends on accounts, not machines to reproduce.
  - It gets much harder to reproduce this with native thread. But still reproducible.
  - A similar cursor key problem is reproducible using dtpad with the ATOK8 input method.

=========
I confirmed that this symptom is reproducible using:

  - /usr/dt/bin/hotjava (with the IMFTest applet for JDK1.1.x)
  - JDK1.1.7A + Swing-1.0.3 (where the functionality is common)

masayoshi.okutsu@Eng 1998-11-20

Comments
EVALUATION It's obvious that the cause is explained in 4113801. JDK input method support completely relies on consistent focus in/out sequences. The reason of hang is that the XIM adapter (host input method adapter) invokes inconsistently XIM APIs. This looks like a Solaris7 bug to me. I don't know why 4113801 was closed as not a bug. masayoshi.okutsu@Eng 1998-11-20 I've reopened 4113801. masayoshi.okutsu@Eng 1998-11-20
20-11-1998

WORK AROUND Remove the following key bindings from ~/.dt/$LANG/dtwmrc <Key>Down root f.circle_down <Key>Up root f.circle_up <Key>Right root f.next_workspace <Key>Left root f.prev_workspace masayoshi.okutsu@Eng 1998-11-20
20-11-1998