[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference clt::cobol

Title:VAX/DEC COBOL
Notice:Kit,doc,performance talk info-->DIR/KEY=KIT or DOC or PERF_TALK
Moderator:PACKED::BRAFFITT
Created:Mon Feb 03 1986
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3250
Total number of notes:13077

3237.0. "MULTIPLY GIVING gives incorrect results" by GIDDAY::GILLINGS (a crucible of informative mistakes) Wed Apr 30 1997 00:01

    I'm sure I've read something about this problem recently, but I can't
    find it here or in DEC_COBOL_IFT (must have a poorly chosen title :-(
    
    The following program produces incorrect results under DEC COBOL on
    Alpha. I've tried DEC COBOL T2.4-909 and DEC COBOL V2.3-795 with
    the same results. /NOOPT and /CHECK=ALL don't make a difference. The
    program produces expected results under VAX COBOL V5.2-35.

    I'm running OpenVMS/Alpha V6.1 with DEC$COBRTL V2.0-104 and V2.4-176,
    customer reports the same problem under OpenVMS/Alpha V7.1 with
    DEC COBOL V2.4-863 and DEC$COBRTL V2.4-109.
    
IDENTIFICATION DIVISION.
PROGRAM-ID. dummy.

DATA DIVISION.
WORKING-STORAGE SECTION.

01  b pic 9(5)v9(4) comp.
01  c pic 9(3)v9 comp.

PROCEDURE DIVISION.

000-main.

    move 88001.0000 to b.
    move 1.0 to c.
    multiply b by c giving b.
    display b with conversion.
    stop run.

$ run mult
 2101.6540

   The customer says that any number greater than half the maximum
   representable number of the destination field gives bad results.

   Note that this is a "show stopper" for an important application of
   a very large customer. Given COBOL engineering's excellent record for
   responsivness, I'm posting this note to try and avoid excessive
   paperwork. I'll escalate an IPMT case if it will help or there is
   no timely response.

   Although there are workarounds such as "multiply b by c" instead of
   using the "giving" clause, the affected code is a port of "millions
   of lines" (isn't it always?) so the customer doesn't want to change
   anything.
						John Gillings, Sydney CSC
                                                                         
T.RTitleUserPersonal
Name
DateLines
3237.1It's a bugDJS::SZYMANSKIWed Apr 30 1997 17:114
This is a bug in the front end that we've never seen before, although it has 
been in the product for years.  Thanks for the small reproducer.  We're
working on it, but we haven't found a useful workaround that doesn't involve
changing the application sources.
3237.2IPMT necessary?GIDDAY::GILLINGSa crucible of informative mistakesWed Apr 30 1997 18:386
    Thanks for the response. Do I need to IPMT this? I'm under fairly heavy
    pressure to escalate the problem due to the size and weight of the
    customer and the perceived seriousness of the problem. I know most
    language groups like to just get on and fix the compiler, rather than
    deal with the paperwork.
    						John Gillings, Sydney CSC
3237.3We'll post a note here when we have a compiler fixPACKED::BRAFFITTWed Apr 30 1997 21:5414
>    Thanks for the response. Do I need to IPMT this? I'm under fairly heavy
    
    Time spent dealing with the IPMT slows down our ability to fix the
    problem.  When a note is posted, we need to know the seriousness of the
    problem to the customer, but we don't need an IPMT to get this
    information.  The IPMT often obscures the key information we need.
    .0 is a good example of the information we need.
    
>    customer and the perceived seriousness of the problem. I know most
>    language groups like to just get on and fix the compiler, rather than
>    deal with the paperwork.
    
    Exactly, but some engineering groups have different preferences in
    terms of IPMT cases.
3237.4response sent by MAILGIDDAY::GILLINGSa crucible of informative mistakesThu May 01 1997 00:584
    OK, I'll try and hold off the IPMT case as long as I can... Lots of
    political pressure. I've sent a customer impact statement to Don
    directly.
    						John Gillings, Sydney CSC
3237.5Compiler fix testing in progressPACKED::BRAFFITTThu May 01 1997 16:163
    We're testing a compiler fix for this now.  We'll post a reply here
    tomorrow morning once we've gotten through 1000+ tests in our
    regression test system.
3237.6Digital engineering, best and fastest there is!GIDDAY::GILLINGSa crucible of informative mistakesThu May 01 1997 19:134
    Thanks! I knew you'd be able to do it faster than raising an IPMT.
    I'm sure your regression will work too. I look forward to sending the
    customer a network kit over the weekend.
    						John Gillings, Sydney CSC
3237.7Fixed with 2.4-913 compilerPACKED::BRAFFITTFri May 02 1997 07:5813
    We have a fix for this problem in the compiler.
    
    2.4-913	A compiler problem has been corrected where a MULTIPLY
    		or a multiply operation within an expression using all
    		COMP operands could get wrong results.
    
    We plan to include this fix in the next DEC COBOL V2.4 bug fix kits for
    OpenVMS Alpha currently scheduled to be avaiable on the network the
    week of 16-Jun.
    
    Directory CLT::CLT$LIBRARY:[DEC_COBOL]

    COBOL.EXE;913         10452   1-MAY-1997 14:25:43.04
3237.8I hope the customer appreciates this as much as IGIDDAY::GILLINGSa crucible of informative mistakesFri May 02 1997 09:183
    Thanks heaps! Copying as I type, then to the customer via DSNlink.
    
    						John Gillings, Sydney CSC
3237.92.4-914PACKED::BRAFFITTTue May 06 1997 07:5772
From:	PACKED::BRAFFITT "06-May-1997 0640"  6-MAY-1997 06:57:47.39
To:	SNOFS1::RASMUSSEN
CC:	BRAFFITT
Subj:	RE: CLT::COBOL 3237 and release 2.4-913

>	They have asked if we can supply a list of changes made since release
>COBOL 2.4-909. I know this is something that is normally in the release notes
>and this is not a formal release. We (local account team and ASX) would
>appreciate it if you could mail/fax me a discription of the problems fixed
>since -909 and included in -913 supplied. I will do any "customizing" necessary.

We've found one difference so far in our -913 testing in an area where
undefined results are expected.  Even though the customer should not expect the
same undefined results from version to version (or from VAX COBOL to DEC
COBOL), we would prefer that you give the customer the -914 compiler which
eliminates this one case of differences in undefined results as compared with
-909.

I reviewed the other compiler checkins since -909.  Other than the -913/-914
checkins, the compiler checkins since -909 are specific to the A/WNT compiler
which is in field test.  With the -914 compiler on A/VMS, the only visible
change that a customer should see as compared with the -909 compiler is the
result of the BUG 4193 fix, so the complete set of release notes for -914 A/VMS
beyond -909 is

    2.4-914	A compiler problem has been corrected where a MULTIPLY
    		or a multiply operation within an expression using all
    		COMP operands could get wrong results.

    Directory CLT$LIBRARY:[DEC_COBOL]

    COBOL.EXE;914         10452   2-MAY-1997 11:15:37.79

Note that we are currently testing the -914 compilers on all three Alpha
platforms (A/VMS, A/UNIX, and A/WNT), so the -913/-914 checkins are getting a
much broader set of testing by our team than if we justed tested on A/VMS.  The
bug reported in CLT::COBOL 3237 was in common compiler code and impacted all
three platforms, so that is why it is important for us to test the fix for all
three platforms.

- Don

From:	SNOFS1::RASMUSSEN     6-MAY-1997 02:00:25.34
To:	GIDDAY::GILLINGS,PACKED::BRAFFITT
CC:	
Subj:	CLT::COBOL 3237 and release 2.4-913

Don,

RE: CLT::COBOL note 3237 and COBOL release 2.4-913

	Thank you very much for your help. The customer is very pleased and is
in the process of formally expressing this.

	They have done some initial testing with positive results. Since the
Cobol Compiler has changed since they started testing they must now revisit 
their test suite.

	They have asked if we can supply a list of changes made since release
COBOL 2.4-909. I know this is something that is normally in the release notes
and this is not a formal release. We (local account team and ASX) would
appreciate it if you could mail/fax me a discription of the problems fixed
since -909 and included in -913 supplied. I will do any "customizing" necessary.

Again thanks and regards

Wayne

PS if it will save you time/effort please feel free to fax handwritten
material.

Fax 61-2-95616161 or DTN 730 6161