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

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P3 P3
    • 6-pool
    • 6u18
    • hotspot
    • sparc
    • solaris_10

      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.

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

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: