Resolving exceptions in generated bytecode
You can resolve exceptions when the rule engine execution generates bytecode in sequential, Fastpath or RetePlus mode.
Symptoms
If an exception occurs during rule engine execution, and the stack trace begins withilog.rules.engine.sequential.generated,
this trace indicates that an execution occurred within the generated
bytecode. Bytecode is generated in sequential or Fastpath modes, or
in RetePlus with the Just-In-Time compilation property useJit enabled.Causes
The characters that follow ilog.rules.engine.sequential.generated indicate
which part of the IRL code caused the exception. The cause might originate
in the action part of a rule, or in a function. The exception is caused
by a function when the word function is present before
the function name. If the function name begins with translation,
this means that the function has been generated by the BOM-to-XOM
mapping. The function content is the body of a mapping of a business
class member whose name follows the translation word. Diagnosing the problem
Look at the stack trace to determine the origin of
the exception. For example, the stack trace begins:
java.lang.NullPointerExceptionand includes:ilog.rules.engine.sequential.generated.loanvalidation$35$$33$$_$validation_0.function_translation_loan_LoanUtil_getStringSize(ilog.rules.engine.sequential.generated.loanvalidation$35$$33$$_$validation_0)This
trace indicates that a null pointer exception occurred in the body
of the mapping of the business method loan.LoanUtil.getStringSize.