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

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

XMLWordPrintable

    • b14

        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.

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

                Created:
                Updated:
                Resolved: