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

Specifying OnError handler prevents WatcherThread to break a deadlock in report_and_die()

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • tbd
    • 11, 17, 20
    • hotspot
    • 10
    • generic
    • generic

      One of our customer complains of a deadlock in error reporting procedure. The problem is that they use OnError hook, so VMError::check_timeout() does not detect reporting timeout due to

        if (ShowMessageBoxOnError
            || (OnError != nullptr && OnError[0] != '\0')
            || Arguments::abort_hook() != nullptr) {
          return false;
        }

      and therefore does not kill the process.

      [~stuefe] the author of original code confirmed that there is not a reason for such behaviour, so I'm going to remove OnError check from the condition

            apavlyutkin Alexey Pavlyutkin
            apavlyutkin Alexey Pavlyutkin
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: