CAC 2016-01-27

disk_usage_stats

ac x >ldd>tools>s>bound_admin_tools_.s disk_usage_stat.pl1
r 09:29 0.053 5

pl1 disk_usage_stat -not -prefix subscriptrange
PL/1 33e
r 09:30 3.190 103

[wd]>disk_usage_stat >

Error:  subscriptrange condition by >user_dir_dir>SysAdmin>Anthony>dus>disk_usage_stat$counter|5763 (line 381)
A subscript value has exceeded array bounds.
system handler for error returns to command level

Line 381

                    n_dirs_w_i_names (nnames_in_dir) = n_dirs_w_i_names (nnames_in_dir) + 1;

               do while (lvl < savlvl);
                    nnames_in_dir = pending_names (savlvl);
                    n_dirs_w_i_names (nnames_in_dir) = n_dirs_w_i_names (nnames_in_dir) + 1;
                    if nnames_in_dir > max_names_in_dir then do;
                         max_names_in_dir = nnames_in_dir;
                         call set_dwmn ();
                    end;
                    pending_names (savlvl) = 0;
                    savlvl = savlvl - 1;
               end;

gtss

gtss
GTSS 4JS3 (4.0)
*basic
*10 print "asdf"
*list

Error:  no_write_permission condition by !BBBKKJkHQZcGjz.temp.0321|326 (in process dir)
referencing >system_library_unbundled>gtss_fast_library_>0|2547

debug
/321/300&t,30i
   300    170000 3750 03      ana       170000,du
   301    000314 6000 00      tze       314
   302    040000 1150 03      cmpa      40000,du
   303    000314 6000 00      tze       314
   304    002244 2360 00      ldq       2244
   305    002457 7560 00      stq       2457
   306    002246 2360 00      ldq       2246
   307    002460 7560 00      stq       2460
   310    002440 7100 00      tra       2440
   311    000033 0020 00      drl       33
   312   0 02547 7777 77      ....      pr0|2547,*7 interrupt inhibit
   313    002547 6270 00      eax7      2547
   314    000000 6230 17      eax3      0,7
   315    000001 6240 13      eax4      1,3
   316    000000 2200 13      ldx0      0,3
   317    000000 5074 14      awd       0,4
   320    100000 5074 17      awd       100000,7
   321    000342 7400 00      stx0      342
   322    000342 0640 00      adx4      342
   323    000342 0670 00      adx7      342
   324    000000 6350 10      eaa       0,0
   325    000002 7350 00      als       2
   326   000 140 100 540      mlr       (pr,rl),(pr,rl),fill(000)
   327   0 00000 00 0001      desc9a    pr0|0,au
   330   1 00000 00 0001      desc9a    pr1|0,au
   331    777777 2350 14      lda       -1,4
   332    777777 3750 07      ana       777777,dl
   333    170000 1150 07      cmpa      170000,dl
   334    000343 6000 00      tze       343
   335    002241 0540 00      aos       2241

That certainly looks like plausible executable code; the DRL instructions would suggest that this is the GCOS binary.

   326   000 140 100 540      mlr       (pr,rl),(pr,rl),fill(000)
   327   0 00000 00 0001      desc9a    pr0|0,au
   330   1 00000 00 0001      desc9a    pr1|0,au

DBG(5189037632)> CPU REGDUMPPR: PR0/ap: SNR=00234 RNR=4 WORDNO=002550 BITNO:00
DBG(5189037632)> CPU REGDUMPPR: PR1/ab: SNR=00317 RNR=4 WORDNO=002547 BITNO:00

Weird; I'm not seeing the the Read debug lines for the MLR operand fetch.....

234 is stack 4
317 is >system_library_unbundled>gtss_fast_library_>0

DBG(5189037622)> CPU TRACE: 00321:000000|000320 4 100000507417 (AWD 100000,7) 100000 507(1) 0 0 0 17
sets wordno in PR1.

It's really AWDX; X7 is 002547, so correct operation.

It's set to zero by 

DBG(5188904735)> CPU TRACE: 00321:000000|000033 4 000050463400 (LAREG 000050) 000050 463(1) 0 0 0 00

Interesting; I don't think I've ever seen LAREG in the wild.

The segment number is set here:

DBG(5085781166)> CPU TRACE: 00321:000000|000256 4 000005002000 (DRL 000005) 000005 002(0) 0 0 0 00

According to gtss_drl_names.incl.pl1:

     "RETURN",    /* T.RTRN    Return to Primitive List               5    */

Not bloody helpful....

Cool. https://www.thinkage.ca/english/gcos/expl/drl/return.html documents GCOS!

DRL RETURN (octal 5) - return to primitive list.

Usage:

drl    return
Description:

DRL RETURN tells the Executive that this subsystem process has reached a normal termination. The Executive selects the next primitive in the sequence defined within the program descriptor and based on this primitive initiates the next process.
gcos_set_environment -modes drl,ss
r 20:14 0.128 1 level 2

rl
r 20:15 2.124 0

gcos_set_environment -modes drl,ss
r 20:17 0.094 0

gtss
GTSS 4JS3 (4.0)
Subsystem cmdl
Derail PASUST  at    147
Derail FILACT  at   2007
Derail RETURN  at   1177
*basic
Subsystem oldn
Derail SETSWH  at    162
Derail KIN     at    163
Derail DEFIL   at    166
Derail RETFIL  at    254
Derail RETURN  at    256
*10 print "asdf"
*list
Subsystem bsed
Derail DEFIL   at    150
Derail DIO     at    157
Derail SETSWH  at    167
Derail TERMTP  at    202
Derail DEFIL   at    211
Derail KIN     at    230
Derail PASUST  at    311

Error:  no_write_permission condition by !BBBKLQKnfddDcb.temp.0321|326 (in process dir)
referencing >system_library_unbundled>gtss_fast_library_>0|2547
     "PASUST",                                              /* T.PUST    Pass UST to Subsystem                  33   */
     "FILACT",                                              /* T.FLAC    Permanent File Activities              36   */
     "RETURN",                                              /* T.RTRN    Return to Primitive List               5    */

     "SETSWH",                                              /* T.SETS    Set Switch Word                        10   */
     "KIN",                                                 /* T.KIN     Keyboard Input Last Line               4    */
     "DEFIL",                                               /* T.DFIL    Define and Access a Temporary File     6    */
     "RETFIL",                                              /* T.RFIL    Return a File                          14   */
     "RETURN",                                              /* T.RTRN    Return to Primitive List               5    */

     "DEFIL",                                               /* T.DFIL    Define and Access a Temporary File     6    */
     "DIO",                                                 /* T.DIO     Do I/O on User's File                  1    */
     "SETSWH",                                              /* T.SETS    Set Switch Word                        10   */
     "TERMTP",                                              /* T.TTYP    Terminal Type and Line Number          23   */
     "DEFIL",                                               /* T.DFIL    Define and Access a Temporary File     6    */
     "KIN",                                                 /* T.KIN     Keyboard Input Last Line               4    */
     "PASUST",                                              /* T.PUST    Pass UST to Subsystem                  33   */
DBG(5057172035)> CPU TRACE: 00321:000000|000147 4 000033002000 (DRL 000033) 000033 002(0) 0 0 0 00  PASUST
DBG(5057236248)> CPU TRACE: 00321:000000|002007 4 000036002000 (DRL 000036) 000036 002(0) 0 0 0 00  FILACT
DBG(5057339285)> CPU TRACE: 00321:000000|001177 4 000005002000 (DRL 000005) 000005 002(0) 0 0 0 00  RETURN

DBG(5085204620)> CPU TRACE: 00321:000000|000162 4 000010002000 (DRL 000010) 000010 002(0) 0 0 0 00  SETSWH
DBG(5085207013)> CPU TRACE: 00321:000000|000163 4 000004002000 (DRL 000004) 000004 002(0) 0 0 0 00  KIN
DBG(5085214464)> CPU TRACE: 00321:000000|000166 4 000006002000 (DRL 000006) 000006 002(0) 0 0 0 00  DEFIL
DBG(5085312939)> CPU TRACE: 00321:000000|000254 4 000014002000 (DRL 000014) 000014 002(0) 0 0 0 00  RETFIL
DBG(5085781166)> CPU TRACE: 00321:000000|000256 4 000005002000 (DRL 000005) 000005 002(0) 0 0 0 00  RETURN

DBG(5188904743)> CPU TRACE: 00321:000000|000150 4 000006002000 (DRL 000006) 000006 002(0) 0 0 0 00  DEFIL
DBG(5189002550)> CPU TRACE: 00321:000000|000157 4 000001002000 (DRL 000001) 000001 002(0) 0 0 0 00  DIO
DBG(5189019817)> CPU TRACE: 00321:000000|000167 4 000010002000 (DRL 000010) 000010 002(0) 0 0 0 00  SETSWH
DBG(5189022222)> CPU TRACE: 00321:000000|000202 4 000023002000 (DRL 000023) 000023 002(0) 0 0 0 00  TERMTP
DBG(5189029555)> CPU TRACE: 00321:000000|000211 4 000006002000 (DRL 000006) 000006 002(0) 0 0 0 00  DEFIL
DBG(5189032460)> CPU TRACE: 00321:000000|000230 4 000004002000 (DRL 000004) 000004 002(0) 0 0 0 00  KIN
DBG(5189034957)> CPU TRACE: 00321:000000|000311 4 000033002000 (DRL 000033) 000033 002(0) 0 0 0 00  PASUST
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License