Uploaded image for project: 'Byteman'
  1. Byteman
  2. BYTEMAN-15

Transformer associates enclosed try catch blocks with wrong synchronization blocks (invalid open enters count)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 1.0.3
    • 1.0.2
    • Trigger Injection
    • None

    Description

      The control flow graph algorithm employed during code transformation to associate try catch blocks with any synchronized blocks in which they are embedded is incorrect. The problem manifests with a sequence of error printouts during transformation of the form:

      invalid open enters block for block Lnnnnnnn at index i
      invalid open enters instruction index for block Lnnnnnnn at index i

      where nnnnnnn is a digit sequence and i an integer.

      This has not been observed to affect the validity of the code transformation.

      The problem is because the algorithm has been coded incorrectly. When monitorenter locations are propagated from one block to the next they are passed in reverse order, causing the algorithm to match the wrong location when it subsequently encounters a monitorexit.

      Attachments

        Activity

          People

            rhn-engineering-adinn Andrew Dinn
            rhn-engineering-adinn Andrew Dinn
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: