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

Error handling step timeouts should never be blocked by OnError and others

    XMLWordPrintable

Details

    • b14

    Backports

      Description

        Fatal error handling is subject to several timeouts:
        - a global timeout (controlled via ErrorLogTimeout)
        - local error reporting step timeouts.

        The latter aims to "give the JVM a kick" if it gets stuck in one particular place during error reporting. This prevents one error reporting step from hogging all the time allotted to error reporting under ErrorLogTimeout.

        There are three situations where atm we suppress the global error timeout:
        - if the JVM is embedded and the launcher has its abort hook installed. Obviously, that must be allowed to run.
        - if the user specified one or more OnError commands to run, and these did not yet run. These must have a chance to run unmolested.
        - if the user (typically developer) specified ShowMessageBoxOnError, and the error box has not yet been shown

        There is a bug though, that also prevents the step timeout from firing if either condition is true. That is plain wrong.

        In addition to that, the test interval WatcherThread uses to check for timeouts should be decreased. It sits at 1 second, which is too coarse-grained.

        Attachments

          Issue Links

            Activity

              People

                stuefe Thomas Stuefe
                stuefe Thomas Stuefe
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: