Storage violation debugging example
The following steps provide a suggested approach to solving a CICS Transaction Server for OS/390 version 1 storage violation using Abend-AID for CICS:
The Abend-AID for CICS Diagnostic Summary usually provides the logical starting point for solving any dump. Choose option 1 from the Abend-AID for CICS Report Menu to display the Abend-AID for CICS Diagnostic Summary screen.
Report Menu for CICS Region Dumps
Abend-AID ---------- Report Menu--- ------------------------------
OPTION ===>
1 DIAG Diagnostic Summary 6 MVSINFOMVS Information
2 TASKS Task/Wait Analysis 7 IPCS IPCS Command Facility
3 TRACE CICS Trace Listing 8 DOMAINS CICS Domain Analysis
4 CICSINFO CICS Information 9 ZOSSDMP z/OS SVC Dump Analysis
5 CB Control Blocks/Storage
D DIRECTRY Abend-AID Directory I IMPORT Dataset Import
S SUMMARY Fault Summary U USER User Control Facility
N NEWS Product News X EXIT ExitDiagnostic Summary
Abend-AID ------------- Diagnostic Summary ------------- Row 000001 of 000032
COMMAND ===> SCROLL ===> PAGE
Date... 12SEP2019 Time... 09:54:41ASID... 0000 Dump Code... SM0102
Title.. CICS DUMP: SYSTEM=H01AC118 CODE=SM0102 I Category.... STG VIOL
To display the Diagnostic Summary in abbreviated format select ABBREV
Description
This dump ( code SM0102 ) was taken because CICS detected a storage
violation.
The CICS message associated is: DFHSM0102 H01AC118 A storage violation
(code X’0D11’) has been detected in module DFHSMMF.
The short symptom string is: PIDS/566540301 LVLS/330 MS/DFHSM0102
RIDS/DFHSMMF PTFS/UN34195 PRCS/00000D11
Analysis
A storage violation occurred. CICS detected that the storage at address
0013C690 has an invalid storage zone. The leading storage zone is
E7D4C2F0F0F0F2F7 and the trailing storage zone is FFD4C2F0F0F0F2F7.
Addressability and matching information are available for the area.
The current task at the time the dump was taken was 27.
The CICS trace table has 2 exception entries, and 2 are related to task 27.
The last exception trace entry for task 27 gives the following information:
00027 1 ME FF45 MEWS *EXC* SYMREC-ERROR
The CICS Kernel Error Table has no entries.
There are no CICS enqueues held.
Unable to determine the number of programs changed in the last 14 days
because the region dump interface was not active at the time the dump was
taken.The Diagnostic Summary provides a list of errors found within the CICS region dump. Because this dump was caused by a storage violation, the corrupted storage address displayed in the Analysis section is a good place to start. The current task message indicates that task 27 owns the corrupted storage. (Your task number probably will be different.)
You now have completed the first step in storage violation problem determination: you have located the storage and identified its owner.The Diagnostic Summary offers direct access to several other related Abend-AID for CICS displays. For example, addressability to the corrupted storage can be obtained by selecting the Addressability field and pressing Enter. Pressing the HEXD PF key with the cursor positioned on any address displays the contents of the memory at that address. Because this is a storage violation error, it may help to look at the corrupted memory first.
Press the HEXD PF key with the cursor on the storage address having the invalid storage zone. This displays the Memory Display, beginning at the corrupted address (0013C690 in this example).
Memory Display
Abend-AID --------------------- Memory Display ------------------------------
COMMAND ===> SCROLL ===> PAGE
Clip Prev Next Lock
Start Addr: 0013C690 Comment: ___________________________________
0013C690 area PVT sp 130 key 8 ASID 0053 EBCDIC
Address Offset Word 1 Word 2 Word 3 Word 4 Storage
0013C690 +00000000 E7D4C2F0 F0F0F2F7 FFFFFFFF FFFFFFFF *XMB00027........*
0013C6A0 +00000010 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6B0 +00000020 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6C0 +00000030 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6D0 +00000040 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6E0 +00000050 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6F0 +00000060 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C700 +00000070 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C710 +00000080 FFFFFFFF FFFFFFFF FFD4C2F0 F0F0F2F7 *.........MB00027*
0013C720 +00000090 00000000 00000000 00000000 00000000 *................*
0013C730 +000000A0 00000000 00000000 00000000 00000000 *................*
0013C740 +000000B0 00000000 00000000 00000000 00000000 *................*
0013C750 +000000C0 00000000 00000000 00000000 00000000 *................*
0013C760 +000000D0 00000000 00000000 00000000 00000000 *................*
0013C770 +000000E0 00000000 00000000 00000000 00000000 *................*The trailing SAA has been overlaid with X’FF’. Note that although the Analysis message referred to the beginning storage zone address, it is the trailing zone which is actually corrupted. You have now determined the error that was encountered by CICS, the second step in solving a storage violation. At this point, it would be useful to know who could have addressed the storage and is therefore a candidate for corrupting the storage. The Abend-AID for CICS WHO command is very useful in this situation.
Enter +8 in the Command field of the Memory Display to position the screen at the beginning address of the storage (past the first SAA).
Positioning the screen at the beginning address of the storage
Abend-AID --------------------- Memory Display ------------------------------
COMMAND ===> SCROLL ===> PAGE
Clip Prev Next Lock
Start Addr: 0013C690 Comment:
0013C698 area PVT sp 130 key 8 ASID 0053 EBCDIC
Address Offset Word 1 Word 2 Word 3 Word 4 Storage
0013C698 +00000008 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6A8 +00000018 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6B8 +00000028 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6C8 +00000038 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6D8 +00000048 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6E8 +00000058 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6F8 +00000068 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C708 +00000078 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C718 +00000088 FFD4C2F0 F0F0F2F7 00000000 00000000 *.MB00027........*
0013C728 +00000098 00000000 00000000 00000000 00000000 *................*
0013C738 +000000A8 00000000 00000000 00000000 00000000 *................*
0013C748 +000000B8 00000000 00000000 00000000 00000000 *................*
0013C758 +000000C8 00000000 00000000 00000000 00000000 *................*
0013C768 +000000D8 00000000 00000000 00000000 00000000 *................*
0013C778 +000000E8 00000000 00000000 00000000 00000000 *................*
0013C788 +000000F8 00000000 00000000 00000000 00000000 *................*Place the cursor on the displayed address (0013C698 in this example), and press the WHO PF key to display the Storage Addressability Summary.
Storage Addressability Summary
Abend-AID ------- Storage Addressability Summary ------- Row 000001 of 000002
COMMAND ===> SCROLL ===> PAGE
Area: 0013C698
0013C698 +00000000 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6A8 +00000010 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6B8 +00000020 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6C8 +00000030 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
Who Address Occurrences Description
***************** ******** *********** ************************
TCA0007.ERWV 00055000 4 CICS TASK CONTROL AREA
KETA0007.ERWV 07D81AD0 3 CICS KERNEL TASK
******************************* BOTTOM OF DATA ********************************The Storage Addressability Summary identifies a TCA (TCA0007 in this example) and transaction ERWV as the only task that had addressability to the corrupted storage (although this task may not be the only one corrupting the storage). It would be useful to identify the program that transaction ERWV was executing.
Place the cursor on the displayed TCA value (TCA0007 in this example) in the WHO field, and press Enter to display the Addressability Detail.
Addressability Detail (TCA)
Abend-AID --------- Addressability Detail - TCA -------- Row 000001 of 000004
COMMAND ===> SCROLL ===> PAGE
==>
Area: 0013C698
0013C698 +00000000 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6A8 +00000010 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6B8 +00000020 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
0013C6C8 +00000030 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF *................*
Who TRAN Save Area Address Description Program Register Contents Disp
******** **** ********* ******** ************* ******** *** ******** ****
TCA0007 ERWV HLLSA000 0013C508 HLL SAVE AREA ERWMSTGV R01 0013C570 +128
R04 0013C698 +000
R07 0013C0C4 +5D4
R08 0013C508 +190
******************************* BOTTOM OF DATA ********************************The Addressability Detail identifies program ERWMSTGV as the program that had addressability to the overlaid storage. This means that program ERWMSTGV owns the save area containing the registers that had addressability to the storage.
It is also helpful to know the task number associated with this transaction and program. The Abend-AID for CICS TCA Interpreted screen provides this information.Place the cursor on the displayed TCA value (TCA0007 in this example) and press Enter. The user TCA Interpreted screen is displayed, identifying the associated task (in this example, task 27). This is the same task identified by the Diagnostic Summary as the current task.
TCA Interpreted screen
Abend-AID -------------------- TCA Interpreted ------------------------------
COMMAND ===>
To access the Task Detail screen, select Task Detail
To access the Trace Table screen, select Trace Table
To access the EIB screen, select EIB
TCA......................... TCA0004 Task Number................. 06516
TCA Address................. 0006B190 Transaction Id.............. ERWV
System TCA Address.......... 0006B000 Queue Element Area.......... 00000000
Facility Control Indicator.. 01 ICE Address................. 00000000
Facility Control Area....... 0106AA74 HLL Save Area Address....... 0FA10E50
KC ECB Address.............. 00006C94 DLI Indicator............... 00
Common Control Overlay...... 0006B210 ISB Address................. 00000000
TWA Address................. 0006B290 EIS Initialized............. YES
TWA Length.................. 0 EIS Address................. 0006B344
------------ Transaction Storage ------------- -- Terminal --
CICS24 User24 CICS31 User31 Storage
Areas (Hex) 00000001 00000000 00000003 00000000 0000
Bytes (Hex) 00000440 00000000 00004820 00000000 00000000The Abend-AID for CICS presentation of the trace table lets you determine what program ERWMSTGV was doing just before the corruption.
Enter TRACE as a fast-path command or =3 as a jump command to display the Abbreviated Trace Listing screen. This screen allows you to view a short, an abbreviated, and a full version of the trace table. The default display is the entire abbreviated trace table. The oldest entry appears at the top of the screen.
Abbreviated Trace Listing
Abend-AID ---------- Abbreviated Trace Listing ---------- Row 000001 of 000091
COMMAND ===> SCROLL ===> PAGE
==>
To display the Trace Listing in short format select SHORT
To display the Trace Listing in full format select FULL
To specify selection criteria select SELECT
KE Trace
Entry Task Task Point Interpretation
000001 0007 00027 MN 0202 MNMN EXIT TRANSACTION_INITIALISATION/OK
000002 0007 00027 AP FD05 ZSUP ENTRY TASK_STARTUP 07EB8228
000003 0007 00027 AP 00EA TMP ENTRY LOCATE PFT DFHCICST
000004 0007 00027 AP 00EA TMP EXIT NORMAL
000005 0007 00027 AP 00E5 XSMN ENTRY CHECK ERWV
000006 0007 00027 AP 00E5 XSMN EXIT OK
000007 0007 00027 AP 00F2 PCP ENTRY XCTL-CONDITIONAL ERWMSTGV
000008 0007 00027 AP 00EA TMP ENTRY LOCATE PPT ERWMSTGV
000009 0007 00027 AP 00EA TMP EXIT NORMAL
000010 0007 00027 LD 0001 LDLD ENTRY ACQUIRE_PROGRAM 07E9A590 , 00000001
000011 0007 00027 DS 0002 DSAT ENTRY CHANGE_MODE RO
000012 000F TCP DS 0005 DSSR EXIT WAIT_OLDW/OK
000013 000F TCP DS 0004 DSSR ENTRY WAIT_OLDW DFHZDSP,TCP_NORM,00
000014 0007 00027 DS 0003 DSAT EXIT CHANGE_MODE/OK QRAt this point, you can choose specific selection criteria by tabbing to the SELECT field and pressing Enter. A pop-up window is displayed in which you can select trace entries by domain ID, trace point ID, kernel task number, or task identifier, or display only the exception entries.
Enter M (maximum) in the Command field and press the DOWN PF key to scroll down to the bottom of the Abbreviated Trace Listing. The entry displayed at the bottom of the screen is the newest trace entry.
Abbreviated Trace Listing (bottom)
Abend-AID ---------- Abbreviated Trace Listing ---------- Row 000077 of 000091
COMMAND ===> SCROLL ===> PAGE
==>
To display the Trace Listing in short format select SHORT
To display the Trace Listing in full format select FULL
To specify selection criteria select SELECT
KE Trace
Entry Task Task Point Interpretation
000079 0007 00027 ME 0402 MEBU EXIT BUILD_MESSAGE/OK0
000080 0007 00027 ME FF00 SUWT ENTRY SEND_DIRECT 07DD0AA7 , 00000002
000081 0007 00027 ME FF35 MEFO ENTRY -FUNCTION(FORMAT_MESSAGE) 09153312 , 0000
000082 0007 00027 ME FF36 MEFO EXIT -FUNCTION(FORMAT_MESSAGE) OK
000083 0007 00027 ME FF02 SUWT EVENT BEFORE-MVS-WTO
000084 0007 00027 ME FF03 SUWT EVENT AFTER-MVS-WTO
000085 0007 00027 ME FF01 SUWT EXIT SEND_DIRECT/OK
000086 0007 00027 ME 0314 MEME EVENT ISSUE-MVS-FREEMAIN
000087 0007 00027 ME 0315 MEME EVENT MVS-FREEMAIN-COMPLETE
000088 0007 00027 ME 0302 MEME EXIT SEND_MESSAGE/OK
000089 0007 00027 DU 0101 DUDU ENTRY SYSTEM_DUMP SM0102,07D95311 , 0
000090 0007 00027 DU 0600 DUTM ENTRY LOCATE_SYSTEM_DUMPCODE SM0102
000091 0007 00027 DU 0601 DUTM EXIT LOCATE_SYSTEM_DUMPCODE/OK NO,YES
******************************* BOTTOM OF DATA ********************************At this point, the easiest way to find the last exception trace entry is to use the FIND command to search backward through the trace table (from newest to oldest entry).
Enter F *EXC* PREV to search for a previous occurrence of the *EXC* character string. The request is successful and the screen below is displayed.
Finding a previous occurrence on the Abbreviated Trace Listing screen
Abend-AID ---------- Abbreviated Trace Listing ---------- Row 000033 of 000091
COMMAND ===> SCROLL ===> PAGE
==>
To display the Trace Listing in short format select SHORT
To display the Trace Listing in full format select FULL
To specify selection criteria select SELECT
KE Trace
Entry Task Task Point Interpretation
000034 0007 00027 AP 00E1 EIP ENTRY FREEMAIN
000035 0007 00027 SM 0D01 SMMF ENTRY FREEMAIN 0013C698,EXEC,CICS
000036 0007 00027 SM 0D11 SMMF *EXC* Storage_check_failed_on_freemain_request
000037 0007 00027 ME 0301 MEME ENTRY SEND_MESSAGE 66,SM0102,07D1D1C9
000038 0007 00027 ME 0501 MEIN ENTRY INQUIRE_MESSAGE_DATA 87E15048,DFHMET1E,6
000039 0007 00027 KE 0101 KETI ENTRY INQ_LOCAL_DATETIME_DECIMAL
000040 0007 00027 KE 0102 KETI EXIT INQ_LOCAL_DATETIME_DECIMAL/OK 10121994,09
000041 0007 00027 KE 0401 KEGD ENTRY INQUIRE_KERNEL
000042 0007 00027 KE 0402 KEGD EXIT INQUIRE_KERNEL/OK H01AC118,JOHN
000043 0007 00027 ME 0502 MEIN EXIT INQUIRE_MESSAGE_DATA/OK 07E152B4,07E2D1C7
000044 0007 00027 ME 0401 MEBU ENTRY BUILD_MESSAGE 07E2D1C7,07E152B4,1
000045 0007 00027 ME FF40 MEWS ENTRY WRITE_SYMREC 07D9524D , 0000004C
000046 0007 00027 ME FF45 MEWS *EXC* SYMREC-ERROR
000047 0007 00027 ME FF30 SUME ENTRY SEND_ME_MSG 7E,00011B3F , 00000Your display may include an *EXC* SYMREC-ERROR entry. This entry indicates an error in the attempt to write a symptom record to LOGREC. If you encounter this entry, press the RFIND PF key to repeat the FIND command and locate the next previous occurrence of *EXC*. This occurrence is due to an SAA check failing on a user FREEMAIN. The task corresponding to program ERWMSTGV (task 27 in this example) is shown as the task that issued the FREEMAIN. You should determine what task 27 was doing before the FREEMAIN.
Press the UP PF key to scroll up. A page of the Abbreviated Trace Listing and the screen below is displayed.
Abbreviated Trace Listing
Abend-AID ---------- Abbreviated Trace Listing ---------- Row 000022 of 000091
COMMAND ===> SCROLL ===> PAGE
==>
To display the Trace Listing in short format select SHORT
To display the Trace Listing in full format select FULL
To specify selection criteria select SELECT
KE Trace
Entry Task Task Point Interpretation
000023 0007 00027 AP F221 LIPEXIT Establish_Ownership_Type OK
000024 0007 00027 SM 0C01 SMMG ENTRY GETMAIN 18C,YES,00,TASK24
000025 0007 00027 SM 0C02 SMMG EXIT GETMAIN/OK 0013C4F8
000026 0007 00027 AP 00E1 EIP ENTRY INQUIRE-SYSTEM
000027 0007 00027 AP FF10 SUXS ENTRY CSLC DFHEIQSA,SYSTEM,INQ
000028 0007 00027 AP FF11 SUXS EXIT CSLC/OK
000029 0007 00027 AP 00E1 EIP EXIT INQUIRE-SYSTEM OK
000030 0007 00027 AP 00E1 EIP ENTRY GETMAIN
000031 0007 00027 SM 0C01 SMMG ENTRY GETMAIN 80,YES,USER24,EXEC
000032 0007 00027 SM 0C02 SMMG EXIT GETMAIN/OK 0013C698
000033 0007 00027 AP 00E1 EIP EXIT GETMAIN OK
000034 0007 00027 AP 00E1 EIP ENTRY FREEMAIN
000035 0007 00027 SM 0D01 SMMF ENTRY FREEMAIN 0013C698,EXEC,CICS
000036 0007 00027 SM 0D11 SMMF *EXC* Storage_check_failed_on_freemain_requestIn the example, note that task 27 issued a GETMAIN request several entries prior to the FREEMAIN request. Because entry 32 shows the corrupted storage address, task 27 (program ERWMSTGV) is the probable cause of this storage violation.
Place the cursor on the entry number associated with the GETMAIN entry (30 in the example) on the Abbreviated Trace Listing screen, and press the DOWN PF key to scroll down.
Selecting FULL on Abbreviated Trace Listing
Abend-AID ---------- Abbreviated Trace Listing ---------- Row 000030 of 000091
COMMAND ===> SCROLL ===> PAGE
==>
To display the Trace Listing in short format select SHORT
To display the Trace Listing in full format select FULL
To specify selection criteria select SELECT
KE Trace
Entry Task Task Point Interpretation
000030 0007 00027 AP 00E1 EIP ENTRY GETMAIN
000031 0007 00027 SM 0C01 SMMG ENTRY GETMAIN 80,YES,USER24,EXEC
000032 0007 00027 SM 0C02 SMMG EXIT GETMAIN/OK 0013C698
000033 0007 00027 AP 00E1 EIP EXIT GETMAIN OK
000034 0007 00027 AP 00E1 EIP ENTRY FREEMAIN
000035 0007 00027 SM 0D01 SMMF ENTRY FREEMAIN 0013C698,EXEC,CICS
000036 0007 00027 SM 0D11 SMMF *EXC* Storage_check_failed_on_freemain_request
000037 0007 00027 ME 0301 MEME ENTRY SEND_MESSAGE 66,SM0102,07D1D1C9
000038 0007 00027 ME 0501 MEIN ENTRY INQUIRE_MESSAGE_DATA 87E15048,DFHMET1E,6
000039 0007 00027 KE 0101 KETI ENTRY INQ_LOCAL_DATETIME_DECIMAL
000040 0007 00027 KE 0102 KETI EXIT INQ_LOCAL_DATETIME_DECIMAL/OK 10121994,09
000041 0007 00027 KE 0401 KEGD ENTRY INQUIRE_KERNEL
000042 0007 00027 KE 0402 KEGD EXIT INQUIRE_KERNEL/OK H01AC118,JOHN
000043 0007 00027 ME 0502 MEIN EXIT INQUIRE_MESSAGE_DATA/OK 07E152B4,07E2D1C7Finally, select FULL, and press the Enter key to display the Full Trace Listing screen.
Full Trace Listing screen
Abend-AID -------------- Full Trace Listing ------------- Row 000241 of 001071
COMMAND ===> SCROLL ===> PAGE
To display the Trace Listing in abbreviated format select ABBREV
To display the Trace Listing in short format select SHORT
To specify selection criteria select SELECT
Entry Task Interpretation
000030 00027 AP 00E1 EIP ENTRY GETMAIN REQ(0004) FIELD-A(0013C508 ..E.)
FIELD-B(08000C02 ....) KE_NUM-0007 TCB-008DF960 RET-50053914
TIME-09:54:27.9506599455 INTERVAL-**.**********
000031 00027 SM 0C01 SMMG ENTRY - FUNCTION(GETMAIN) GET_LENGTH(80)
SUSPEND(YES) STORAGE_CLASS(USER24) CALLER(EXEC) KE_NUM-0007
TCB-008DF960 RET-88F51C80 TIME-09:54:27.9506711955
INTERVAL-00.0000112500
1-0000 00480000 00000011 00000000 00000000 *................*
0010 B6580000 00000000 02D80158 00000000 *.........Q......*
0020 00000000 00055000 00000080 00010E30 *......&.........*
0030 0013C4F8 01131201 00053A78 07D94884 *..D8.........R.d*
0040 07D9483A 07D948E0 *.R...R.. *
000032 00027 SM 0C02 SMMG EXIT - FUNCTION(GETMAIN) RESPONSE(OK)
ADDRESS(0013C698) KE_NUM-0007 TCB-008DF960 RET-88F51C80This screen displays the full individual trace entry for the GETMAIN, which identifies the address of the return point in program ERWMSTGV at which the GETMAIN was issued. This information helps resolve the program error.
Short Trace Listing screen
Abend-AID ------------------ Short Trace Listing -------- Row 000089 of 000372
COMMAND ===> SCROLL ===> PAGE
To display the Trace Listing in short format select FULL
To display the Trace Listing in abbreviated format select ABBREV
To specify selection criteria select SELECT
Entry Task Interpretation
000030 00027 AP 00E1 EIP ENTRY GETMAIN REQ(0004)
FIELD-A(0013C508 ..E.) FIELD-B(08000C02 ....)
RET-50053914 TIME-09:54:27.9506599455 **.**********
000031 00027 SM 0C01 SMMG ENTRY GETMAIN GET_LENGTH(80)
SUSPEND(YES) STORAGE_CLASS(USER24) CALLER(EXEC)
RET-88F51C80 TIME-09:54:27.9506711955 00.0000112500
000032 00027 SM 0C02 SMMG EXIT GETMAIN/OK ADDRESS(0013C698)
RET-88F51C80 TIME-09:54:27.9509271318 00.0000189383