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

Infinite loop in handle_wrong_method in jmod

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: 8u102, 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b143
    • CPU:
      generic
    • OS:
      generic

      Backports

        Description

        I had a local jdk build get stuck while running jmod.

        This was on Linux x64, fastdebug, using a fairly up to date hs-rt clone plus my development changes. The jdk tree is at 13956 (tip) and hotspot is at 10649 (tip is 10660, according to the log I'm just missing a couple of innocuous looking changes). My local changes are G1-specific, so don't seem relevant as jmod is invoked with -XX:+UseSerialGC.

        I used gdb to attach to the jmod process and looked around. Most threads were blocked in the usual wait states of one sort or another. There was one thread actually doing stuff. Repeated backtrace/continue/stop of that thread looked something like:

        ... various things called from the helper ...
        SharedRuntime::find_callee_info_helper
        SharedRuntime::find_callee_method
        SharedRuntime::reresolve_call_site
        SharedRuntime::handle_wrong_method
        ... several unknown (???) frames ...

        That thread appeared to be using 100% cpu. So it seems to be stuck in an unending loop in find_callee_info_helper. (It ran for close to an hour before I finally killed it.)

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  thartmann Tobias Hartmann
                  Reporter:
                  kbarrett Kim Barrett
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  12 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: