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

AsyncGetCallTrace doesn't handle inexact stack walking properly

XMLWordPrintable

    • svc
    • b03
    • sparc
    • solaris_9

        AsyncGetCallTrace often returns traces that report a 0 bci. The problem is that the logic in is_decipherable_compiled_frame has two tests that look like this:

          if (pc_desc != NULL &&
              pc_desc->scope_decode_offset() == DebugInformationRecorder::serialized_null) {

        that should be:

          if (pc_desc == NULL ||
              pc_desc->scope_decode_offset() == DebugInformationRecorder::serialized_null) {

        The existing logic keeps us from doing searching nearby for valid PcDescs and selecting them as the start of the stack walk. I would have expected vframeStream to assert about this but it apparently does not.

              never Tom Rodriguez
              never Tom Rodriguez
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: