m ;============================================================================================================ ? ;				  AXP VMS Crash Parameters and Regular Expression patterns m ;============================================================================================================  ; a ;  This file contains the instance labels, processing flags, and regular expression patterns for  l ;  selecting the required crash parameters from a CADC/CLUE crash dump file.  This file makes use of regulara ;  expression pattern matching. A good understanding of regular expressions is a prerequisite to  l ;  understanding or modify this file.  As a rule the patterns should be specific enough in nature to allow al ;  particular parameter to be found and general enough so that slight differences in spacing etc would still% ;  allow the parameter to be located.  ; b ;  Each line in the file must have the following format, except for comment lines that are denoted= ;  by a ';' in the first column.   Blank lines are also okay.  ; 8 ;  [LABEL: ,1,0,0,0,0]~/regex pattern1/~/regex pattern2/0 ;     ^     ^ ^ ^ ^ ^ ^       ^                ^0 ;     |     | | | | | |       |                |S ;     |     | | | | | |       |                + another regular expression pattern " ;     |     | | | | | |       |   V ;     |     | | | | | |       +  regular expression patterns used to find a particularX ;     |     | | | | | |          crash parameter within the crash output file.  Regular U ;     |     | | | | | |          expressions must begin and end with a forward slash. \ ;     |     | | | | | |          In most cases it will take more than one regular expression_ ;     |     | | | | | |          pattern to isolate the value for a particular crash parameter.  ;     |     | | | | | | Y ;     |     | | | | | +  used as a delimeter between regular expressions.  This delimiter X ;     |     | | | | |    was chosen because it was least likely to be used in a regular + ;     |     | | | | |    expression pattern  ;     |     | | | | | W ;	  |     | | | | + Default Value - Analysis engine requires most fields to be present, { ;     |     | | | |   even if the value is only zero or an empty string.                                                    8 ;     |     | | | |      0 = zero will be default value L ;	  |     | | | |      # = empty string will be default value               j ;     |     | | | |      x = no default value.                                                             ;     |     | | | |     	    ;     |     | | | | & ;     |     | | | + 1 =  is stack flag ;     |     | | | 7 ;     |     | | +  1  = append a new line to the output ( ;     |     | |    0  = no new line      ;     |     | | / ;     |     | + 1 =  append space to the output % ;     |     |   0 = no space appended 
 ;     |     | ^ ;     |     + recursive search flag - a vale of 1  indicates that on successive searches for aa ;     |       pattern, the previously matched pattern is used as the source input for the current i ;     |       pattern match.  In other words, for the first regular expression pattern we will search the j ;     |       entire file for the pattern.  If found the matched pattern for regexp 1 is used as input form ;     |       regexp 2.  If the pattern for regexp 2 if found, this is used as source input for regexp 3 and  o ;     |       so on.  A value of 0 indicates that the whole file is searched for every specified regexp pattern V ;     |       and that each pattern must be found in order for the label to be output. ;     | m ;     + this label is output (with its corresponding value) to the CCAT Instance Generator upon successively  n ;       matching all specified regular expression patterns for this particular label.  If any of the specified[ ;       patterns fail to match then the label is not output to the CCAT Instance Generator.  ;  ;  Usage Notes:  ; - ;  ([ ]+)?  ==>  zero to many spaces optional  ;  ;  ; Processing algorithm:  ;  ;  ; m ;============================================================================================================  ;			     		Modification History m ;============================================================================================================  ; ; ;     Name:        Date:           Modification Description B ;     -----        -----           ------------------------        ;     3 ;     JWarihay     11/01/2000      Initial creation  ; ^ ;     JWarihay     10/10/2001      Limit the number of lines grabbed to avoid stack overflows,H ;                                  and add new patterns for mail server. ; W ;     JWarihay     10/18/2001      Add lines for Spinlock expressions for PTR 91-5-166.  ; Z ;     JWarihay     11/8/2001       Add DSNSUBJECT to extract dsnsubject line from crashes. ; M ;     JWarihay     11/8/2001       Add check for "=20" for os_version.         ; m ;============================================================================================================  ;  ;  ;  ; P ; ** NOTE:   M1M2P1P2 gets special handling in ccat_instance_generator.java  *** ;  ; = ; The following four fields are used to send e-mail responses O ; back to the user when needed.  They should appear in all CCAT reg expressions 
 ; text files.  ; 7 [SUBJECT: ,1,0,0,0,x]~/SUBJECT[:]?.*/~/[ ].*/~/[^ ].*/  5 [SENDER: ,1,0,0,0,x]~/SENDER[:]?.*/~/[ ].*/~/[^ ].*/  : [CISL: ,1,0,0,0,x]~/SUBJECT[:]?.*\n/~/ .*/~/([ ]+)?cisl / : [CISL: ,1,0,0,0,x]~/SUBJECT[:]?.*\n/~/ .*/~/([ ]+)?Cisl / : [CISL: ,1,0,0,0,x]~/SUBJECT[:]?.*\n/~/ .*/~/([ ]+)?CISL / 8 [CFS: ,1,0,0,0,x]~/SUBJECT[:]?.*\n/~/ .*/~/([ ]+)?cfs / 8 [CFS: ,1,0,0,0,x]~/SUBJECT[:]?.*\n/~/ .*/~/([ ]+)?Cfs / 8 [CFS: ,1,0,0,0,x]~/SUBJECT[:]?.*\n/~/ .*/~/([ ]+)?CFS /     [ [INSTRUCTION: ,1,0,0,0,#]~/Failing Instruction(.*\n){5}/~/[^(]+/~/[\+\.].*/~/ .*/~/[^ \t]+/     K [INSTRUCTION_M1M2P1P2: ,1,0,0,0,x]~/Failing Instruction(.*\n){50}/            W [OS_VERSION: ,1,0,0,0,0]~/[ ]?VMS Version.*/~/ion[:|=]?.*/~/[ \t].*/~/[^ \t].*/~/[^=]+/ W [OS_VERSION: ,1,0,0,0,0]~/[ ]?VMS VERSION.*/~/ION[:|=]?.*/~/[ \t].*/~/[^ \t].*/~/[^=]+/   p [MODULE: ,1,0,0,0,#]~/Failing Instruction(.*\n){5}/~/ion[:]?(.*\n){5}/~/[^(]+/~/( |\n)[A-Z$_]+[\+|:]/~/([^+:])+/  s [MODULE: ,1,0,0,0,#]~/Failing Instruction(.*\n){5}/~/ion[:]?(.*\n){5}/~/[^(]+/~/( |\n)[A-Z1-9$_]+[\+|:]/~/([^+:])+/   s [MODULE: ,1,0,0,0,#]~/Failing Instruction(.*\n){5}/~/ion[:]?(.*\n){5}/~/[^(]+/~/( |\n)[A-Z1-9$_]+[\+|:]/~/([^+:])+/    [MODULE: ,1,0,0,0,#]~/Failing Instruction(.*\n){5}/~/ion[:]?(.*\n){5}/~/[^(]+/~/(\\)[A-Z1-9$_]+[\+|:]/~/([^+:])+/~/[A-Z1-9$_]+/   d [OFFSET: ,1,0,0,0,0]~/Failing Instruction(.*\n){5}/~/[^(]+/~/[\+|\.].*[ \t]/~/[^+\.].*/~/[^ :\t\n]+/    [ [INSTRUCTION: ,1,0,0,0,#]~/Failing Instruction(.*\n){5}/~/[^(]+/~/[\+\.].*/~/ .*/~/[^ \t]+/ Y [INSTRUCTION: ,1,0,0,0,#]~/Failing Instruction(.*\n){5}/~/[^(]+/~/:   .*/~/ .*/~/[^ \t]+/ W [INSTRUCTION: ,1,0,0,0,#]~/Failing Instruction(.*\n){5}/~/[^(]+/~/: .*/~/ .*/~/[^ \t]+/      ; 2 ;  Caller_module meaningless for spinlock crashes.6 ;  Newer crashes (7.3+) may have spinlock information : ;  if the crash was a Spinlock wait crash.  So, search forB ;  spinlock info ("Spinlock owner") and if found, put the spinlockC ;  module into the caller_module field, and put the spinlock module . ;  offset into the caller_module_offset field. ;  PTR: 91-5-166 ;   O [CALLER_MODULE_NAME: ,1,0,0,0,#]~/[ ]?return PC(.*\n){5}/~/[^ \n]+\+/~/([^+])+/    [CALLER_MODULE_NAME: ,1,0,0,0,#]~/Spinlock owner(.*\n){10}/~/Run(.*\n){3}/~/ (.*\n){3}/~/[^ ](.*\n){2}/~/ .*/~/[^ ].*/~/ .*/~/.*[\+ \n]/~/.*[^\+]/        Z [CALLER_MODULE_OFFSET: ,1,0,0,0,0]~/[ ]?return PC(.*\n){5}/~/\+(.*\n)+/~/\+[^s>]+/~/[^+]+/   [CALLER_MODULE_OFFSET: ,1,0,0,0,#]~/Spinlock owner(.*\n){10}/~/Run(.*\n){3}/~/ (.*\n){3}/~/[^ ](.*\n){2}/~/ .*/~/[^ ].*/~/ .*/~/\+.*/~/[^\+].*/      [CURRENT_IMAGE: ,1,0,0,0,#]~/([ ]+)?Current Image[:]?(.*\n){5}/~/age[:]?(.*\n)+/~/(<|\])[a-zA-Z0-9_$ \t\n>]+(\.|>)/~/[^.]+/~/[^\]]+/  l [CURRENT_IMAGE: ,1,0,0,0,#]~/([ ]+)?Current Image[:]?(.*\n){5}/~/age[:]?(.*\n)+/~/[ \t].*/~/(\]).*/~/[^\]]+/  : [MAP_OFFSET: ,1,0,0,0,0]~/([ ]+)?Offset:.*/~/set:.*/~/ .*/: [MAP_MODULE: ,1,0,0,0,#]~/([ ]+)?Module:.*/~/ule:.*/~/ .*/x [EXCEPTION_PSL: ,1,0,0,0,0]~/([ ]+)?Failing PS[:]?.*\n/~/PS[:]?.*\n/~/ .*\n/~/[^ ].*\n/~/[ |:|\.][^ \.]+[ |\n]/~/[^\.]+/w [EXCEPTION_PC: ,1,0,0,0,0]~/([ ]+)?Failing PC[:]?.*\n/~/PC[:]?.*\n/~/ .*\n/~/[^ ].*\n/~/[ |:|\.][^ \.]+[ |\n]/~/[^\.]+/   _ [VIRTUAL_ADDRESS: ,1,0,0,0,0]~/([ ]+)?Argument #3[:]?.*/~/#3[:]?.*/~/=[ ]?[0-9A-Fa-f]+/~/[^=]+/c ;g* ; the following lines are for PTR 91-1-171 ;  [VIRTUAL_ADDRESS: ,1,0,0,0,0]~/Pagefault Information:.*\n.*Faulting Virtual Address.*/~/Faulting Virtual Address +[0-9A-F]+(\.| )[0-9A-F]+/~/[0-9A-F]+(\.| )[0-9A-F]+/~/(\.| )[0-9A-F]+/~/[0-9A-F]+/    [ [REASON_MASK: ,1,0,0,0,0]~/([ ]+)?Argument #2[:]?.*/~/#2[:]?.*/~/=[ ]?[0-9A-Fa-f]+/~/[^=]+/  [REASON_MASK: ,1,0,0,0,0]~/Pagefault Information:.*\n(^.*\n)+([ ]+)?Memory Management Flags.*/~/Memory Management Flags +[0-9A-F]+(\.| )[0-9A-F]+/~/[0-9A-F]+(\.| )[0-9A-F]+/~/(\.| )[0-9A-F]+/~/[0-9A-F]+/a    ] [CONDITION_CODE: ,1,0,0,0,0]~/([ ]+)?Condition[:]?.*/~/ion[:]?.*/~/=[ ]?[0-9A-Fa-f]+/~/[^=]+/,P [SIGNAL_ARRAY: ,1,0,0,0,0]~/([ ]+)?Arg Count[:]?.*/~/unt[:]?.*/~/[^A]+/~/[0-9]+/S [CURRENT_PROCESS: ,1,0,0,0,#]~/([ ]+)?Current Process[:]?.*/~/cess[:]?.*/~/[ \t].*/ = [CPU_TYPE: ,1,0,0,0,#]~/([ ]+)?CPU Type:.*/~/ype[:]?.*/~/ .*/ @ [CPU_TYPE: ,1,0,0,0,#]~/([ ]+)?CPU Type[:]?.*/~/ype[:]?.*/~/ .*/= [HOSTNAME: ,1,0,0,0,x]~/^([ ]+)?Node[:]?.*/~/ode[:]?.*/~/ .*/ V [BUGCHECK_TYPE: ,1,0,0,0,x]~/([ ]+)?Bugcheck Type[:]?.*/~/ype[:]?.*/~/[ \t].*/~/[^,]+/H [CRASH_TIME: ,1,0,0,0,x]~/([ ]+)?Crash Time[:]?.*/~/ime[:]?.*/~/[ \t].*/   ; * ; The following lines are for PTR 91-5-1663 ; If spinlock name isn't found - search for "IPINT"  ; G [SPINLOCK_NAME: ,1,0,0,0,x]~/Spinlock name(.*\n){3}/~/name[:]?.*/~/ .*/p4 [SPINLOCK_NAME: ,1,0,0,0,x]~/Cause(.*\n){2}/~/IPINT/    9 [DSNSUBJECT: ,1,0,0,0,x]~/DSNSubject:.*/~/[ ].*/~/[^ ].*/     [ ;******************************************************************************************a[ ;****************************************************************************************** [ ;******************************************************************************************v[ ;****************************************************************************************** L ;       Daves m1m2p1p2 expressions (currently unused due to SDA> problem..):  ;[ALPHA_FAILING_INST_P1: ,1,0,0,0,x]~/Instruction Stream.*\n(.+\n){30}/~/\n(.+\n){25}/~/(.+\n){22}/~/\n(.+\n){21}/~/(.+\n){21}/~/\n(.+\n){20}/~/(.+\n){20}/~/\n(.+\n){19}/~/(.+\n){19}/~/\n(.+\n){18}/~/(.+\n){18}/~/\n(.+\n){17}/~/(.+\n){17}/~/\n(.+\n){16}/~/(.+\n){16}/~/\n(.+\n){15}/~/(.+\n){15}/~/\n(.+\n){14}/~/(.+\n){14}/~/\n(.+\n){13}/~/(.+\n){13}/~/\n(.+\n){12}/~/(.+\n){12}/~/\n(.+\n){11}/~/(.+\n){11}/~/\n(.+\n){10}/~/(.+\n){10}/~/\n(.+\n){9}/~/(.+\n){9}/~/\n(.+\n){8}/~/(.+\n){8}/~/\n(.+\n){7}/~/(.+\n){7}/~/\n(.+\n){6}/~/(.+\n){6}/~/\n(.+\n){5}/~/(.+\n){5}/~/\n(.+\n){4}/~/(.+\n){4}/~/\n(.+\n){3}/~/(.+\n){3}/~/\n(.+\n){2}/~/(.+\n){2}/~/\n(.+\n){1}/~/(.+\n){1}/~/:[ \t]+[^ \t]+/~/[^: \t]+/n    ;[ALPHA_FAILING_INST_P1: ,1,0,0,0,x]~/Instruction Stream.*\n(.+\n){22}/~/\n(.+\n){22}/~/(.+\n){22}/~/\n(.+\n){21}/~/(.+\n){21}/~/\n(.+\n){20}/~/(.+\n){20}/~/\n(.+\n){19}/~/(.+\n){19}/~/\n(.+\n){18}/~/(.+\n){18}/~/\n(.+\n){17}/~/(.+\n){17}/~/\n(.+\n){16}/~/(.+\n){16}/~/\n(.+\n){15}/~/(.+\n){15}/~/\n(.+\n){14}/~/(.+\n){14}/~/\n(.+\n){13}/~/(.+\n){13}/~/\n(.+\n){12}/~/(.+\n){12}/~/\n(.+\n){11}/~/(.+\n){11}/~/\n(.+\n){10}/~/(.+\n){10}/~/\n(.+\n){9}/~/(.+\n){9}/~/\n(.+\n){8}/~/(.+\n){8}/~/\n(.+\n){7}/~/(.+\n){7}/~/\n(.+\n){6}/~/(.+\n){6}/~/\n(.+\n){5}/~/(.+\n){5}/~/\n(.+\n){4}/~/(.+\n){4}/~/\n(.+\n){3}/~/(.+\n){3}/~/\n(.+\n){2}/~/(.+\n){2}/~/\n(.+\n){1}/~/(.+\n){1}/~/:[ \t]+[^ \t]+/~/[^: \t]+/o         ;; **** ORIGINAL BELOW  ****;[ALPHA_FAILING_INST:P2 ,1,0,0,0,x]~/Instruction Stream.*\n(.+\n){23}/~/\n(.+\n){23}/~/(.+\n){23}/~/\n(.+\n){22}/~/(.+\n){22}/~/\n(.+\n){21}/~/(.+\n){21}/~/\n(.+\n){20}/~/(.+\n){20}/~/\n(.+\n){19}/~/(.+\n){19}/~/\n(.+\n){18}/~/(.+\n){18}/~/\n(.+\n){17}/~/(.+\n){17}/~/\n(.+\n){16}/~/(.+\n){16}/~/\n(.+\n){15}/~/(.+\n){15}/~/\n(.+\n){14}/~/(.+\n){14}/~/\n(.+\n){13}/~/(.+\n){13}/~/\n(.+\n){12}/~/(.+\n){12}/~/\n(.+\n){11}/~/(.+\n){11}/~/\n(.+\n){10}/~/(.+\n){10}/~/\n(.+\n){9}/~/(.+\n){9}/~/\n(.+\n){8}/~/(.+\n){8}/~/\n(.+\n){7}/~/(.+\n){7}/~/\n(.+\n){6}/~/(.+\n){6}/~/\n(.+\n){5}/~/(.+\n){5}/~/\n(.+\n){4}/~/(.+\n){4}/~/\n(.+\n){3}/~/(.+\n){3}/~/\n(.+\n){2}/~/(.+\n){2}/~/\n(.+\n){1}/~/(.+\n){1}/~/:[ \t]+[^ \t]+/~/[^: \t]+/     ;; **** ORIGINAL BELOW  ****;[ALPHA_FAILING_INST:P2 ,1,0,0,0,x]~/Instruction Stream.*\n(.+\n){23}/~/\n(.+\n){23}/~/(.+\n){23}/~/\n(.+\n){22}/~/(.+\n){22}/~/\n(.+\n){21}/~/(.+\n){21}/~/\n(.+\n){20}/~/(.+\n){20}/~/\n(.+\n){19}/~/(.+\n){19}/~/\n(.+\n){18}/~/(.+\n){18}/~/\n(.+\n){17}/~/(.+\n){17}/~/\n(.+\n){16}/~/(.+\n){16}/~/\n(.+\n){15}/~/(.+\n){15}/~/\n(.+\n){14}/~/(.+\n){14}/~/\n(.+\n){13}/~/(.+\n){13}/~/\n(.+\n){12}/~/(.+\n){12}/~/\n(.+\n){11}/~/(.+\n){11}/~/\n(.+\n){10}/~/(.+\n){10}/~/\n(.+\n){9}/~/(.+\n){9}/~/\n(.+\n){8}/~/(.+\n){8}/~/\n(.+\n){7}/~/(.+\n){7}/~/\n(.+\n){6}/~/(.+\n){6}/~/\n(.+\n){5}/~/(.+\n){5}/~/\n(.+\n){4}/~/(.+\n){4}/~/\n(.+\n){3}/~/(.+\n){3}/~/\n(.+\n){2}/~/(.+\n){2}/~/\n(.+\n){1}/~/(.+\n){1}/~/:[ \t]+[^ \t]+/~/[^: \t]+/    ;[ALPHA_FAILING_INST: ,1,0,0,0,x]~/Instruction Stream.*\n(.+\n){21}/~/\n(.+\n){21}/~/(.+\n){21}/~/\n(.+\n){20}/~/(.+\n){20}/~/\n(.+\n){19}/~/(.+\n){19}/~/\n(.+\n){18}/~/(.+\n){18}/~/\n(.+\n){17}/~/(.+\n){17}/~/\n(.+\n){16}/~/(.+\n){16}/~/\n(.+\n){15}/~/(.+\n){15}/~/\n(.+\n){14}/~/(.+\n){14}/~/\n(.+\n){13}/~/(.+\n){13}/~/\n(.+\n){12}/~/(.+\n){12}/~/\n(.+\n){11}/~/(.+\n){11}/~/\n(.+\n){10}/~/(.+\n){10}/~/\n(.+\n){9}/~/(.+\n){9}/~/\n(.+\n){8}/~/(.+\n){8}/~/\n(.+\n){7}/~/(.+\n){7}/~/\n(.+\n){6}/~/(.+\n){6}/~/\n(.+\n){5}/~/(.+\n){5}/~/\n(.+\n){4}/~/(.+\n){4}/~/\n(.+\n){3}/~/(.+\n){3}/~/\n(.+\n){2}/~/(.+\n){2}/~/\n(.+\n){1}/~/(.+\n){1}/~/:[ \t]+[^ \t]+/~/[^: \t]+/  ;[ALPHA_FAILING_INST_M1: ,1,0,0,0,x]~/Instruction Stream.*\n(.+\n){20}/~/\n(.+\n){20}/~/(.+\n){20}/~/\n(.+\n){19}/~/(.+\n){19}/~/\n(.+\n){18}/~/(.+\n){18}/~/\n(.+\n){17}/~/(.+\n){17}/~/\n(.+\n){16}/~/(.+\n){16}/~/\n(.+\n){15}/~/(.+\n){15}/~/\n(.+\n){14}/~/(.+\n){14}/~/\n(.+\n){13}/~/(.+\n){13}/~/\n(.+\n){12}/~/(.+\n){12}/~/\n(.+\n){11}/~/(.+\n){11}/~/\n(.+\n){10}/~/(.+\n){10}/~/\n(.+\n){9}/~/(.+\n){9}/~/\n(.+\n){8}/~/(.+\n){8}/~/\n(.+\n){7}/~/(.+\n){7}/~/\n(.+\n){6}/~/(.+\n){6}/~/\n(.+\n){5}/~/(.+\n){5}/~/\n(.+\n){4}/~/(.+\n){4}/~/\n(.+\n){3}/~/(.+\n){3}/~/\n(.+\n){2}/~/(.+\n){2}/~/\n(.+\n){1}/~/(.+\n){1}/~/:[ \t]+[^ \t]+/~/[^: \t]+/A  e;[ALPHA_FAILING_INST_M2: ,1,0,0,0,x]~/Instruction Stream.*\n(.+\n){19}/~/\n(.+\n){19}/~/(.+\n){19}/~/\n(.+\n){18}/~/(.+\n){18}/~/\n(.+\n){17}/~/(.+\n){17}/~/\n(.+\n){16}/~/(.+\n){16}/~/\n(.+\n){15}/~/(.+\n){15}/~/\n(.+\n){14}/~/(.+\n){14}/~/\n(.+\n){13}/~/(.+\n){13}/~/\n(.+\n){12}/~/(.+\n){12}/~/\n(.+\n){11}/~/(.+\n){11}/~/\n(.+\n){10}/~/(.+\n){10}/~/\n(.+\n){9}/~/(.+\n){9}/~/\n(.+\n){8}/~/(.+\n){8}/~/\n(.+\n){7}/~/(.+\n){7}/~/\n(.+\n){6}/~/(.+\n){6}/~/\n(.+\n){5}/~/(.+\n){5}/~/\n(.+\n){4}/~/(.+\n){4}/~/\n(.+\n){3}/~/(.+\n){3}/~/\n(.+\n){2}/~/(.+\n){2}/~/\n(.+\n){1}/~/(.+\n){1}/~/:[ \t]+[^ \t]+/~/[^: \t]+/n    [ ;******************************************************************************************  ; W ;   *** Attempts to get at just the instruciton lines   (files with SDA> in them)  ****  ; j ;;[ALPHA_FAILING_INST_P1: ,1,0,0,0]~/Instruction Stream.*\n(.+\n){22}/~/\n(.+:[ \t]+[A-Z]+[ \t]+.+\n){22}/ ;,    j ;;[ALPHA_FAILING_INST_P1: ,1,0,0,0]~/Instruction Stream.*\n(.+\n){40}/~/\n(.+:[ \t]+[A-Z]+[ \t]+.+\n){22}/  ] ;[ALPHA_FAILING_INST_P1: ,1,0,0,0]~/Instruction Stream.*\n(.+\n){40}/~/\n(.+:[ \t]+.+\n){22}//[ ;[ALPHA_FAILING_INST_P1: ,1,0,0,0]~/Instruction Stream.*\n(.+\n){40}/~/(.+:[ \t]+.+\n){40}/*    M ;**********************   Old Patterns  ************************************* Z ;;;;;;;;[CALLER_MODULE_NAME: ,1,0,0,0]~/[ ]?return PC(.*\n)+saved/~/([^ ])+\+.*/~/([^+])+/  Y ;;;;;;;;;;[CALLER_MODULE_NAME: ,1,0,0,0]~/[ ]?return PC(.*\n)+/~/[ |\t|\n].*\+/~/([^+])+/a  U ;[CALLER_MODULE_OFFSET: ,1,0,0,0]~/[ ]?return PC(.*/)+/~/([^ ])+\+.*/~/\+.*/~/[^+].*/~et:.*/~/ .*/