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

An AT EXIT rule which refers to $! in when the target method is void can break trigger injectin

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.0.1
    • 2.0.0
    • Trigger Injection
    • None

      If an AT EXIT rule refers to $! then the trigger injection code will try to generate code to save the stacked return value in a local var slot and then pass it to the triggered rule. However, when the trigger method is void this is doubly inappropriate and results in an exception because i) there is no stacked return value! and ii) the type supplied when allocating the local var slot is void!!

      Injection should be invalidated and a warning exception generated in these circumstances, preferably in the check adapter.

      n.b. it is probably necessary to include the same check for AFTER CALL rules which refer to $! when the called method is void.

              rhn-engineering-adinn Andrew Dinn
              ant_db Anton Ryabtsev (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: