-
Bug
-
Resolution: Done
-
Major
-
3.0.11, 4.0.1
-
None
-
-
Workaround Exists
-
If a rule R employs helper class H and also specifies H as a target class for the rule then it may not get injected into the target method.
The problem is a regression caused by a change made to support JBoss Modules that moved helper class loads from trigger time to transform time.
It arises if the target H has not already been loaded and some other rule gets triggered which targets a different class K but also uses H as its helper. Byteman goes ahead and loads the helper class while in the middle of transforming K. Since transformation is not re-entrant this means that class H does not get presented to Byteman for rule injection.
The solution is to move helper class loading back to trigger time, ensuring it happens just before rule typecheck.