Uploaded image for project: 'JikesRVM'
  1. JikesRVM
  2. RVM-206

Stack walking in MMTk not correctly identifying not yet obsolete methods?

    Details

    • Type: Bug
    • Status: Closed
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: 2.9.1
    • Fix Version/s: 2.9.2
    • Component/s: MMTk, Runtime
    • Labels:
      None

      Description

      During the stack trace in:

      http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/perf.954/production/default/perf-dacapo/xalan-3GC/3/Output.txt

      we get a CMID that when loaded from the compiled methods array turns out to be null. This indicates that we didn't calculate the set of active CMIDs correctly during GC and we've snipped the compiled method believing it to be obsolete.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              ianrogers Ian Rogers added a comment -

              This stack trace:

              http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/commit.973/development/default/SPECjbb2005/SPECjbb2005/default/Output.txt

              also seems to indicate that CMIDs are confused during stack tracing. Could this bug have been introduced by recent changes with SpecializedMethods?

              Show
              ianrogers Ian Rogers added a comment - This stack trace: http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32.anu.edu.au/commit.973/development/default/SPECjbb2005/SPECjbb2005/default/Output.txt also seems to indicate that CMIDs are confused during stack tracing. Could this bug have been introduced by recent changes with SpecializedMethods?
              Hide
              ianrogers Ian Rogers added a comment -

              Both of these issues relate to the use of CMIDs and reclaiming them.

              Show
              ianrogers Ian Rogers added a comment - Both of these issues relate to the use of CMIDs and reclaiming them.
              Hide
              ianrogers Ian Rogers added a comment -

              A related issue is the sourceforge bug of 1147551.

              Show
              ianrogers Ian Rogers added a comment - A related issue is the sourceforge bug of 1147551.
              Hide
              zyridium Daniel Frampton added a comment -

              Fixed in 13659.

              Modifying heap objects during GC is a tricky business!

              Show
              zyridium Daniel Frampton added a comment - Fixed in 13659. Modifying heap objects during GC is a tricky business!
              Hide
              ianrogers Ian Rogers added a comment -

              There's a new regression in a prototype build of DaCapo eclipse:

              http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32b.anu.edu.au/sanity.1434/prototype/default/dacapo/eclipse/default/Output.txt

              the compiled method ID is out of range.

              Show
              ianrogers Ian Rogers added a comment - There's a new regression in a prototype build of DaCapo eclipse: http://jikesrvm.anu.edu.au/cattrack/results/rvmx86lnx32b.anu.edu.au/sanity.1434/prototype/default/dacapo/eclipse/default/Output.txt the compiled method ID is out of range.
              Hide
              zyridium Daniel Frampton added a comment -

              This looks like an independant issue. I don't think we should get in the habit of reopening issues that might be related – we should report a new fault.

              That said, my guess at this problem is that we actually increment the compiledMethodId before we grow the array, meaning that if we have a gc while growing the compiled method array we would get a bounds exception when snipping compiled methods. Should be a trivial fix.

              Show
              zyridium Daniel Frampton added a comment - This looks like an independant issue. I don't think we should get in the habit of reopening issues that might be related – we should report a new fault. That said, my guess at this problem is that we actually increment the compiledMethodId before we grow the array, meaning that if we have a gc while growing the compiled method array we would get a bounds exception when snipping compiled methods. Should be a trivial fix.
              Hide
              zyridium Daniel Frampton added a comment -

              I think this is fixed in 13785.

              Show
              zyridium Daniel Frampton added a comment - I think this is fixed in 13785.

                People

                • Assignee:
                  zyridium Daniel Frampton
                  Reporter:
                  ianrogers Ian Rogers
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: