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

TextStreamReader isValueAvailable() returns unexpectedly false when inlining is used.

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P3
    • Resolution: Cannot Reproduce
    • Affects Version/s: 6u18
    • Fix Version/s: 6-pool
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • CPU:
      sparc
    • OS:
      solaris_10

      Description

      The bug occurs when their code CdrDeserializer.deserialize(...) first
      instantiates a private TextStreamReader, setting its value to a non-empty string and then invoking isValueAvailable() on the reader. On some occasions, isValueAvailable() returns unexpectedly false. From their review of the code, this may only happen if the String cdrRecord has a length of 0 or starts with the character _elementDelimiter.
      Both is *not* the case (as they see in the trace output whenever isValueAvailable() returns false). The problem is also reproducable when they synchronize CdrDeserializer.deserialize(...) (which is the only method accessing the private variable _reader).
      With the additional JVM option -XX:-Inline, they can *not* reproduce this bug.

      The snippets of relevant code are attached, along with the log files from -XX:UnlockDiagnoisticVMOptions -XX:LogCompilation.

      Please see the attachments for the code, and the log files.
      /net/cores.uk/export/calls/72541972/
      Also has a copy of the attachments.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                dsamersoff Dmitriy Samersoff
                Reporter:
                mhmiller Matt Miller (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: