<AWT Dev> High CPU usage with JRE 8u162 b03 EA (caused by sun.awt.windows.WInputMethod.inquireCandidatePosition)

Reto Merz reto.merz at abacus.ch
Fri Jan 5 10:49:40 UTC 2018


Hello, Happy New Year!

We just noticed that our software is completely unusable with JRE 8u162 b03 EA because of very high CPU usage.
It works with 8 u162 b01 and older releases (eg: 8 u152 etc).
We are able to provide a simple reproducer which demonstrate high CPU usage, at least on Windows system (tested with Win8 and Win2012R2).

Steps to reproduce:

1. Run reproducer (below)
2. Focus another running program
3. Focus the reproducer Swing Frame again

-> This cause high CPU usage because sun.awt.windows.WInputMethod.inquireCandidatePosition() is being called over and over.

It is possible to interact with the reproducer Frame even with the high CPU usage in the background but our real software is no longer usable so this is a killer bug for us.

Is this a known bug? 

Thanks Reto

Reproducer:

import javax.swing.*;
import java.awt.*;

public class Reproducer {
  public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
      public void run() {
        JPanel main = new JPanel();
        main.add(new JTextField());
        JFrame frame = new JFrame("Test");
        frame.setContentPane(main);
        frame.setSize(400, 400);
        frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        frame.setVisible(true);
      }
    });
  }
}




More information about the awt-dev mailing list