THE WELCH COMPANY
440 Davis Court #1602
San Francisco, CA 94111-2496
415 781 5700
rodwelch@pacbell.net


S U M M A R Y


DIARY: July 24, 2004 09:55 AM Saturday; Rod Welch

Visit Morris to work on SDS.

1...Summary/Objective
2...Justify Op Failes Macro 49 000002


..............
Click here to comment!

CONTACTS 
0201 - Intel Corporation                                                                                                                                                  O-00000704 0201
020101 - Mr. Morris E. Jones;

SUBJECTS
Problem Program Failure 386 Cycles Get Command Profile May be Overlo
Medit Get Command Create Alternate with Parameters to Read in a File
Get Command Medit Fails after 386 Cycles May Indicate Cause of Medit
Get Command Improved with New Parameters to Specify Line Number to B
Memory Fails 386 Cycles Get E Commands Open Profile Each Pass Get Co

1107 -
1107 -    ..
1108 - Summary/Objective
1109 -
110901 - Follow up ref SDS 2 0000, ref SDS 1 0000.
110902 -
110903 - We did not make a lot of progress, but after the meeting developed a
110904 - partical solution for the justify op, ref SDS 0 KC48, and set up
110905 - simple test files that should enable Morris to investigate the recl,
110906 - split, join and get commands.
110908 -  ..
110909 - In a follow up call, Morris requested test files, and so these were
110910 - submitted via email, with the code shown below for get. ref SDS 0 U77M
110911 - and another for split and join. ref SDS 0 GL4F
110913 -  ..
110914 - Called and talked to Morris; he will work on the test files to try and
110915 - reduce the rate of program failure.
110917 -  ..
110918 - Scheduled task to call Morris on 040731 and discuss progress.
110919 -
110920 -
110921 -
110922 -
110923 -
110925 -  ..
1110 -
1111 -
1112 - Progress
1113 -
111301 - Test scenarios are in the record on 031114. ref SDS 1 0001
111302 -
111303 - A few days later decided to simplify the test method with the
111304 - following code in test macro tg1 that operates on test data file
111305 - tg2....
111306 -
111307 -       *  debug 100
111308 -       e zz
111309 -       errorcnt 0 0
111310 -       top
111311 -       * recl 3000
111312 -       loc_cur 6 0
111313 -       setcnt 149 0
111314 -       -label ts1
111315 -       -gosub lptst
111316 -       addcnt 149 1
111317 -       *                          Fails on 118 cycles recl 3000
111318 -       *                          Fails on 378 cycles recl 400
111319 -       *                          Fails on 385 cycles recl 264 (default)
111320 -       -if @149 < 385 -goto ts1
111321 -       debug 100
111322 -       -goto ts1
111323 -       -label lptst
111324 -       immed 10d
111325 -       line 10
111326 -       get t2 2 10
111327 -       line 1
111328 -       -return
111330 -  ..
111331 - The test data file tg2 can have almost anything in it.  The file was
111332 - constructed by opening the SI for "Research" and opening the section
111333 - on Management Science and saving the file to the disk as tg2.  The
111334 - file was then edited to only contain about 20 or so lines, because the
111335 - test only operates on getting about 8 or 9 lines over and over.
111337 -  ..
111338 - Notes:
111339 -
111340 -      1.  recl 300 and 115 cycles, user can end loop with Medit dash
111341 -          key, and then press ESC twice and session is closed.  with
111342 -          116 cycles, press ESC twice and system crashes.
111343 -
111344 -
111345 -
111346 -
111347 -
111348 -
111349 -
111350 -
111351 -
111352 -
1114 -

SUBJECTS
SDS Analyse Documents Truncated Lines Longer than 360 Recl of SDS Re
Recl Problem Reading Files into SDS Records for Analysis Data Trunca
Analyse Documents in SDS Notify Change Design Compromise Accomodate
Documents Analyse in SDS Lines Longer than 360 Recl of SDS Record ar

2306 -
230701 -  ..
230702 - Justify Op Failes Macro 49 000002
230703 -
230704 - Follow up ref SDS 2 XE82.
230705 -
230706 - We can set up some test para for various conditions and try to isolate
230707 - the particular command that is failing, then Morris can look at that
230708 - command -- hopefully.
230710 -  ..
230711 - Developed test code on file with 100 lines to justify with macro 49
230712 -
230713 -        * debug 100
230714 -        e tt
230715 -        errorcnt 0 0
230716 -        macro 150
230717 -        z 1 1
230718 -        l /</
230719 -        -label lp1
230720 -        macro 49
230721 -        addcnt 140 1
230722 -        -if @140 < 7 -goto lp1
230723 -        * debug 100
230724 -        @c:\sd\03\000002 #80
230725 -        -exit
230727 -  ..
230728 - With params below, the code is failing on cycle 7, when...
230729 -
230730 -        -if @140 < 8 -goto lp1
230732 -  ..
230733 - But, when
230734 -
230735 -        -if @140 < 7 -goto lp1
230736 -
230737 - ...we can break into macro 36, and run debug.
230739 -  ..
230740 - Line 930, ref OF 2 6V4N, -label nxTLnE  n 000002
230741 -
230742 -    Testing debug here on line 77 cycle 11
230743 -
230745 -  ..
230746 - Line 790, ref OF 2 5F9H, -label frmsdi under Macro 49 in 000002
230747 -
230748 -      macro 79.................................. ref SDS 0 KC8P
230749 -    savescr 19
230750 -    aw
230751 -
230752 -        Call macro file code to test.
230754 -         ..
230755 -        Discovered today that code in macro 79 is failing on a split
230756 -        command, which has a bunch of other commands that can be
230757 -        accomplished more directly without using split and join, by
230758 -        using aw command.
230760 -         ..
230761 -        Eliminated macro 79
230763 -         ..
230764 -        Making this change increased the number of test cycles the code
230765 -        will run before failure on test data to justify a para with 100
230766 -        lines from 5 to about 50.  This 10 fold improvement may be good
230767 -        enough for a practical solution to reduce the incidence of
230768 -        losing work with untimely system crashes.
230769 -
230770 -
230772 -  ..
230773 - Line 800, ref OF 2 F65J, -label cfrmsdi in 000002
230774 -
230775 -    setcnt 139 86
230776 -    macro 34
230777 -
230778 -        Split within margins...
230780 -         ..
230781 -        Setup debug 100 for macro 34
230782 -
230783 -
230784 -
230786 -  ..
230787 - Line 1000, ref OF 2 UR5L, -label dmsm36 in 000002
230788 -
230789 -    macro 36
230790 -
230791 -        Join within margins...
230792 -
230793 -        This command is failing on cycle
230794 -
230796 -  ..
230797 - Line 2330, ref OF 1 N24F, -label sisdf in 000001
230798 -
230799 -    split
230800 -
230801 -        This is part of macro 34 to split within margins.
230802 -
230803 -        Getting consistent failure at this location.
230804 -
230806 -  ..
230807 - Line 2470, ref OF 1 E19F, -entry 36 in 000001
230808 -
230809 -    -entry 36
230810 -    split
230811 -
230812 -        Debug testing split command; code does not seem to be failing
230813 -        on this split command.
230815 -         ..
230816 -        Actually, further testing seems to show that split and joint
230817 -        will fail by themselves at about 5000 cycles. ref SDS 0 GL4F
230819 -  ..
230820 - Line 90, ref OF 3 U64G, -entry 79 in 000003
230821 -
230822 -    -entry 79
230823 -    .....
230824 -    split
230825 -
230826 -        Getting consistent failures on this split command, so decided
230827 -        to try eliminating calling macro 79 in macro 49, per above.
230828 -        ref SDS 0 KC48
230829 -
230831 -  ..
230832 - A few days later developed a test file for Morris, ts1, with the
230833 - folling test code....
230834 -
230835 -       *  debug 100
230836 -       e ts1
230837 -       **
230838 -       **          Morris can vary the recl command....
230839 -       **
230840 -       recl 267
230841 -       top
230842 -       errorcnt 0 0
230843 -       z 1 1
230844 -       l /</
230845 -       loc_cur 4 33
230846 -       setcnt 10 0
230847 -       **                         recl 3000 fails on 5003 cycles
230848 -       **                         recl 1000 fails on 5003 cycles
230849 -       **                         recl 267 fails on 5002 cycles
230850 -       -label lp1
230851 -       split
230852 -       join
230853 -       addcnt 10 1
230854 -       -if @10 < 5001 -goto lp1
230855 -       debug 100
230856 -       -goto lp1
230858 -        ..
230859 -       This is a test of the split and join commands to see if it will fail based on
230860 -       different settings for recl.
230862 -  ..
230863 - In a call on this matter, Morris indicated that split and join should
230864 - run in an endless loop.
230866 -  ..
230867 - Scheduled task to call Morris on 040731 and discuss progress.
230868 -
230869 -
230870 -
230871 -
230872 -
230873 -
230874 -
230875 -
230876 -
230877 -
230878 -
230879 -
230880 -
230881 -
230882 -
230883 -
230884 -
230885 -
230886 -
230887 -
230888 -
230889 -
230890 -
230891 -
230892 -
230893 -
230894 -
230895 -
230896 -
230897 -
230898 -
230899 -
230900 -
230901 -
230902 -
230903 -
230904 -
2310 -
Distribution. . . . See "CONTACTS"