1. 19 Jan, 2021 1 commit
  2. 12 Jan, 2021 1 commit
  3. 09 Nov, 2020 1 commit
    • Clemens Backes's avatar
      [inspector][fuzzer] Fix termination · 4510401d
      Clemens Backes authored
      Joining the thread from the watchdog is problematic, since e.g.
      {pthread_join} (the implementation of {Thread::Join} on POSIX systems)
      has undefined behaviour if multiple threads try to join at the same
      time. In practice, this leads to deadlocks.
      
      Thus implement termination by just calling {TaskRunner::Terminate}, but
      not {TaskRunner::Join}. This fixes the deadlocks in the inspector
      fuzzer.
      The inspector test binary is fixed simarly, even though there it seems
      to not cause problems so far.
      
      In both files, the {Terminate} function is inlined into callers because
      it's only a single line now, with one to two users.
      
      Also, replace the single fuzzer test (which is invalid javascript) by
      two tests: One called "invalid" explicitly, still with invalid
      javascript, and one empty file, which is valid input. That one
      reproduced the deadlock.
      
      R=szuend@chromium.org
      
      Bug: chromium:1142437
      Change-Id: I8fb98b0cdbf3ceff6af6849397e5da5a4e9acd3c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2526384Reviewed-by: 's avatarSimon Zünd <szuend@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#71054}
      4510401d
  4. 02 Nov, 2020 1 commit