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/