Macros that are given values while 
sendmail
 processes mail may not get the value expected. If that happens, careful hand-tracing of rule sets is required to find the fault. For example, the value in 
$g
 (see 
Section 31.10.16, $g
) is the result of sender address rewriting and rewriting by the rule set that is specified in the 
S=
 equate of the selected delivery agent. Because 
$g
 is used to define the 
From:
 header line, errors in that line should be traced through errors in the 
S=
 equate's rule set.
Macros can have other macros as their values. The sendmail program expands macros recursively. As a consequence, unintentional loops in macro definitions can cause sendmail to appear to hang and to eventually segmentation fault and core dump.