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
+------------------------------------------------------------------------