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

XMLWordPrintable

    • Type: Bug
    • Resolution: Duplicate
    • Priority: P3
    • tbd
    • Affects Version/s: 11, 17, 20
    • Component/s: 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

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

              Created:
              Updated:
              Resolved: