Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8321950

Swing applications packaged with JPackage never become input idle

XMLWordPrintable

    • x86_64
    • windows_10

      ADDITIONAL SYSTEM INFORMATION :
      Windows 11, issue also reproduces on Windows 10. Affects all tested JDK versions from 17 onward

      A DESCRIPTION OF THE PROBLEM :
      Swing applications packaged with JPackage never become input idle according to Windows. Any process waiting for the Java application to be properly started hangs until the wait timeouts

      REGRESSION : Last worked in version 16

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Start a process using an exe created with jpackage. Use WaitForInputIdle to wait for said process to be ready to process input.

      In JDK 14-16, the process becomes idle after a few hundred milliseconds. On JDK 17+, the process never becomes idle and all waits time out

      I have created a reproducer at https://github.com/lwahonen/waitfor_jdk_repro

      Use buildrepro.cmd to build the jars/exes needed to reproduce, use reproduce.cmd to reproduce the issue.

      The java source is just a simple Swing Hello World, the c++ source is a minimal example of waiting for a process to start

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      The WaitForInputIdle call returns in under one second with return value 0 (Wait succeeded)
      ACTUAL -
      The WaitForInputIdle times out after 30 seconds (defined in WaitFor.cpp), and returns 258 ( WAIT_TIMEOUT )

      ---------- BEGIN SOURCE ----------
      https://github.com/lwahonen/waitfor_jdk_repro
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Do not wait indefinitely for JVM to start, abort the wait after a fixed time and hope the process started correctly

      FREQUENCY : always


            asemenyuk Alexey Semenyuk
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: