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

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Reto Merz-2
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);
      }
    });
  }
}


Reply | Threaded
Open this post in threaded view
|

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

Semyon Sadetsky

Hello Reto,

Happy New Year!

Yes, it is a known bug, it was introduced by 8184016.

8183504 should fix it, but it was backported to 8u172.

Can you check whether 8u172 b01 has this issue fixed on Win8 and Win2012R2?

--Semyon

On 01/05/2018 02:49 AM, Reto Merz wrote:
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);
      }
    });
  }
}



Reply | Threaded
Open this post in threaded view
|

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

Reto Merz-2

Hello Semyon,

 

Thanks for your fast feedback! We would like to check it but we need a Oracle build for real world tests because we depend on the Webstart which is not part of OpenJDK.

As far as we know there is no Oracle u172 EA build available via http://jdk.java.net/8 or via support.oracle.com

 

Regards

Reto

 

 

Von: Semyon Sadetsky [mailto:[hidden email]]
Gesendet: Freitag, 5. Januar 2018 15:30
An: Reto Merz; [hidden email]
Betreff: Re: <AWT Dev> High CPU usage with JRE 8u162 b03 EA (caused by sun.awt.windows.WInputMethod.inquireCandidatePosition)

 

Hello Reto,

Happy New Year!

Yes, it is a known bug, it was introduced by 8184016.

8183504 should fix it, but it was backported to 8u172.

Can you check whether 8u172 b01 has this issue fixed on Win8 and Win2012R2?

--Semyon

On 01/05/2018 02:49 AM, Reto Merz wrote:

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);
      }
    });
  }
}