Hi there,

We have just upgraded both Universe and System Builder, going from UV
10.1.8 to 10.2.0 and from SB+ 3.4 to 5.4.

Because the SB+ common block changed slightly, I had to recompile all
programs that referenced it.  However, I have discovered that not all
the source code was on the production system.  I wanted to verify that
the development code was valid, but VLIST did not work properly.

When I try VLIST, it seems to get the testfw jump wrong on line 22 (or
24 in the development version).  From then on it gets stranger and
stranger until it falls over.  It looks like it gets out of step
somehow.

I realise it's not something anyone on the list can help with, but has
anyone else noticed VLIST is more fragile in UV version 10.2?

The development version of the source code and the VLIST from production
are below.  Don't bother criticising it - you can't be more scathing
than me because I've had more practise.

Regards (and thanks), Keith


        001: $OPTIONS -F     ;*WR631
        002:       SUBROUTINE LWPINP.INTERVAL.SEQ
        003:
******************************************************************
        004: * Description of subroutine
        005: * Used for documentation purposes (including auto
documentation)
        006:
******************************************************************
        007: *
        008: $INCLUDE DMSKELCODE COMMON
        009:       EQU AM TO CHAR(254), VM TO CHAR(253)
        010: *
        011: *PARAM(3) = 0
        012:  ORIG.REC = 0
        013:       INTERVAL.SEQ = WORK<3>
        014:       LWOP.INTERVAL = 0
        015:       LWOP.INTERVAL.FILE = ''
        016:       OPEN.OK = @FALSE
        017:       CALL PAN.FILE.HANDLE ('LWOP.INTERVAL', LWOP.INTERVAL,
LWOP.INTERVAL.FILE, OPEN.OK)
        018:       IF NOT(OPEN.OK) THEN
        019:          CALL SB.DISP (3, 'Can not open the file
LWOP.INTERVAL')
        020:          RTN.FLAG = 1
        021:       END
        022:       FOUND = @TRUE
        023:       BEGIN CASE
        024:          CASE INTERVAL.SEQ = ''
        025:             KEY = WORK<1>: '|': WORK<2>: '|'
        026:             SEQ = 1
        027:             LOOP
        028:                READV DUMMY FROM LWOP.INTERVAL.FILE, KEY:
SEQ, 1 ELSE FOUND = @FALSE
        029:             WHILE FOUND DO
        030:                SEQ += 1
        031:             REPEAT
        032:             KEY = KEY: SEQ
        033:             WORK<3> = SEQ
        034: *           PARAM(3) = 1
        035:  ORIG.REC = 1
        036:          CASE INTERVAL.SEQ = 'L'
        037:             KEY = WORK<1>: '|': WORK<2>: '|'
        038:             SEQ = 1
        039:             LOOP
        040:                READV DUMMY FROM LWOP.INTERVAL.FILE, KEY:
SEQ, 1 ELSE FOUND= @FALSE
        041:             WHILE FOUND DO
        042:                SEQ += 1
        043:             REPEAT
        044:             KEY = KEY: SEQ - 1
        045:             WORK<3> = SEQ - 1
        046:          CASE 1
        047:             KEY = WORK<1>: '|': WORK<2>: '|': WORK<3>
        048:             READV DUMMY FROM LWOP.INTERVAL.FILE, KEY, 1
ELSE FOUND = @FALSE
        049:             IF NOT(FOUND) THEN
        050:                CALL SB.DISP (3, KEY: ' not on the LWOP
INTERVAL file')
        051:                RTN.FLAG = 1
        052:             END
        053:       END CASE
        054:
        055:       RETURN



>VLIST SFPROGS LWPINP.INTERVAL.SEQ
Subroutine "SFPROGS.O/LWPINP.INTERVA/L.SEQ"
Compiler Version: 8.3.3.1
Object Level    : 5
Machine Type    : 10
Local Variables : 12
Subroutine args : 0
Unnamed Common  : 0
Named Common Seg: 1
Object Size     : 540
Source lines    : 52
Object Date Time:
00011 00000 : 060 dyn_extract    WORK 3 0 0  => INTERVAL.SEQ
00012 0000C : 0F8 move           0  => LWOP.INTERVAL
00013 00012 : 0F8 move           ""  => LWOP.INTERVAL.FILE
00014 00018 : 0F8 move           0  => OPEN.OK
00015 0001E : 0F8 move           "LWOP.INTERVAL"  => _T0000
00015 00024 : 01E call           "PAN.FILE.HANDLE" _T0000 LWOP.INTERVAL
LWOP.INTERVAL.FILE OPEN.OK
00020 0005C : 0F8 move           1  => FOUND
00022 00062 : 06E eq             INTERVAL.SEQ ""  => $R0
00022 0006A : 2DE testfw         $R0 00000:
00023 00074 : 0F4 mmatstore       [97]  => WORK
00023 0007A : 018 braces         0 0  => $R0
00023 00082 : 060 dyn_extract    WORK 2 0 0  => $R1
00023 0008E : 104 multi_cat      $R0 "|" $R1 "|"  => KEY
00024 0009C : 0F8 move           1  => SEQ
00026 000A2 : 03A concat         KEY SEQ  => $R0
00026 000AA : 272 reapv          LWOP.INTERVAL.FILE $R0 1  => DUMMY
00026 000B4 : 0C8 jumpt          000BE:
00026 000BC : 0F8 move           0  => FOUND
00027 000C2 : 2DE testfw         FOUND 00000:
00028 000CC : 0D8 lockelse       OPEN.OK
00028 000D0 : 009 and            1 SEQ  =>  [195]
00029 000D8 : 000 abort
00029 000DA : 000 abort
00029 000DC : 0A0 ge              [59] KEY  => SEQ
00030 000E4 : 00D atan            [101]  => WORK
00030 000EA : 010 bitand         0 0  => SEQ
00031 000F2 : 00E atinput         [195] $MATRIX  [537]  [111]
INTERVAL.SEQ
00031 000FE : 01C calculate      $R0  =>  [735]
00032 00104 : 015 bitor          $MATRIX  [405]  =>  [97]
00032 0010C : 00E atinput        1 0 0 $R0  [97]
00032 00118 : 00E atinput        2 0 0 $R1  [261]
00033 00124 : 004 add            $R0 "|"  => $R1
00033 0012C : 019 braces         KEY  [249]  => 1
00033 00134 : 009 and             [59] KEY  => SEQ
00033 0013C : 015 bitor           [627] LWOP.INTERVAL.FILE  => $R0
00033 00144 : 018 braces         DUMMY  [201]  => $MATRIX
00034 0014C : 14E readu           [249] 0  => FOUND
00036 00154 : 2DE testfw         FOUND 00000:
00036 0015C : 168 rnd            OPEN.OK  => SEQ
00036 00162 : 018 braces         SEQ  [195]  => $MATRIX
00036 0016A : 000 abort
00036 0016C : 130 printcrlf      SEQ 1 $R0  [59] KEY $R0 KEY  [405] SEQ
1 $R0  [101] WORK 3 0 0 $R0 WORK  [195] $MATRIX  [537]  [735] 1 $MATRIX
[537]  [97] WORK 1 0 0 $R0  [97] WORK 2 0 0 $R1  [97] WORK 3 0 0 $R2
[261] _T0000 $R0 "|" $R1 "|" $R2 KEY  [627] LWOP.INTERVAL.FILE KEY 1
DUMMY  [201] $MATRIX  [487]  [249] 0 FOUND  [271] FOUND $R0  [735] $R0
$MATRIX  [531]  [249] 3 _T0003  [59] KEY " not on the LWOP INTERVAL
file" _T0004 " not on the LWOP INTERVAL file" "SB.DISP" LWOP.INTERVAL
_T0003 _T0004  [249] 1 RTN.FLAG  [195] $MATRIX  [537]  [349]  [349]
$MATRIX INTERVAL.SEQ $MATRIX  [207]  [84]  [16977]  [19542] Abnormal
termination of UniVerse.
Fault type is 11.  Layer type is Unknown.
Program "/usr/ibm/uv/bin/vlist" terminated.  [SIGSEGV] segmentation
violation
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to