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

Review JDWP spec wherever it mentions INVALID_THREAD

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • 25
    • 19
    • core-svc
    • None

      In the JDWP spec, INVALID_THREAD is spec'd to mean:

      INVALID_THREAD - Passed thread is null, is not a valid thread or has exited.

      However, the JVMTI THREAD_NOT_ALIVE error is also converted to INVALID_THREAD by the debug agent. See JDK-8283224. This means sometimes INVALID_THREAD might also potentially mean "Thread has not been started or is now dead.", which is how THREAD_NOT_ALIVE is currently described. The current description of INVALID_THREAD is only partially covering this meaning with the "...or has exited" wording. We need to go through the entire JDWP spec and where appropriate include the full THREAD_NOT_ALIVE meaning of INVALID_THREAD. Also where appropriate remove the "...or has exited" part when it is not possible.

      This also could have some impact on descriptions in the JDI spec where INVALID_THREAD can result in any of the following 3 exceptions depending on the context.

      java.lang.IllegalThreadStateException
      com.sun.jdi.IncompatibleThreadStateException
      com.sun.jdi.InvalidStackFrameException

      The JDI spec does not seem to ever mention IllegalThreadStateException, since it is not a checked exception. For places where IncompatibleThreadStateException or InvalidStackFrameException are thrown, we need to make sure the descriptions of the meanings of these exceptions match the meaning of the underlying JDWP INVALID_THREAD error.

            cjplummer Chris Plummer
            cjplummer Chris Plummer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: