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

Producing edge counter profiles in a profiled build fails with an NPE

    Details

    • Type: Bug
    • Status: Open
    • Priority: Medium
    • Resolution: Unresolved
    • Affects Version/s: 3.1.1
    • Fix Version/s: 3.1.4
    • Component/s: Compiler: Baseline
    • Labels:
      None

      Description

      When using

      -X:base:profile_edge_counter_file=x.ec
      and -X:base:profile_edge_counters=true
      and -X:aos:final_report_level=2

      in a profiled build (bin/buildit -p) to dump edge counter profiles for replay compilation, JikesRVM fails with an NPE

      Exception in thread "MainThread" java.lang.NullPointerException
      at org.jikesrvm.compilers.baseline.BranchProfiles.<init>(BranchProfiles.java:74)
      at org.jikesrvm.compilers.baseline.EdgeCounts.dumpCounts(EdgeCounts.java:121)
      at org.jikesrvm.compilers.baseline.EdgeCounts.dumpCounts(EdgeCounts.java:101)
      at org.jikesrvm.adaptive.controller.Controller.report(Controller.java:255)
      at org.jikesrvm.adaptive.controller.Controller.notifyExit(Controller.java:191)
      at org.jikesrvm.Callbacks.notifyExit(Callbacks.java:800)
      at org.jikesrvm.VM.sysExit(VM.java:2335)
      at java.lang.VMRuntime.exit(VMRuntime.java:79)
      at java.lang.Runtime.halt(Runtime.java:399)
      at java.lang.Runtime.exit(Runtime.java:174)
      at java.lang.System.exit(System.java:577)
      at Harness.main(Harness.java:6)

      The code in EdgeCounts.dumpCounts assumes that if there is a profile entry in slot i of the edge counter data array, then method i can be resolved. In a profiled build, my guess is that some of these entries are left over from the counters used to guide compilation of the boot image, and so this assumption is false.

        Attachments

          Activity

          Hide
          rgarner Robin Garner added a comment -

          Triaged in r16018. A proper fix would drop the edge counters loaded during profiling (or reuse them).

          Show
          rgarner Robin Garner added a comment - Triaged in r16018. A proper fix would drop the edge counters loaded during profiling (or reuse them).
          Hide
          dgrove David Grove added a comment -

          bulk defer issues to 3.1.4

          Show
          dgrove David Grove added a comment - bulk defer issues to 3.1.4

            People

            • Assignee:
              Unassigned
              Reporter:
              rgarner Robin Garner
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: