Hello there,

I tried to generate report with +C"OUTPUT COMPUTER" directive in Alpha
OSF1 Tru64 5.1A.
And I got the following run-time error:

$ ./analog +C"OUTPUT COMPUTER" 
x       VE      analog 6.0
x       HN      [my organisation]
x       PS      2005    09      26      10      44
x       FR      1999    12      31      10      11
x       LR      2000    01      04      13      11
x       SR      46
x       PR      44
x       FL      2
x       RR      2
x       NF      4
x       NH      2
x       BT      49918
m       RP      Floating exception(coredump)


When I debugged the core file using "ladebug",

$ ladebug ./analog core
Welcome to the Ladebug Debugger Version 65 (built Apr  4 2001 for Compaq
Tru64 UNIX)
------------------
object file name: ./analog
core file name: core
Reading symbolic information ...done
Core file produced from executable 'analog'
Thread terminated at PC 0x12004d174 by signal FPE

(ladebug) where

>0  0x12004d174 in barchart(outf=0x3ffc0080088, od=0x14002ed18,
graphby='P', reqs=Info: no allocation applies for symbol reqs at the
current PC <no value>, pages=11, bys=13574, unit=0) "output2.c":716

#1  0x12004dfb0 in printcols(outf=0x3ffc0080088, od=0x14002ed18,
rep='\002', reqs=11, reqs7=0, pages=11, pages7=0, bys=13574, bys7=0,
index=-1, level=Info:
no allocation applies for symbol level at the current PC <no value>,
totr=46, totr7=0, totp=44, totp7=0, totb=49918, totb7=0,
width=0x11fffbe10, bmult=0, bmult7=1, unit=0, name1st='\300',
rightalign='\000', name=0x1400c2d80="1999\t12", ispage='\000', spaces=0,
linkhead=0x0, baseurl=0x0, datefmt=0x1400c7020="%Y%\b%M", timefmt=0x0,
date=1, hr=80, min=1094, date2=365, hr2=2, min2=1094) "output2.c":896

#2  0x120044e90 in timerep(outf=0x3ffc0080088, od=0x14002ed18,
rep='\002',
dman=Info: no allocation applies for symbol dman at the current PC <no
value>,
granularity=Info: no allocation applies for symbol granularity at the
current PC <no value>) "output.c":275

#3  0x120048068 in output(od=0x14002ed18, gooditems=0x1400dbf80,
baditems=0x1400dbfc0, dman=0x14002ecb0, arraydata=0x14002e830,
sumdata=0x14002fcf8, totbytes=49918, totbytes7=0, datacols=0x14002e848,
data2cols=0x14002e944, no_cols=0x14002e998, granularity=0)
"output.c":741

#4  0x12001d620 in main(argc=2, argv=0x11fffc018) "analog.c":148

#5  0x1200194a8 in __start(0x3ffc0080088, 0x14002ed18, 0x50, 0x50, 0xb,
0x0) in ./analog

The problem is due to div. by Zero, since unit variable (double type)
in barchart() function of output2.c has a zero.

Then I changed the following in output2.c,
$ diff -r output2.c.new output2.c
715,716c716
<  if(unit){
<  x /= unit;}
---
>   x /= unit;

It seems to work fine. The report if fully generated. 
Is this a possible bug ??

--
Rajesh R

+------------------------------------------------------------------------
|  TO UNSUBSCRIBE from this list:
|    http://lists.meer.net/mailman/listinfo/analog-help
|
|  Analog Documentation: http://analog.cx/docs/Readme.html
|  List archives:  http://www.analog.cx/docs/mailing.html#listarchives
|  Usenet version: news://news.gmane.org/gmane.comp.web.analog.general
+------------------------------------------------------------------------

Reply via email to